THREE.js相机遵循特定路径
THREE.js camera following a specific path
我正在尝试使用THREE.js制作一款游戏。我有一条有很多曲线和一些直线的路径。
我在网上找到了一个例子,并试图实现TrackballControls.js,使相机遵循一条线,但相机不看在前面,它移动奇怪。
代码如下:
var controls = new THREE.TrackballControls(camera, render.domElement);
var numPoints = 50;
spline = new THREE.CatmullRomCurve3([
new THREE.Vector3(0, 0, 0),
new THREE.Vector3(50, 0, 0),
new THREE.Vector3(0, 0, -100)
]);
var material = new THREE.LineBasicMaterial({
color: 0xff00f0,
});
var geometry = new THREE.Geometry();
var splinePoints = spline.getPoints(numPoints);
for (var i = 0; i < splinePoints.length; i++) {
geometry.vertices.push(splinePoints[i]);
}
line = new THREE.Line(geometry, material);
line.position.set(0, 0, 0);
scene.add(line);
var counter = 0;
if (counter <= 1) {
camera.position.copy( spline.getPointAt(counter) );
tangent = spline.getTangentAt(counter).normalize();
axis.crossVectors(up, tangent).normalize();
var radians = Math.acos(up.dot(tangent));
camera.quaternion.setFromAxisAngle(axis, radians);
counter += 0.005
} else {
counter = 0;
}
谢谢。
下面的例子展示了如何创建一个遵循样条曲线的相机。只需点击"相机样条动画视图"按钮即可查看效果。也许你可以使用底层代码来解决你的问题。
相关文章:
- 如何在d3.js中返回路径的y坐标
- JS文件的路径正在消失
- D3.js剪辑路径截断了我的图的边缘
- googlemarkercluster.js库的备用源路径是什么
- 最短路径算法js错误
- 如何在three.js中加载指定文件内容而非路径的三维模型
- 如何为JS模块添加包含路径
- 调用后端、多路径变量、Ext Js
- jquery移动应用程序无法使用jquryMobile框架JS和css文件的相对路径
- Vivus JS似乎没有动画某些<路径>节点
- 在 Node 中.js释放 zalgo 的设计模式为什么异步路径是一致的
- 将ng2图表添加到Typescript/ Angular 2项目引用路径和.js文件的路径不正确
- 纸张.js路径数据动画在帧和鼠标拖动
- dust.js:在作用域部分中使用路径
- Require JS with Knockout组件正在查找路径不正确的JS文件
- nodemon找不到模块'/路径/to/project/home/index.js'
- 如何将本地文件路径转换为文件::?/url在node.js中的安全性
- Raphael JS选择路径/对象/节点的特定实例
- React.js.Error:<路径>属性d
- 如何使 MathJax 的源代码(路径.js环境依赖于