THREE.js:2xMeshes 使用相同的向量作为位置

Posted

技术标签:

【中文标题】THREE.js:2xMeshes 使用相同的向量作为位置【英文标题】:THREE.js : 2xMeshes using same vector as position 【发布时间】:2015-01-10 10:10:46 【问题描述】:

刚刚在 ThreeJS 中从 r67 - r69 进行了更新,最终在将它们的位置指向一个(相同的)向量时遇到了问题。

在我这样做之前:

var vector = new THREE.Vector3(50, 50, 50);
_Mesh1.position = vector;
_Mesh2.position = vector;

这使得当我移动其中一个网格时,它也移动了另一个网格成为可能。

在 r69 中,位置矢量保持不变(又名 0、0、0),这意味着每当我对另一个网格进行建模时,我都必须手动设置每个网格的 X、Y 和 Z 坐标。

我在这里错过了一些变化吗?或者我应该怎么做才能解决这个问题?

【问题讨论】:

【参考方案1】:

Object3Dpositionrotationquaternionscale 属性现在是不可变的。

查看源代码文件Object3D.js

您不能再使用以下模式:

object.position = vector;

相反,您必须使用任一

object.position.set( x, y, z );

object.position.copy( vector );

three.js r.69

【讨论】:

以上是关于THREE.js:2xMeshes 使用相同的向量作为位置的主要内容,如果未能解决你的问题,请参考以下文章

Three.js Object3d 圆柱体旋转以对齐向量

如何在 THREE.js 中找到两个向量之间的旋转矩阵

在 Three.js 中基于局部向量定位子网格

three.js 数学方法之Vector3

有啥方法可以从 three.js Object3D 中获取边界框?

Blender 导出到 three.js。所有材料都有相同的灰色