我在threejs中有两个对象。我希望他们分享scale
vector
mesh1 = new THREE.Mesh(geometry, material);
mesh1.scale.x = 0.47;
mesh2 = new THREE.Mesh(geometry, material);
mesh2.scale=mesh1.scale; // This does not work
最后一行无效。该文档未声明scale
属性是只读的。我查看了源代码,发现该属性未定义为可写。文档中是否存在错误,或者这就是threejs的工作方式,记录它是没有意义的:-)?
是否可以在不同网格之间共享比例(和其他矢量)?是复制值
的唯一方法 mesh2.scale.copy(mesh1.scale); // Copy the vector over
UPDATE:这似乎适用于旧版本的threejs - 例如以下示例中使用的版本。这个功能是故意禁用的吗?
答案 0 :(得分:2)
Object3D
的{{1}},position
,rotation
和quaternion
属性是不可变的。
请参阅源代码文件scale
。
例如,您不能再使用以下模式:
Object3D.js
相反,您必须使用
object.scale = vector;
或
object.scale.set( x, y, z );
与上述其他属性类似。
three.js r.72