Strategy to dynamically create models at run-time for procedural animation.
Alias refers to uniquely modified instances of objects specified by name only. For instance, 12 entities could have a model named "windmill.mdl", yet an internal reference is made to alias 1-12 of the "windmill.mdl" branch in the scene rendering system(different objects, same assets.) Thus, if an object with no modifications is spawned(such as a static prop,) alias 0 is all that's needed; it can be re-used at no extra cost.
Any time a request is made to change a model or its sub-components, a unique alias is generated if the current alias is 0. In the case of our 12 windmills, each is tracking its own keyframe in the articulation program, so a unique object is required to maintain the state variables.
Initial Conditions: 50 Entities(Game-side) using "human.mdl". All begin by referencing a single Model, loaded(Display-side) from file "human.mdl"
Actions Taken: Game sets 25 of the Entities' Models to have a blue(Filter) metallic(Sample) head(Mesh)
Expected Results: All Entities should still report "human.mdl" as their Model Name, but the 25 Entities that were changed should have referenced a unique Model object replicated for the changes requested.
1. Can/Should this be serialized?
2. Can the operation be done efficiently for a group of entities?