当我创建一个TubeGeometry对象时,我可以调用getPointAt(t)来获取该对象上的点。然而,一旦我旋转了TubeGeometry,当我调用getPointAt(t)时,这些点不会随模型一起旋转?几何体确实会旋转并向右看,但getPointAt函数会返回原始的未旋转点。有没有办法让它们与几何体一起旋转?
发布于 2016-05-10 08:20:28
您从path创建了TubeGeometry,并从TubeGeometry创建了mesh。
现在,您希望调用getPointAt( t )来获取沿管网格的点。
如果mesh已被旋转,则需要对应用于mesh的getPointAt( t )返回值应用相同的转换。
var point = path.getPointAt( t ).applyMatrix4( mesh.matrixWorld );将在渲染循环中为您更新mesh.matrixWorld()。如果自上一次渲染后发生了更改,则必须先调用mesh.updateMatrixWorld()。
three.js r.76
https://stackoverflow.com/questions/37126407
复制相似问题