RetroのUnitity 09章,10章ベクトル,象限,グローバル空間,オブジェクト空間,領域空間


「レトロの汎用ゲームプログラミングエッセンス」を参考に書いた.
ベクトル数学
:位置、方向、回転、速度の大きさなど、さまざまな計算に使用します.
-方向ベクトル(=正規化ベクトル):サイズ1のベクトル
-ベクトルの減算
「B-A」はAからBまでどの方向に行きますか.
-ベクトルの内積
:内積ABは、ベクトルBをベクトルAの地平線にドラッグする演算である.
相手のベクトルが自分の地平線にドラッグされたときの長さ.
2つの物体の間の角度を内積で簡単に理解する
+Vector3 a, Vector3 b -> Vector3.Dot(a,b)
-ベクトルの外積(AxB)
:両方のベクトルが垂直に通過するベクトルの演算を求める
外積により2つのベクトルに垂直に形成された平面の方向がわかる
+Vector3 a, Vector3 b -> Vector3.Cross(a,b)
四分衛
:回転のタイプを表します.[1回転](One Rotation)
unityは内部で4分の1の回転を処理するが、「インスペクタ」ウィンドウでTransform素子の位置をVector 3(アクセル角)とする.
-新しい回転データの作成
Quternion rotation = Quaternion.Euler(new Vector3(0, 60, 0));
-現在の回転で[その他](More)を回転
Quaternion a = Quaternion.Euler(30, 0, 0);
Quaternion b = Quaternion.Euler(0, 60, 0);
//a만큼 회전한 상태에서 b만큼 더 회전, 곱셈으로 표현!
Quaternion rotation = a*b
統合されたスペース
-グローバルスペース:ゲームの世界を基準に
-オブジェクトスペース:親ゲームオブジェクトベース
-ゾーンスペース:自分自身を基準に
*表示パネルに表示される位置、回転、スケールは、領域領域の値に基づいています.
*unityは便利な地域空間と対象空間を地域空間に統合する.
->エリアスペース内の位置、回転、スケール値の測定->親ゲームオブジェクトベースの測定(エリアスペース)
->領域空間で平行移動->ゲームオブジェクト自体の方向に沿って平行移動(オブジェクト空間)