Very interesting - about 1:40:00 on the youtube video of the keynote. This looks like a skinned mesh combine, along with a texture atlas builder. Would be great if this was available at runtime.
It’s neither skinned mesh combine, nor texture atlas builder.
What it is: instead of having 70 (or whatever) game object hierarchy with Transform components on each, it keeps at that “internally” (in a nicely packed arrays for performance). Since we found out that in many cases it’s not the actual skinning or animation that’s costing time - it’s just recomputing the transform matrices from the hierarchy and sending update notifications to the transform components.
So what the optimization does, is it reduces the number of game objects in your rig. This means way fewer cache misses, smaller memory consumption, ability to multi-thread skinning matrices computation, and way less transform update notifications.
Awesome! Is it callable from runtime? I currently build my characters and attach them to the bones at runtime. (and swap out pieces for equipment change).
Given that, using this optimization, the GameObject hierarchy associated with the skeleton disappears from the hierarchy, how can we access up-to-date/animated bone transform info? Is there an alternative way to query these transforms?
I know this is a bit of a necro-post but I am curious about the optimize option also since currently I have game-objects that already have things attached (and they have scripts/fsms on them)
If I collapse them on the objects themselves as is, will all that information be preserved or would I have to set them up that way again? if I have to set them up again that’s not an issue but I’d like to know before I hit “apply” so that I can prepare what I need to prepare beforehand.