Three.js:将对象附加到相机但不使其随之旋转

时间:2017-06-26 01:20:09

标签: javascript three.js

我目前有一个附加到透视相机的SphereGeometry。但是当我旋转相机时,球体会随着相机一起旋转,这是正常的,但就我而言,我不希望这样。

这就是我所拥有的:

camera.add(Sphere);
Sphere.position.set (0, -100, 0);

我想要的是将球体连接到相机底部但保持在那个位置。目前,当我旋转相机时,球体似乎随之旋转,所以我看不到它。如何以不随相机旋转的方式附加子对象?感谢。

1 个答案:

答案 0 :(得分:6)

一种方法是为球体网格定义onBeforeRender()方法。例如:

scene.add( sphere ); // add it as a child of the scene, not the camera

sphere.onBeforeRender = function( renderer, scene, camera, geometry, material, group ) {
    var pos = camera.position;
    this.position.set( pos.x, pos.y - 100, pos.z );
};

three.js r.86