2016-05-17 8 views
0

私はパーティクルシステムプロジェクトに取り組んでいます。私はthree.jsでポイントのオブジェクトの回転に少し遅れを加えたいと思います。私は現在、1:1回転を与えるD3.jsリニアスケールを使用しています。たとえば、カーソルをすばやく右にすばやく移動すると、ポイントオブジェクトがカーソルの移動速度に一致します。私が望むのは、ローテーションを簡単にして、カーソルを右にずっと移動してから1秒後にローテーションが終了するようにすることです。ここに私の現在のコードです。Three.js Points Rotation

var rotYScale = d3.scale.linear().domain([0, window.innerWidth]).range([25,-25]); 
var rotXScale = d3.scale.linear().domain([0, window.innerHeight]).range([15,-15]); 
d3.select("body").on("mousemove", function() { 
    particleSystem.rotation.y = rotYScale(d3.mouse(this)[0]) * Math.PI/180; 
    particleSystem.rotation.x = rotXScale(d3.mouse(this)[1]) * Math.PI/180; 
});` 
+0

遅れて回転 の一例であるhttp://www.deutser.com/ – sjk2426

+0

あなたがこれまであなたが持っているものの作業例を持っていますか? – thatOneGuy

答えて

0

Tween.jsを使用して動作させました。これは私が追加したコードです。ここ

var tween = new TWEEN.Tween(particleSystem.rotation).to({ x: scaledX, y: scaledY, z: 0}) 
tween.easing(TWEEN.Easing.Quadratic.Out) 
tween.start();