我正在尝试显示一组我从服务器检索并且无法更改的嵌套网格。到目前为止,网格有点不寻常,旋转和位置都在局部坐标中,但缩放都在全局坐标中。
理想情况下,我更愿意通过将子网格添加到 THREE.Mesh 来维护层次结构,但是层次结构被展平的解决方案也是可行的。
我的问题是,简单地添加子网格会使子网格的大小爆炸:
this.add(child);
会使孩子和孩子的孩子的体积太大,因为服务器假设缩放信息没有被继承。
我试过一个简单的:
child.scale.divide(this.scale);
this.add(child);
但这不起作用,我认为这是因为THREE.Object3D
'smatrix
被定义为 [Rotation x Scale x Translation]。
我的线性代数有点生疏,有人可以给我一些关于如何调整孩子的缩放向量的指示吗?