我遵循了three.js中的this示例。 在示例中,摄像机和曲线网格被添加到对象3d。
在我的情况下,没有这样做,因为我需要将网格精确地放在动态创建的纹理上。
我面临的问题是,曲线成功添加到场景中,但摄像机没有正确跟踪路径。 我已经在动画函数中复制了动画splineCamera的代码并进行了一些更改。请看看 my code
动画功能中的部分代码是
var time = Date.now();
var looptime = 20 * 1000;
var t = (time % looptime) / looptime;
var pos = tube.parameters.path.getPointAt(t);
pos.multiplyScalar(2);
var segments = tube.tangents.length;
var pickt = t * segments;
var pick = Math.floor(pickt);
var pickNext = (pick + 1) % segments;
binormal.subVectors(tube.binormals[pickNext], tube.binormals[pick]);
binormal.multiplyScalar(pickt - pick).add(tube.binormals[pick]);
var dir = tube.parameters.path.getTangentAt(t);
var offset = 15;
normal.copy(binormal).cross(dir);
pos.add(normal.clone().multiplyScalar(offset));
splineCamera.position.copy(pos);
var lookAt = tube.parameters.path.getPointAt((t + 30 /tube.parameters.path.getLength()) % 1).multiplyScalar(2);
if (!lookAhead)
lookAt.copy(pos).add(dir);
splineCamera.matrix.lookAt(splineCamera.position, lookAt, normal);
splineCamera.rotation.setFromRotationMatrix(splineCamera.matrix,splineCamera.rotation.order);
Renderer.render(Scene, splineCamera);
是否缺少任何东西