Align with (BitPack→Base64) RefVec Artifact


ASTER::ACTION::ALIGN::via RefVec Snapshot (BitPack→Base64)

Aligner les instances en utilisant la chaîne B64E dérivée du mvt.RefVec compressé avec BitPack.
(reserved variable not used)

Lors de l'exécution de l'application CF25, les coordonnées de l'instance de l'objet sélectionné sont alignées et modifiées.

Seuls les types d'objets sprite (Actif) peuvent être sélectionnés.


Utiliser le Reference Vector utilisé par MoveTowards comme coordonnées de placement des instances, et placer les instances.

Cependant, cette fonctionnalité ne référence pas mvt.RefVec directement ; elle adopte une méthode consistant à convertir préalablement mvt.RefVec en données binaires, puis à reconstituer les coordonnées de référence à partir d’une chaîne encodée en Base64.


Connexe:

alt text alt text

Les données de coordonnées de référence restaurées par la fonction Align sont temporairement stockées sous forme de std::vector dans une zone distincte de mvt.RefVec (type de données : std::deque). Ce stockage temporaire est réservé à Align et n’interfère pas en mémoire avec mvt.RefVec.


Parameter.1

Sélectionnez l'instance de l'objet. Seul le type "Objet (sprite) Actif" peut être sélectionné.

Description of the image

Si "The Active Object" n'est pas spécifié, une erreur sera affichée lors de l'exécution de l'action à partir de l'événement, et le processus sera interrompu.


Parameter.2

"CQAAADwBAABWAAAAAL6+AL5Cvr4AAABCAL5CAEJCQg=="

Dans l’éditeur d’expressions CF25, deux méthodes sont disponibles :

  • Coller et soumettre directement une chaîne Base64.
  • Spécifier une référence de données externe pour récupérer les données.

Cependant, l’éditeur impose une longueur maximale pour les chaînes collées, et la longueur d’une chaîne Base64 augmente avec la quantité de données de coordonnées, ce qui peut dépasser cette limite.
Pour cette raison, il est recommandons de spécifier une référence de données externe comme méthode fiable pour transmettre les données sans être affecté par les limites de taille.

Lors de l’encodage des données binaires du Reference Vector en Base64, la taille des données augmente d’environ +33% si aucune compression n’est appliquée au préalable.

Avec la compression BitPack, les valeurs numériques sont analysées avant la conversion binaire. Par exemple, des nombres de 4 octets peuvent souvent être réduits à 12 octets grâce à la minimisation des types et au codage différentiel. Cela permet d’obtenir des taux de compression de 50% ou plus, selon le jeu de données.

Après cette compression, l’encodage en Base64 ajoute environ +33% par rapport à la taille compressée. En conséquence, comparée aux données binaires non compressées, la chaîne Base64 finale est généralement 40–60% plus petite au total, tout en restant facilement décodable.

Le temps nécessaire au décodage Base64 est proportionnel à la longueur de la chaîne et largement indépendant du contenu des données. Ainsi, même si le taux de compression varie selon le jeu de données, raccourcir la chaîne Base64 contribue toujours à accélérer le décodage.


Notes

En dehors de Align: RefVec B64E BitPack, la fonction Align d’ASTER propose les variantes suivantes :

Ces fonctions, à partir des paramètres :

  • Calculent successivement les coordonnées de placement et disposent les instances
  • Utilisent la Variable A (0) de l’instance d’objet comme variable réservée

Elles intègrent une fonctionnalité qui attribue des numéros séquentiels aux variables en même temps que le placement des instances, et cette fonctionnalité ne peut pas être désactivée.

Align: RefVec B64E BitPack n’intègre pas la fonctionnalité d’attribution séquentielle.
  • Elle se contente de disposer les instances en utilisant les coordonnées de référence et n’utilise aucune variable réservée.