migration notes for r67 to r68州:
Object3D
的{{1}},position
,rotation
和quaternion
属性现在是不可变的。
这在实践中意味着什么?我想了解更多关于此的细节。我无法找到问题或提出细节请求。
例如,以下代码片段需要如何更改?
scale
此外,这种不变性是如何实施的?是否存在对象被冻结的时刻,或者obj.position.x = 10;
等实例在构造后是不可变的?
答案 0 :(得分:4)
经过一些实验,似乎这些属性是只读的,并且它们可以访问可变对象。
所以这是有效的:
obj.position.x = 10;
但这会被忽略:
obj.position = new THREE.Vector3(10, 0, 0);
不幸的是,这不会导致任何可观察到的错误或警告 - 它只是默默无法按照您的要求进行操作。
以下方法可行:
obj.position.set(10, 0, 0);
要查找违反此新限制的内容,请尝试搜索以下字符串(您可能希望使用正则表达式使空格可选):
.position =
.rotation =
.quaternion =
.scale =