後: ないよ!!!!!!!!!!!!!!!!!!!
<aside> ⛳
長かったpg講座も今回で最終回です!
今回の講座は今までの回との繋がりがほとんど無いです。残りの教えるべきことを考えるとどうしても繋げなかったんです。ごめんなさい。
Sourcetreeを開き、画面上部の「プル」をクリックします。「プルするリモートブランチ」がmainであることを確認し、ウィンドウ右下の「プル」をクリックしてください。
programming-lecture > 6 にあるシーン「RotateDemo」を開き、Cube やSphere、RotateCenterやCylinderを回転させたりして動かしてみてください。
(2D表示になっている場合は、Sceneウィンドウ上部やや右にある「2D」というボタンを押してください。視点の平行移動は中クリック+ドラッグ、回転移動は右クリック+ドラッグ、拡大縮小はマウスホイールでできることを思い出してください。)
Cubeを回転させると、子オブジェクトであるSphereもCubeを中心に回転しているのがわかると思います。Cylinderについては回転中心が空のオブジェクト(エンプティ)なのでどこを中心にしているか分かりづらいかもしれませんが、エンプティがある**グローバル座標の(0,0,0)**を中心にしています。
さて、ここでグローバル座標という単語が出てきましたが、これはオブジェクトの種類や配置にかかわらずシーン全体で共通の尺度をもつ座標系で、絶対座標ともよばれます。普段私達が考える座標系はこれです。
グローバル座標の対義語はローカル座標です。Unityにおけるローカル座標は、親オブジェクトの位置を原点とし、親オブジェクトの向きを基準にした座標系で、相対座標ともよばれます。親オブジェクトから見て子オブジェクトがどの方向にどれくらい離れているかを示します。 なにか別のオブジェクトの子になっているオブジェクトではインスペクターに表示される座標や回転やスケールはローカル座標のことを指します。
ちなみに、親オブジェクトの大きさ(スケール)を変えると子オブジェクトの大きさも変わることからわかるように、ローカル座標の縮尺も親オブジェクトによって決まります。
この仕様を意識していないとスクリプトからオブジェクトの位置や回転を操作するときに厄介なことになります。