2

我正在尝试显示一组我从服务器检索并且无法更改的嵌套网格。到目前为止,网格有点不寻常,旋转和位置都在局部坐标中,但缩放都在全局坐标中。

理想情况下,我更愿意通过将子网格添加到 THREE.Mesh 来维护层次结构,但是层次结构被展平的解决方案也是可行的。

我的问题是,简单地添加子网格会使子网格的大小爆炸:

this.add(child);

会使孩子和孩子的孩子的体积太大,因为服务器假设缩放信息没有被继承。

我试过一个简单的:

child.scale.divide(this.scale);
this.add(child);

但这不起作用,我认为这是因为THREE.Object3D'smatrix被定义为 [Rotation x Scale x Translation]。

我的线性代数有点生疏,有人可以给我一些关于如何调整孩子的缩放向量的指示吗?

4

1 回答 1

2

以正确的层次顺序添加对象,将比例设置为 (1, 1, 1),然后使用以下命令将每个对象的几何图形放大到正确的全局大小:

geometry.scale( s, s, s );

三.js r.86

于 2013-06-20T20:54:01.337 回答