- Home /
Workflow for dynamic object Level of Detail (LOD)
I understand the concept of level of detail for static meshes; when the player is further away the triangle count/number of materials can be reduced since less detail is visible anyway. What I am wondering is how does the concept of LOD's apply to "dynamic objects" i.e. objects that are animated or changed via script. I have 2 specific examples which I'd like clarification on:
1) Animated skinned mesh - My player model is 2 separate (low and medium poly), rigged meshes parented into 1 gameobject. I plan to use the lower LOD for the player model during multiplayer situations, so if I see another player far away I will only see the low poly version. My question is this, how do I keep the two models (low poly & medium poly) consistent in their behaviour. For example, I understand that for scripts I could apply logic to the entire prefab the two LOD's are parented to, and so both LODs would be effected in the same way. But for animations I have to send logic to each LOD separately since both have a separate animation component. Is there any specific way I can ensure that both LODs are playing animations consistently so that every player prefab looks the same to other players whether they are close or far away to it.
2) Scripted prefab - I have a prefab of a destructible object which breaks at runtime based on certain conditions. This prefab also has 2 LODs. Again, is there a specific workflow I need to use to ensure that both LODs react consistently to scripts. For example, if I am far away and shoot at the low LOD how should I ensure that if the low LOD is broken, that when I get up close the medium LOD will be broken already as well?
Currently the only solution I can think of is to have both LODs parented to the same gameobject, but with each LOD on a different layer. That way either LOD can get culled by the camera based on distance, but the prefab is still one object for script purposes.
I am too looking for the same answer but not getting it experienced ones come out with the answer for this...