Java3Dでのマウスの動きに合わせて立方体に回転させてみます。立方体の回転に関係なく、カーソルを上にドラッグすると、立方体が同じ方向に回転するようにします。そして、これはすべての可能な動きのためです。
どうすれば続行できますか?カメラの座標に配置する必要があると思います...
これが私の関数です:
public void objectRotate(TransformGroup objectInInteraction, double dh,
double dp, double dr) {
Transform3D oldT3D = new Transform3D();
objectInInteraction.getTransform(oldT3D);
Transform3D tx = new Transform3D();
Transform3D ty = new Transform3D();
Transform3D tz = new Transform3D();
Transform3D tc = new Transform3D();
//camera.getTransform(tc);
double x = 0, y = 0, z = 0;
x = Math.PI * dh / 180;
y = Math.PI * dp / 180;
z = Math.PI * dr / 180;
tx.rotX(x);
tc.mul(tx);
ty.rotY(y);
tc.mul(ty);
tz.rotZ(z);
tc.mul(tz);
oldT3D.mul(tc);
objectInInteraction.setTransform(oldT3D);
}
dhは左右の動き、dpは上下です
ありがとう !