【发布时间】:2016-01-02 15:11:50
【问题描述】:
我在threejs中有两个对象。我希望他们分享scalevector 的价值
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
更新:这似乎适用于旧版本的threejs - 例如以下示例中使用的版本。是否有意禁用此功能?
【问题讨论】:
-
scale是向量,所以你需要复制构造函数。 -
Object3D.scale是不可变的。见stackoverflow.com/questions/26905929/… -
@WestLangley 很好的答案-现在,如果您可以将其添加为答案(nto 作为评论),我可以接受:-)
标签: javascript three.js