Unityでの変形動作関連

距離 = 方向 * 速度 * 時間

パラメータ 1: 変位を示します。距離 = 方向 * 速度 * 時間です。
パラメータ 2: 相対座標系を示します。デフォルトでは、このパラメータは独自の座標系を基準としています。

相对于世界坐标系的 Z轴 动  始终是朝 世界坐标系 的 Z轴正方向移动
this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.World);

相对于世界坐标的 自己的面朝向去动   始终朝自己的面朝向移动
this.transform.Translate(this.transform.forward * 1 * Time.deltaTime, Space.World);

相对于自己的坐标系 下的 自己的面朝向向量移动 (一定不会这样让物体移动) XXXXXXX
this.transform.Translate(this.transform.forward * 1 * Time.deltaTime, Space.Self);

相对于自己的坐标系 下的 Z轴正方向移动  始终朝自己的面朝向移动
this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.Self);

伝説

オブジェクトを Y 軸上で 45 度回転した場合

(1) まずワールド座標系で (0,0,1) を取得し、次にワールド座標系で (0,0,1) に移動します。つまり、ワールドの Z 軸の正の方向に移動します。座標系

(2) まず、ワールド座標系で自分の正の方向、つまり 45 度傾いた Z 軸方向にベクトルをとり、その方向をワールド座標系で動かすと、最終的には に移動します。あなた自身。

(3) まずワールド座標系の正の方向、つまり 45 度傾いた Z 軸方向にベクトルを取り、その方向を自分の座標系内で移動させると、最終的にワールド座標系に向かって移動します。 X軸方向移動

(4) まず世界座標系で (0,0,1) を取り、次に自分の座標系で (0,0,1) に移動すると、自分の方向に進むことになります。

実際、よく勉強しないと、Vector3 に付属する方向をそのまま自分の方向として使用してしまう可能性があります。

たとえば、顔に向かって移動すると、

this.transform.Translate(Vector3.forward * 1 * Time.deltaTime);

 上に移動する

this.transform.Translate(Vector3.up * 1 * Time.deltaTime;

おすすめ

転載: blog.csdn.net/holens01/article/details/132639486