如何旋转相机,使其面向/高于球体上的点(Three.js)
How to rotate camera so it faces/above point on sphere (Three.js)
我想知道是否有人知道如何旋转相机,使相机直接面向球体上的点上方。
更新
收音机的回答是正确的。经过一些调试后,我的坐标好像颠倒了。
我创建了一个小提琴:http://jsfiddle.net/kbtn6pz5/
这会将摄影机移动到球体上的一个随机点上,应用lookAt属性,然后设置摄影机在球体表面上的高度。
基于小提琴样板。。。
var camera, scene, renderer, geometry, material, mesh;
init();
animate();
function init() {
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 10000);
scene.add(camera);
var rad = 200;
geometry = new THREE.SphereGeometry( rad, 32, 32 );
material = new THREE.MeshNormalMaterial();
mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
var point = THREE.GeometryUtils.randomPointsInGeometry( geometry, 1 );
var altitude = 100;
var coeff = 1+ altitude/rad;
camera.position.x = point[0].x * coeff;
camera.position.y = point[0].y * coeff;
camera.position.z = point[0].z * coeff;
camera.lookAt(mesh.position);
renderer = new THREE.CanvasRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
}
function animate() {
requestAnimationFrame(animate);
render();
}
function render() {
renderer.render(scene, camera);
}
相关文章:
- 在Three.js中导出网格会提高性能吗
- 如何在three.js上添加两个向量
- Three.js Points Rotation
- 无法读取属性'材料'未定义的Three.js
- Potree/Three.js测量问题
- Three.JS OBJ模型未显示
- 有没有一种方法可以获得three.js的最小/lite版本
- JS和three.JS,在浏览器中进行参数测试
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 如何在three.js中有效地使用TraingleStripDrawMode
- 画布中的重力/跳跃球,javascript
- 通过拖动可以更改三维模型对象在Three.js场景中的位置
- three.js:如何让透明的png精灵投射和接收阴影
- 逐像素碰撞检测弹球
- 如何旋转相机,使其面向/高于球体上的点(Three.js)
- three.js的新手,如何在three.js中设置此球的动画
- 与Three.js互动的液态金属球
- '的语义是什么;this.object.position'在Three.JS's轨迹球
- 使用 THREE.JS 滚动球
- 用Three.js重新划分椭球点云中的点