Unityで特定の軸だけを対象にしたtransform.lookatの使い方


以下に、特定の軸だけを対象にしたtransform.lookatの使い方とコード例を示します。

  1. Y軸のみを対象にする場合:
Vector3 targetPosition = // 目標位置のベクトルを設定する
transform.LookAt(new Vector3(targetPosition.x, transform.position.y, targetPosition.z));

上記のコードでは、targetPositionのxとzの値を使って新しいベクトルを作成していますが、yの値は現在のオブジェクトのy座標と同じ値を使用しています。これにより、オブジェクトはY軸のみを対象にして回転します。

  1. X軸またはZ軸のみを対象にする場合:
Vector3 targetPosition = // 目標位置のベクトルを設定する
transform.LookAt(new Vector3(targetPosition.x, targetPosition.y, transform.position.z));

上記のコードでは、targetPositionのxとyの値を使って新しいベクトルを作成していますが、zの値は現在のオブジェクトのz座標と同じ値を使用しています。これにより、オブジェクトはX軸またはZ軸のみを対象にして回転します。

これらのコード例を使用することで、transform.lookatメソッドを特定の軸だけを対象にした回転に制限することができます。この方法を使えば、オブジェクトを必要な軸に正確に向けることができます。

この記事では、Unityのtransform.lookatメソッドを使って特定の軸だけを対象にした回転を行う方法を紹介しました。これにより、オブジェクトの向きを制御する際に便利な手法を学ぶことができます。