繁体   English   中英

three.js旋转面向物体

[英]three.js rotate facing object

我已经做了13年的矢量东西了,但我仍在努力解决三个问题.js处理事情的方式。 所以我最喜欢用风扇来描述,它总是面向相机,当然还有旋转。

这就是我用另一种语言实现这一目标的方法:

// Create a vector facing in camera direction.
temp.x = 0;
temp.y = 1;
temp.z = 0;
vec_rotate(temp, camera.pan);

// Apply vector direction to scene object.
vec_to_angle(entity.pan, temp);

// Rotate scene object's angle around another angle / imaginary line from camera to object.
ang_rotate(
    entity.pan, 
    vector(random(360), 0, 0)
);

因此,在应用entity.lookAt(camera.position)之后,我缺少基于当前角度的角度旋转(示例的最后一个函数调用)。

建模风扇的一种方法是这样的:

var fan = new THREE.Mesh( ... );

var pivot = new THREE.Object3D();
scene.add( pivot );
pivot.lookAt( camera.position );

pivot.add( fan );

然后在动画循环中(假设风扇网格默认面向正z轴),

fan.rotation.z += 0.01;

three.js r.68

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM