Unity C# は、オブジェクト A の初期位置をオブジェクト B の前に設定し、A が B を向くようにします。

UnityEngine を使用する。

パブリック クラス SetObjectPosition : MonoBehaviour

{

public Transform objectToSet; // オブジェクト A のコンポーネントを変換します

public Transform targetObject; // B オブジェクトのコンポーネントを変換します

void Start()

{

Vector3 newPos = targetObject.position + (targetObject.forward * distance); // 新しい位置を計算します

Quaternionrotation = Quaternion.LookRotation(targetObject.position - objectToSet.position); // ターゲット点と現在の点の間のベクトルに基づいて回転角度を計算します

objectToSet.rotation = Rotation; //オブジェクト A に回転を適用します

objectToSet.position = newPos; //新しい位置をオブジェクト A に適用します

}

}

  1. 変数が対応する GameObject または他の有効な Transform コンポーネントを正しく参照しているobjectToSetことを確認する必要があります。targetObject

  2. distanceオブジェクト B に対するオブジェクト A の距離を示します。必要に応じて調整できます。

おすすめ

転載: blog.csdn.net/qq_21743659/article/details/135416089