16/06/28 16:46:04.48 Dgvtetg/.net
例えばこんな階層のオブジェクトがあったとする
Room
Table
Apple
・Apple.forward
そのオブジェクトのローカル座標軸をワールド空間に直した座標軸が入る
具体的に言うとローカル空間の座標軸Vector3(0, 0, 1)に、
Table.rotationやRoom.rotationといった親オブジェクトのQuaternion(回転値)を全て適用して、
ついでに長さが1になるようNormarize(正規化)した方向ベクトルが入ってる
短く書けるけど正規化されている為か若干コストが高いのが欠点
Apple.TransformDirection(Vector3.forward)
そのオブジェクトのローカル空間を使って、引数の座標軸をワールド空間の座標軸に変換する
簡単に言えば引数で渡した座標軸に、上と同じような親の回転値全適用の計算をしてる
ただ正規化はされていないので若干コストが低く有用
Transform.forwardとTransform.TransformDirection(Vector3.forward)は、
まあぶっちゃけ似たような値が入るんだけど正規化が省かれてる分だけ後者の方が二倍ほど高速に動く