gpt4 book ai didi

javascript - ThreeJS r68 中不可变的 Object3D 属性

转载 作者:行者123 更新时间:2023-11-29 10:14:15 35 4
gpt4 key购买 nike

migration notes for r67 to r68状态:

Object3D's position, rotation, quaternion and scale properties are now immutable.

这在实践中意味着什么?我想要更多关于这方面的细节。我找不到问题或请求详细信息。

例如,以下代码片段需要如何更改?

obj.position.x = 10;

此外,这种不变性是如何实现的?是否存在对象被卡住的时刻,或者 Vector3 等实例一旦构造就不可更改?

最佳答案

经过一些实验,似乎属性是只读的,并且它们访问可变对象。

所以这是有效的:

obj.position.x = 10;

但这将被忽略:

obj.position = new THREE.Vector3(10, 0, 0);

不幸的是,这不会导致任何可观察到的错误或警告——它只是默默地不按照您的要求去做。

以下是可行的:

obj.position.set(10, 0, 0);

要查找违反此新限制的情况,请尝试搜索以下字符串(您可能希望使用正则表达式使空格可选):

  • .position =
  • .rotation =
  • .quaternion =
  • .scale =

关于javascript - ThreeJS r68 中不可变的 Object3D 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26130672/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com