【发布时间】:2014-03-15 07:31:14
【问题描述】:
我正在制作basic Three.js application 我的目标之一是让月球与地球对齐。虽然我确实有一种方法可以静态让它绕一圈旋转,但如果你绕着地球移动,月亮的旋转就会开始奇怪地执行——变成椭圆形,直到几秒钟后赶上革命。
它的逻辑可以在以下函数中找到:
rotateMoon = function(rotSpeed) {
var x = moon.position.x,
y = moon.position.y,
z = moon.position.z;
moon.position.x = x * Math.cos(rotSpeed) + z * Math.sin(rotSpeed);
moon.position.z = z * Math.cos(rotSpeed) - x * Math.sin(rotSpeed);
}
我的目标是把它“钩”在地球上;也就是说,它的运动依赖于地球的运动。这将如何实现?
【问题讨论】:
-
这可能超出您的需要,但您是否考虑过使用场景图 (en.wikipedia.org/wiki/Scene_graph)?
-
你没有使用 WebGL,你使用的是three.js。对于 three.js 而不是 webgl 的答案非常不同
标签: javascript math three.js game-physics