static mesh allows clean arcs for fast motion (clearly encircles hit_area for gameplay design as well) and will often need to be hand keyd with characters after imported into unity. keys are divided based on reuse triggered with mechanim(state-machine) and also to clean the division of labour between front_end / techart and vfx. when things change we want it to impact the least number of workers hours
1 anim ‘flash_’ - the on-off fade /tinting +any other material keys, scrolling etc … usually many of these are created with colors and timing on the arc prefab
1 anim ‘swing_’ = rotate a container, the mesh will be instantiated into this – the rotation will create the arc motion, usually only a few are needed for 90, 180, 360 w/ loop. again this is added in the mesh prefab
1 anim key ‘align’ = a container utilized in characters prefab to get VFX including ‘swing’ into the plane of action (diagonal, horizontal, vertical) – only needed if the character has numerous action animation. the less dynamic the less you need to align but usually for the future this type of setup is helpful
all of these anims are called in mechanim/state-machine. when characters execute a motion, pooling logic puts the mesh ‘flash’ into ‘swing’ onto the character and aligns it with the container, or inside it’s container if it needs local tracking motion
other VFX can be part of the align - these play simultaneously, or action triggers for pre-warm, and follow through’s. The align anim can cease updates just after the first frame.
pooling logic is used to migrate deactivated version(s) to characters when needed (rather than continuously update as multiple instances in every character) this way if 3 warriors have 6 different, single-swing attacks-- The maximum pooled into the world is 6 if all warriors do an attack at the same time… rather than x3 warriors needing each 6 on them == 18 instances
the same logic is used on VFX in general. no need to put your ‘fireball’ onto every character that can cast fireball. you’d want pooling to bring in the maximum number of instances needed. and when you want unique things added per character these are often placed in the character prefab, ( its own prefab played simultaneously through the state machine)
imho the build machine would strip out unique prefab as it’s own bundle and add it through front-end gameAnimation logic - as well as pooling logic; This is because should multiple people play the same character/ future-proofing the games ability to scale with assets
however… often much of the above may need to be flattened to save load time. it is always an agile dance in production.