3D动画场景中的对象管理、旋转与相机应用
1. 场景图中的对象关系
在场景图中,可以存在两代子对象。每个 Object3D 实例都有 parent 属性,它指向该对象所在的 ObjectContainer3D 实例。一个3D对象只能有一个父对象,如果对一个已经在场景图其他位置添加过的对象执行 addChild() 方法,它会先从原位置移除,再添加到新的3D容器中。
例如,通过直接访问 children 数组,可以获取对象的子对象。像这样可以确认对象之间的祖孙关系:
// 假设 myGrandParent 是一个 ObjectContainer3D 实例
var mySelf = myGrandParent.children[0].children[0];
为了性能考虑,建议不要过度嵌套场景图对象。虽然嵌套可以在动画制作时避免复杂的数学计算,但深度嵌套的场景图需要更多的处理能力来渲染。优化场景时,仅在必要时嵌套对象,以避免不必要的性能开销。
移除场景图中的3D对象时,需要在该对象的直接父对象上执行 removeChild() 方法。示例如下:
// 假设 mySelf 是 myParent 的子对象
myParent.removeChild(mySelf); // 可行,myPare
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



