【发布时间】:2015-11-15 02:16:21
【问题描述】:
我有一个对象car 我add 相机。我现在如何通过这个对象访问相机。我试过这个:
car = {};
car.body = new Physijs.BoxMesh(
new THREE.BoxGeometry( 10, 5, 7 ),
Physijs.createMaterial(
new THREE.MeshLambertMaterial({ color: color }), .8, .2 ),
1000 );
var camera = new THREE.PerspectiveCamera(50, window.innerWidth/window.innerHeight, 1, 1000);
var pos = car.body.position;
camera.position.set(pos.x + 75, pos.y + 20, pos.z);
camera.lookAt( pos );
car.body.add(camera);
//...
// other function
var camera = car.body.camera;
但我收到一条错误消息,提示 THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.
这甚至可能吗,还是我必须将相机保存在某个全局变量(数组)中?
【问题讨论】:
-
我没有用过 Phyisijs,但你为什么要这么做?
car.body.add(camera);?如果你想让 car.body 引用摄像头,你不就做car.body.camera = camera;吗? -
@2pha 不知道我能做到,
body有属性camera吗?给我一分钟 -
它有效,但现在
camera将不再关注car -
如果不查看更多代码并了解渲染循环中发生的情况,很难提供帮助。
标签: javascript camera three.js add