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

[Java3Djp:00114] Re: view 側の TransformGroup に interpolator を適用する



えんどうです。

> CameraInterpolator クラスに moveTo(Transform3D target)メソッド
> を設けて target を保持します。そして、ループの中で視点の座標を
>  target の座標へ徐々に近づけるようにしました。

既存の PositionPathInterpolator や
KBRotPosScaleSplinePathInterpolator でも出来ます。

「Java 3Dプログラミングバイブル」の9章のサンプル PathAnimation では
KBRotPosScaleSplinePathInterpolator を使って視点移動しています。

    // 視点側の TG を取得
    TransformGroup vtrans =
      getUniverse().getViewingPlatform().getViewPlatformTransform();

    // 視点の前に置く物体の root 
    PlatformGeometry pg = new PlatformGeometry();

    //中略(←キーフレーム配列の構築を行う)

    Alpha alpha = new Alpha();
    alpha.setIncreasingAlphaDuration(10000);

    Transform3D axis = new Transform3D(); // axis

    KBRotPosScaleSplinePathInterpolator interpolator =
      new KBRotPosScaleSplinePathInterpolator(alpha, vtrans, axis, keyframes);
    interpolator.setSchedulingBounds(bounds);
    pg.addChild(interpolator);

    //中略

    getUniverse().getViewingPlatform().setPlatformGeometry(pg);

-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.javaopen.org/~yasuyuki/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)