194 - Splitting the ArmatureState Component's Runtime Data Out
Channel: StableCoder
Date: 07/03/2023

This session focuses on the requirement to properly split ArmatureState data that can be exported from that which is only required at runtime.

The ArmatureState component as it stood had a confusing melding of both data that could be imported/exported from the runtime, as well as runtime-only data that was created only after being run through the ArmatureSystem. The runtime data was that which was derived from the exportable data, the armature and animation declarations, which would be calculated into per-bone matrix data which would then be used by other systems, notably the current RenderSystem. However, this could very much lead to issues when scaled up as performing the matrix math is relatively slow.

To that end, a requirement is that only a desired subset of all ArmatureState components should have calculated runtime data on an as-needed basis. The easiest way to do this is to create a new component called AnimatedBoneState. That way, other systems don't need to watchall of the original ArmatureState components in existence, but only those that have been flagged as required and been calculated. The way to flag such items has not yet developed, but the basic ideas are there and being worked on.

--

2023/02/19