0
3Dオブジェクトを回転させることに問題があります。そのロック・オン・ロケットは、常に目標に向かっているはずですが、x軸を中心に回転しているはずです。ターゲットをスムーズに見て、別の軸の周りの回転を無効にします
私はそれがスムーズにターゲットに見えるようにするには、次のコードを使用しています:
void SmoothLookAt (Vector3 target)
{
Vector3 difference = target - transform.position;
float rotationZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
var targetRotation = Quaternion.Euler(0, 0, rotationZ);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, 5 * Time.deltaTime);
}
どのように私はまた、x軸を中心に回転させることができますか?
私は
transform.Rotate(Vector3.right * Time.deltaTime * speed);
が、その運を追加しようとしました。私のロケットはまったく回転を拒否する(意図した方向に向かって進む)
ありがとうございます!
回転を書き込む2つの異なる機能があります。それが自分の最後の変更から変わらないことを期待する人、そしてそれを特定の方向に強制する人。何が起こると思いますか? – Draco18s
私はちょうどRotate()didintが働いていると分かりました。私は何をしたいのですか? – artman
変換階層を使う必要があります.2つの関数を一緒に回転させて動作させることはできません。 – Draco18s