【问题标题】:ThreeJS: Updating existing objects with Matrix4ThreeJS:使用 Matrix4 更新现有对象
【发布时间】:2014-03-19 08:29:58
【问题描述】:

谁能提供合适的文档来使用 Matrix4 更新 ThreeJS 对象?我在网上找到的示例很少,而且它们似乎使用了过时的语法。例如,在this post 中,multiplySelf 语法已被弃用,jsfiddle 不起作用。

我已经成功地在 init() 函数期间使转换工作:

object.matrixAutoUpdate=false;
scene.add( object );
var m=new THREE.Matrix4(1,0,0,0,0,1.132,0,0,0,0,1.3,0,0,0,0,1);                 
object.applyMatrix(m);

但我特别想激活基于 Matrix4 的转换(用户单击按钮,转换以动画形式发生)。加载场景后,我在进行转换操作时遇到了很多麻烦,因此提前感谢您提供的任何提示。

【问题讨论】:

    标签: three.js


    【解决方案1】:

    你应该可以这样做:

    object.matrixAutoUpdate = false;
    object.matrix.set(1,0,0,0,0,1.132,0,0,0,0,1.3,0,0,0,0,1);
    

    【讨论】:

    • 谢谢杜布先生。这适用于设置一次矩阵,但是当我尝试更新同一对象的矩阵时(通过在浏览器中选择一个按钮),我没有得到任何转换。是否有另一种用于更新对象矩阵的语法?
    • 您可能需要将object.matrixWorldNeedsUpdate 设置为true
    • 这似乎不再有效。至少它部分有效。我得到了更新的轮换,但没有位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 2021-11-13
    • 2019-08-21
    相关资源
    最近更新 更多