こんにちわ、横浜すみっこクリエイター
です。Unityでゲームを制作して販売するまでの軌跡を描くゆにすち!の入門編です!
今回はUnityの基本中の基本であり、非常に重要な要素であるゲームオブジェクトについて学んでいきます。
ゆにすち!シリーズとは
このシリーズではUnityでSTEAM販売を目指す!略してゆにすち!と銘打ち、モデリングもプログラミングも企画も販売も何から何までぜ~んぶド素人の が、PCゲームを考え、制作して、販売するまでの風景を履歴として残していくものです。
この入門編では、Unityの基本的な使い方やゲームの構造について学んでいきます。
この記事のポイント!
- ゲームオブジェクトは、シーン上に存在するすべてのモノ
- ゲームオブジェクトの振る舞いは、コンポーネントで決まる
- ゲームオブジェクトは親子関係を持たせることができる
- ワールド座標は、そのゲームオブジェクトの絶対位置
- ローカル座標は、親オブジェクトに対する相対的な位置関係
Contents
ゲームオブジェクトとは
シーン上に配置されるあらゆるモノ
![ゆにすち(シーン上にあるモノすべてが「ゲームオブジェクト」です)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimlJJUNgkv0XM03STjhEbiGdj-1tHdqxGdehXk2s29CdNr9uLXUMvp0xuO7qrjdAgxKN_h3afpKCfbL56d3TYRiPJ_9W5ea5hZg4UU8XBFZleAzdug_TsVfrACVY-4NW3pD5LweWZEFD-hiVd5-iFB9lYr4rV6Wsk4cBpoJHQaxic7xOvdXp1DO_Q-/s833/001.png)
ゲームオブジェクトは、シーン上に存在するあらゆるモノのことです。3Dモデルやカメラ、光源はもちろん、エフェクトなどもゲームオブジェクトです。ヒエラルキーウィンドウのすべてのアイテムが、ゲームオブジェクトということになります。
ヒエラルキーウィンドウに表示される「シーン」自身は、ゲームオブジェクトではありません。ホントはただの入れ物
![ゆにすち(ゲームオブジェクト自体は、ただの入れ物に過ぎません)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhj5mDuwz4XKwhXvkHuJbUxVeH3l2jEJjxBD7qsmSgQFTYUceyoOCHXOX0UkZQFc5968ZrDZADAymLw2tGDqMMiAa_tgUSIVb2ct91F0YlzgQd47APGVNq4ku8xvyP4a4FEy0ibU5zxnUzmuecd94BSKHkAyY4r0gh-s_k6Ve-MmfgWF_L5cq7l7QnC/s457/002.png)
ゲームオブジェクトの実態は、位置情報だけを持つただの入れ物に過ぎません。Unity公式ドキュメントでは、コンテナと表現されています。
この入れ物に、コンポーネントと呼ばれるプロパティを加えることで、ゲームオブジェクトがどのように振る舞うのかが決まります。
コンポーネントについては、別途「【Unity】ゲームオブジェクトの性質を決める「コンポーネント」を知ろう! | ゆにすち! - 入門編08」で解説しています。![ゆにすち(「カメラ」「ライト」には、それぞれの特性を持つコンポーネントが付与されています)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgu1LzPOtz1GuKzDdNHcC3cbDoU1oGnT2XdrK02nigS3wrcXvkY2j6YhMkZmlc_fS1l1p4LqIpJNWi8jmlRARRAgLhOwSF5tgfTvSnKYeRjFbDk-vaF1Wlv1kIY63JCBoA8mpia_jo51S6Pj09wUUSxgji9rWQEidD7kjiH_Qllsm9IApbW9akAVdD4/s752/003.png)
カメラオブジェクトにしたければ、カメラらしくなるようなコンポーネントを、ライトオブジェクトにしたければ、ライトらしく振る舞うようなコンポーネントを付与します。
![ゆにすち(キューブから煙エフェクトを出すこともできます)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLYuZCJ9WCn48fZ9FmEx8q_mfnGYfky2Yual7PucMWGeWNbPWOLI9iM29HdAc48uQ-0QbcOhHsZY_zBcIJmg6FTdaEuBUzT8lX3xMbtz4eg0lWpw7n33x6UfkQkMPltNJX87xVG0yX-wVFwZdqrjR0vdvNTQBw7hK6Rx43ljP9TJVjY2H2mwkpNvUf/s833/004.gif)
コンポーネントは、任意につけ外しかつ複数アタッチができるので、カメラにライトの特性を与えたり、3Dモデルからエフェクトを出したり、ということもできます。
ゲームオブジェクトの種類
既成のゲームオブジェクト
ゲームオブジェクトはコンポーネントの組み合わせでさまざまな振る舞いをするということは前述のとおりですが、使用頻度の高いゲームオブジェクトはプリセットとして用意されています。
![ゆにすち(使用頻度の高いのゲームオブジェクトは、プリセットとして用意されています)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIVp2cApAFP3643z9eoVz4GGV2dtwOymFSb4P7k-YVyRa8zSynoEIk8gcOw7-TUhCSchOi0N7ve0GQJe9YUAOkbrcSbWzKM8mcdf5X3C3FZ7TPn_xf7SIbl61ErYNXOqjkeC_6b1phVOWPOA7U6TpxPkCg0W2-h5tp1L9Hs0v0rP1_Jo947mR5ThUM/s513/005.png)
上の図のように、Unityが既成のゲームオブジェクトを用意しています。開発者はこのリストから選ぶだけで、カメラやライトなどの完成された機能をもつゲームオブジェクトを作成することができるのです。
ほんの一部ですが代表的なものとして次のゲームオブジェクトを紹介します。
- 空のオブジェクト
- プリミティブ
- カメラ
- ライト
- パーティクル
1. 空のオブジェクト
![ゆにすち(空のオブジェクトは、文字どおり「空の入れ物」です)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSQqAs99gGAGnvS9JV79csgYWgqwQWXImiOahO3rSPzaYDLyvnnoCPMdASlmCuEcbTRRFdPowUS-fGtBqe3I0_cOiLUzyqVC5qF19XWEAIPz281TUVQbORKD22i47-xUlcQq43zXd_rUsahF1vufPOz7sjtfpteuMCufdWsdhsbnyVkUnxC5TGKN9x/s704/006.png)
空のオブジェクトは、文字どおり空の入れ物です。位置・回転・スケールのみが指定されているだけで、ほかのコンポーネントはアタッチされていません。
後述するグループ化の親とするのが、主な用途になると思います。
2. プリミティブ
![ゆにすち(プリミティブは、3Dモデルの基本的な形状です)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMSS7n316duEYCU7ZtJ_bHpDlCv9rBH7hAgmlkApMfJGvO85nz9jSEYC2IACi9EwUbVbH916lGiECtjo-GLtBOjIPiZnWAAb9vUUa3lA8pneG23b4cmoXSw6BaR3e2lI91MtJzWP4hMUiyDKNFLJLNCPiJZoPdXMafCRJ_tdPMKMbkzuwi3Y-Lhkmr/s833/007.png)
プリミティブは、Unityで直接作成できる3Dモデルの総称です。
Unityだけでは複雑な形状のモデルを作成することはできず、ほかのアプリケーションで作成したモデルをインポートする必要があります。次の6種類が用意されています。
- キューブ / Cube
- スフェア / Sphere
- カプセル / Capsule
- シリンダー / Sylinder
- 平面 / Plane
- クアッド / Quad
次の記事で、それぞれの特徴について詳しく紹介したいと思います。
3. カメラ
![ゆにすち(カメラは、プレイ映像の描画設定をするゲームオブジェクトです)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh067mAMET5hbXvKR5bzDpTenr3BQPBt1PRJPTw3PocHZ1XDvyq2mRPBhV1cwzboQ1CjCNDTWtMEYRa7uOUDRikdee8YCTERpvlr7vYa6VtUYpxY8N_rHWg3AYfJf7C74NlcW2kjHFuUo-mw0-kXrnM3loyZj_F_VIOupweyfeKDmfbjn3SBgy-qT8_/s704/008.png)
カメラは、プレイヤーに表示される画面の画角や映像効果などを設定するゲームオブジェクトです。
使用するレンダーパイプラインによって、コンポーネントに若干の差がありますが、描画用のカメラという点では同じです。4. ライト
![ゆにすち(ライトは、光源となるゲームオブジェクトです)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMn2c8bEgYgPLYPRv7ErfTiUApWJrMPc6R2BtyAYfKXX6UdV_PyIhTRTEK9_veV2drhnWh1QPBWn_0ZHRpKCLQ8oSuZJ5aQE_MLlApn0S8-jlolGxC0emOAxge3T6W3PEmxwgKxjW0qeQiNqgP-fnM3hUDOFP7gyVROaIcPhSm-3vYZg0ZUBjPitTy/s704/009.png)
ライトは、光源となるゲームオブジェクトで、対象範囲にある別のゲームオブジェクトを照らします。照らされたオブジェクトは、反射光で表面の明るさが変化し、また反対側へ影を落とすようになります。
![ゆにすち(ライトには、種類が4つあります)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhp1cKgCk1b8GUjn6ArElloBxn4Mrd4Tn61iNorYDJj3CeHBzVmrz5Tt9AQ-Ws1VXOVEnnECnoV-2iCR8bcmdsQxw-i-Snf8roQ2WpVsI0y-9Ja5UcV5xY6OAPPzjSlnZdzA-ROc3X4z0OtCqTYp8yfIubBwoe1DKi36q6MTpB7d1jGSpWcpXuZXZt/s833/010.png)
ライトは光源のタイプが設定でき、それぞれ異なる照らし方になります。次のような特徴があります。
- ディレクショナルライト:太陽光のようにどこにいても一定の角度・照度となる光源
- ポイントライト:電球のように同心円状に広がる光源
- スポットライト:三角錐状に広がる光源
- エリアライト:モニターのように板状の物体から放射される光源
5. パーティクル
![ゆにすち(パーティクルは、いわゆる「ゲームエフェクト」のことです)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimXB8ymrR9blx_tAGuwpxSM-g0vVLFSX7XGru7h8p-t0VBj03_A7dTYP0x4nErEApEHk2pL_kqE8xirOL3zgPzaFo_wkjpdzWy8NP7Qxa93nRAjjMnD6ts443LEeqYSoS_iYr9FgmKEkj-Koges_TP0EXktd2YAfZpipi9fGmQXOyixXhYVdCZIZka/s704/011.png)
パーティクルは、埃(ほこり)や塵(ちり)を意味する英単語ですが、ゲーム開発ではゲームエフェクトのことを指します。埃や流体、煙や埃などのほかにもホログラムのような空間表現を、小さな画像やモデルを集合させて表現します。
グループ(入れ子構造)化
![ゆにすち(ゲームオブジェクト同士で、ネストさせることでグループ化させることができます)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm52gpoX-Rc6uE7avl3OLdiJN0upRMFN-4puf5tu1xfaIcRDwox3XVMzw9eBTjinJO99jSA_321kuJc7xa84Mb5M1SYXlt9IHnB2cxyl-a4YRUVlbG28lV5J3kTX2l56TjKpk2C3rlAlsLqZs-C_Dk78_t7oYSrsaJhT1SqIxW9CY2bi2QQUoFAd0e/s330/012.gif)
ゲームオブジェクトは、ネスト(入れ子構造化)させることでグループ化・階層構造化することができます。
ネストの方法は簡単で、ヒエラルキーウィンドウ上で子にしたいゲームオブジェクトを、親にしたいゲームオブジェクトへドラッグ&ドロップするだけです。兄弟関係や階層を何段にも重ねることができます。
ネストされたゲームオブジェクトは、親の座標系に入ることになります。親を移動・回転・スケーリングすると、その子オブジェクトも追従します。これを
ローカル座標と呼び、一方でその子オブジェクトの絶対的な位置を
ワールド座標と呼びます。
ゲームオブジェクトの作り方
![ゆにすち(ゲームオブジェクトは、ヒエラルキーウィンドウからも作成できます)](http://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoWIHq_Wvb2tvsXF_TWjlUUjWGU52_DO3l427X_bemXaxEriY-cseSXwNptFn488PN6yDHnRbTmfacrzEkZORzdJTivasTyMlm-WjiyDkyPqkoBG3c6LOl1Tlr12Ix2m8PHvwZ4gEoCAtpAJKbnEoVBNVhduLdb-rWeS3uMKDj2J0miIG4pMbesdcY/s505/013.png)
ゲームオブジェクトを新たに作成するには、次の方法があります。
- ヒエラルキーウィンドウの+をクリック
- ヒエラルキーウィンドウ上で右クリック
- メニューのゲームオブジェクトをクリック
表示されるコンテキストメニューから、作りたいゲームオブジェクトを選択します。
作成したゲームオブジェクトをベースに、オリジナルのゲームオブジェクトに改変していきます。
まとめ
今回は、Unityの基本かつ重要なゲームオブジェクトについて解説しました。ゲームオブジェクトにはどのようなものがあるのか、実態はただの入れ物であること、特性を決めるのはコンポーネントと呼ばれるプロパティであることを確認できました。
次回予告
Next time on... まずはここから!6つのプリミティブオブジェクトを紐解く!
今回登場した6つのプリミティブオブジェクトについて、1つずつ特徴を確認しておきましょう。
では、今回はこの辺で。
コメント
コメントを投稿