Three.js如何存储方向
How does Three.js store direction?
我正在为我和朋友们正在制作的游戏编写服务器。我想在一个变量中保持某个玩家在3D平面中观察的方向。我考虑把它做成一个有两个弧度变量的物体,即垂直角和水平角。但我的朋友告诉我用Three.js存储的方式存储它,因为这会让他的生活更轻松。有人能帮我吗?
您应该复习游戏开发者数学系列:https://www.youtube.com/watch?v=sKCF8A3XGxQ&list=PLW3Zl3wyJwWOpdhYedlD-yCB7WQoHf-My&索引=1
具体来说,使用向量。您应该将角色或实体的方向/朝向角度存储为Vector3或三维向量。在THREE.js中,这是新的THREE。Vector3(x,y,z)
要获得对象A到对象B的方向,相对于A,您可以执行以下操作:
var direction = posB.clone().sub( posA )
这个克隆位置B,这样我们就不会用减法把它搞砸,然后立即用A减去。
但是,您会注意到向量现在有一些长度。这在计算中通常是不可取的,例如,如果你想把这个方向乘以其他东西,比如推力。在这种情况下,我们需要归一化向量:
direction.normalize()
现在你可以做一些有趣的事情,比如:
posA.add( direction.clone().multiplyScalar( 10.0 ) );
这将使posA朝着posB的方向移动,10个空间单位。
相关文章:
- ng映射方向备选方案
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- RubyonRails——构建交互式接口应该朝哪个方向发展
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 如何解雇“;铁局部存储负载”;事件
- 本地存储中的字符串到字节数组转换
- 从jQuery调用存储在Variable中的函数
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 将数据存储在javascript数组中以供进一步使用
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- 在页面卸载时写入HTML5 FileSystem API存储
- 加载存储在IndexedDB中的HTML页面
- 在字符串中查找所有图像 src URL 并存储在数组中
- Three.js如何存储方向