なんでもいいから毎日書こう~。
黄本は迷路のところまでやりました。
ちょっと休憩して今日はUnityのチュートリアルを見てました。
序盤はすごい勢いで読み飛ばしたけど
GameObjectの項が面白かったのでちょっと遊んでみた。
GameObject
ゲーム内のオブジェクトは全てGameObjectなんだそうな。
CubeやSphere、CameraやLightも全部GameObject。
でも、GameObjectは何もしません。って書いてある。ただの箱だってさ。
矛盾してるね。
ここでいうCubeとかはカスタマイズされたGameObjectだそうな。
空っぽのGameObjectは何もしないからいろいろなピースを入れてやる必要があるんだって。
ピースのことをComponentと呼ぶそうな。
- Cubeとか = 空のGameObject + いくつかのComponent なんだね!
Component
ComponentはGameObjectに機能を追加するためのもの。
最も基本的なものに座標、縮尺の情報を持たせるためのTransformコンポーネントがあるってさ。
また、GameObjectは必ずTransformコンポーネントを持っているらしい。
へ~。見てみよう。
確認
Cubeの作成
Sceneの新規作成→Hierarchy→Create→Cube
Cubeオブジェクトを追加 |
とりあえずよく使うCubeを置いてみた。
Hierarchyビューは編集中のSceneに存在するGameObjectの一覧とみて間違いなさそうですね。
また、GameObjectを選択したときのInspectorビューには含まれるComponentが表示されるんだね。
Cubeには最初から
- Transform
- Cube(Mesh Filter)
- Box Collider
- Mesh Renderer
の4つのコンポーネントが含まれていることが分かりました。
なるほど。じゃあ空のGameObjectに同じもの追加すればCube作れるよね。
空のGameObjectの作成
GameObject→CreateEmpty
空のGameObjectを追加した |
空のGameObjectが作られた。
確かにTransformコンポーネントは最初からありますね。
なので座標や縮尺は入れられます。(見えないですけど)
Transformコンポーネントは右クリックしてもRemove Componentは押せませんでした。
必須というだけはありますな。
Transformコンポーネントは右クリックしてもRemove Componentは押せませんでした。
必須というだけはありますな。
じゃあ順番にComponent足していきます。
Cube(Mesh Filter)の追加
名前からして形を作ってるのはこれでしょうねー。
Add Component→Mesh→Mesh Filter
Mesh Filterを追加 |
Mesh Noneってなってるので
右端の丸いのクリック→Cubeを選択
Mesh選択 |
Cubeメッシュが適用されたんだと思う。(見えない)
Mesh Rendererの追加
Add Component→Mesh→Mesh Renderer
マテリアルが参照されてないので丸いのクリック→Default Diffuseを選択
Rendererが追加された |
見えるようになりました。
MeshをRenderするのがRendererですよね。(適当)
- MeshをSphereにすると球に変わります。
- RendererのMaterialを変えると見た目が変化します。
名前から想像した仮説はあってたみたい。よかった。
じゃあHierarchyビューのCreate→Cubeは
プリセットされた【GameObject + Component * 4】を作ってるにすぎませんねー。
よく使うから定義してあるんだね。
Box ColliderってComponentは衝突判定とかに使うやつだろうしまた今度にしよう。
今日のまとめ
- GameObjectはただの箱
- GameObjectは1つ以上のComponentを持つ
- GameObjectは必ずTransformComponentを持つ
- Mesh+Rendererで見えるようになる