javascript - WebGL/三个弧度从 0 到 1.57 回到 0 到 -1.57 等等。我如何知道我在循环中的位置

标签 javascript three.js

嗨,弧度似乎上下变化,然后再次上升,我正在尝试从摄像机获取方向,为天桥设置动画,当摄像机旋转超过 90 度时,它似乎会给我重复的数字两边。我错过了什么。

function camDirection(camera){
  rad = camera.rotation.y;
  console.log(camera.rotation);
  console.log(rad);
  var x = Math.sin(rad);
  var z = Math.cos(rad);
  return new THREE.Vector3(x, 0, z); 
}

var direction = camDirection(ctx.camera);        
ctx.camera.position.z += 10 * direction.z;
ctx.camera.position.x += 10 * direction.x;

最佳答案

您可以获得相机的方向,如下所示:

var direction = new THREE.Vector3(); // create once

...

camera.getWorldDirection( direction );
<小时/>

如果您只想向前移动相机,您可以这样做:

camera.translateZ( - 10 ); // forward is down the negative-z axis for a camera

三.js r.71

关于javascript - WebGL/三个弧度从 0 到 1.57 回到 0 到 -1.57 等等。我如何知道我在循环中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30043626/

相关文章:

javascript - Facebook 的视频通话如何运作

javascript - 使用node.js中的AWS ec2.describeInstances从嵌套对象中提取数据

javascript - FlatList 中的替代颜色

javascript - 如何在 three.js 中构建自定义平面几何图形?

svg - 挤出具有多个孔的多个多边形并对组合形状进行纹理化

javascript - 使用字符串变量即时创建正则表达式

javascript - 从 JSON 读取器读取时发现意外的 'StartObject' 节点。预期为 'PrimitiveValue' 节点

javascript - three.js ES6 如何只导入特定模块

node.js - 多人游戏中的 Action 同步

javascript - 访问 WebGL (two.js) 应用程序的 Soundcloud 波形/图稿 - CORS 问题