- Home /
Problem moving static batch root when using StaticBatchingUtility.Combine
Hi so... according to the Unity documentation, I should be able to move the staticbatchroot object after calling StaticBatchingUtility.Combine.
Currently, at runtime, I instantiate a pool of prefabs, apply their lightmaps and call combine on the root prefab object before disabling them.
Then, when needed, I move the root object into position and re-enable them. This seems to stop them from statically batching.
If I move them into place and call combine all works fine but obviously this causes performance issues during play (and I generate levels on the fly constantly.)
Any ideas on the correct way to use Combine and move the root object without the batching breaking?
Thanks!
Still no luck with this... Does the documentation here not mean what I interpret it as?
Once combined children can NOT change their Transform properties, however staticBatchRoot can be moved
I'm moving the staticBatchRoot but obviously that changed the child positions within it?
Answer by AngryMuppet · Aug 28, 2015 at 07:02 AM
I have Ben Stoneman at Unity to thank for this one who wrote some sample script and I saw the problem in my code.
I was instantiating my prefabs, disabling them in the hierarchy and then calling Combine - looks like all object have to be active before you can call Combine!
Yeah, I found the same thing out independently. (that the objects you want to batch must be active before calling the Combine method)
Your answer
Follow this Question
Related Questions
Procedural meshes: static batching seemingly inoperative. Cause? 1 Answer
Static Batching at Runtime 2 Answers
Static Batching with LOD Meshes/GameObjects & Other Questions 1 Answer
Handle Many Characters that have skinned mesh renderer 0 Answers
Will calling setActive on static objects cause overhead? 0 Answers