[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:01708] アニメーション中の物体の位置について



>「バレンタインデーで検索してもいいのが見つからないし、今年どうする?」
『私、カレにはメッセージをラベルに書込んだアニバーサリーワインで勝負♪』
『それと、義理チョコも味にこだわってベルギーのルメトルにしたよ♪』
>「それってどこで売ってるの?」
『14days』 http://www.easyml.com/1024.php3 っていう『輸入ギフト専門店よ』
------------------------------------------------------------------------


鈴木です。
お世話になっております。

Interpolatorをもちいて物体にアニメーションを付けようとしています。
それで、Vector3dをつけて、物体の位置を変えようとしているのですが、
なぜか、原点を通ってしまいます。

ソースを載せてみます。

		Alpha alpha1 = new Alpha();

		alpha1.setIncreasingAlphaDuration(10000L);
		alpha1.setDecreasingAlphaDuration(10000L);
		alpha1.setLoopCount(10);
		alpha1.setTriggerTime(5000L);
		alpha1.setMode(Alpha.INCREASING_ENABLE | Alpha.DECREASING_ENABLE);
		alpha1.setDecreasingAlphaDuration(1000L);

		TransformGroup objTrans1 = new TransformGroup();
		objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
	      objTrans1.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
		root.addChild(objTrans1);

		Transform3D fish1 = new Transform3D();
		fish1.setTranslation(new Vector3d(-10.0, 0.4, 0.0));
		RotationInterpolator rotat1 = 
				new RotationInterpolator(alpha1, objTrans1, fish1, 0.0f, (float)(Math.PI*2.0));
	      rotat1.setSchedulingBounds(bounds);
		objTrans1.addChild(rotat1);

		ColorCube colorCube1 = new ColorCube(0.3f);
		objTrans1.addChild(colorCube1);


この場合だと、中心がx=-10で半径が10の円運動をしてしまいます。

原点を通らないようにするにはどのようにしたら良いでしょうか?




----------------------------------------

鈴木浩一  k_suzu99@xxxxxxxxxxxxxxxxxxxxx