transform.rightとVector3.upの違い

transform.(方向)の考え方

transform軸:Transformのローカル軸です

ローカル軸は、オブジェクトの傾きに影響されます
例えば、オブジェクトのx軸を傾けると、ローカル軸も傾きます
オブジェクト自身からの見え方だと考えればいいでしょう

transform.right = rotation * Vector3.right

ワールド空間のローカル(transform)x軸 ・・・赤軸

transform.up = rotation * Vector3.up

ワールド空間のローカル(transform)y軸 ・・・緑軸

transform.forward = rotation * Vector3.forward

ワールド空間のローカル(transform)z軸 ・・・青軸

Vector3.(方向)の考え方

Vector3定数はワールド軸です

ワールド座標は、オブジェクト自身の傾きに影響を受けない軸になります
東西南北といったコンパスの情報と言えばわかりやすいでしょう
オブジェクト自身がどのように傾いていても影響がありませんね

Vector3.right = Vector3(1, 0, 0)

ワールド空間のワールドX軸 ・・・赤軸

Vector3.up = Vector3(0, 1, 0)

ワールド空間のワールドY軸 ・・・緑軸

Vector3.forward = Vector3(0, 0, 1)

ワールド空間のワールドZ軸 ・・・青軸

transformとVectorの違い

※ローカル(transform)軸は、rotationとワールド軸の積です。
 (Quaternionとベクトルの積は、ベクトルを回転させます)

※transform軸に方向ベクトルを代入すると、transform軸がその方向を向きます。
 方向ベクトルは向きだけが意味を持つため、大きさは無視されます。
 (方向ベクトルは単位ベクトルとしてtransform軸に代入されます)

Unity

Posted by hidepon