gpt4 book ai didi

3d - 在世界空间中匹配对象矩阵 - Three.js

转载 作者:行者123 更新时间:2023-12-02 22:41:01 24 4
gpt4 key购买 nike

我正在尝试学习在世界空间中操纵对象的正确方法。作为测试,我创建了一个立方体,我正在从任意向量到立方体上的每个顶点绘制一些线。

如果我不以任何方式改变立方体,那么线条会很好地到达顶点:

correct

但是如果我旋转立方体,那么线不再与顶点匹配:

wrong

显然,我知道我可以将直线旋转与旋转立方体相同的量,但我知道我应该操纵矩阵或向量来执行此操作。

任何人都可以解释我应该如何处理这样的常见问题,而不需要旋转两个对象。

为方便起见,我有一个 jsfiddle to play with

最佳答案

如果您希望线条随代码旋转,您只需将线条添加到立方体而不是场景:

// scene.add(line);
cube.add(line);

但是,如果您想要的是将线条的原点保持在同一位置并更新线条的结尾。

cube.updateMatrixWorld(); // make sure that cube.matrixWorld is updated.

for(var i = 0; i < 8 ;i++){
var vertex = cube.matrixWorld.multiplyVector3(cube.geometry.vertices[i].clone());
lineGeometry.vertices.push(vertex);
lineGeometry.vertices.push(lineStart);
}

关于3d - 在世界空间中匹配对象矩阵 - Three.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766151/

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