0
我有2个网格。我想从第一个网格向第二个网格发射一个弹丸。在一条线上移动一个网格三个JS
为此我画了一条线。但是我无法在这条“线路”上翻译炮弹。我尝试了translateOnAxis函数,但它不起作用。
你知道一个方法来移动一个线后的对象吗? 你有其他方法吗?
谢谢你,
托马斯
我有2个网格。我想从第一个网格向第二个网格发射一个弹丸。在一条线上移动一个网格三个JS
为此我画了一条线。但是我无法在这条“线路”上翻译炮弹。我尝试了translateOnAxis函数,但它不起作用。
你知道一个方法来移动一个线后的对象吗? 你有其他方法吗?
谢谢你,
托马斯
因此,可以说你已经object1(的THREE.Object3D()
型)和你做一样的东西:
object1.position.set(1, 2, 3);
var position2 = new THREE.Vector3(11, 12, 13);
,你想object1移动到位置2 。
可以包括tween.js库并做两者之间的渐变:使用
setupObjectPositionTween(object1, object1.position.clone(), position2,
2000, 100, TWEEN.Easing.Linear.None); // duration, delay, easing
:
function setupObjectPositionTween(object, source, target, duration, delay, easing)
{
new TWEEN.Tween(source)
.to(target, duration)
.delay(l_delay)
.easing(l_easing)
.onUpdate(function() { object.position.copy(source); })
.start();
}
编辑:
您将需要添加动画循环:
TWEEN.update();
和在init():
TWEEN.removeAll(); // clear out tween buffer
谢谢你,是我不好,我看到了这个库时,我研究的是在网络上,但我不认为这个库为发。非常感谢你。 – merinid
我编辑了我的答案 – gaitat
是的,我已经添加了更新;) – merinid