Unityちゃんの障害物ゲームを作る

2014年11月13日(木)
薬師寺 国安

ゴールの設定

まず、「Scene」画面の上でマウスのホイールを使って画面を縮小しておきましょう。次に「トランスフォームツールアイコン(図4)」を用いて、図5のように全体が見えるように位置を調整します。

図4:トランスフォームツール

図5:「Scene」画面全体を見渡せるようにした(クリックで拡大)

最初にゴールとゴールエリアを設定します。ここでは「Cube」を使ってゴールを作成していますが、必ずこのようにしなければならないというものではありません。読者自身が、自由にゴールの位置や形状、障害物の配置を決めていただいて構いません。

まず「Hierarchy」の「Create」から「Cube」を選択します。すると「Cube」は「Plane」の下に配置されますので、「Hierarchy」内の「Cube」をダブルクリックして位置を確認し、トランスフォームツール(図4)の左から2番目のアイコンをクリックして3方向の矢印キーを表示させて、Y軸を上方向に引っ張ってください。そして、矢印キーを使ってゴールの位置まで移動させます。

位置を決めたら、ゴールのサイズを「Inspector」の「Transform」にある「Scale」で設定します。まずは「X」に「6」、「Y」に「2」、「Z」に「6」と設定しておきますが、実際にプレイしてみながら調整するといいでしょう。またここで、「Cube」の名前を「Goal」としておきましょう。

次に「Goal」の外見を設定していきましょう。まず「Project」の「Create」から「Material」を選択し、名前を「Red」としておきます。「Inspector」内の「Main Color」を「赤系統色」に指定し、「Cube(Goal)」上にドラッグ&ドロップします(図6)。

図6:「Goal」となる「Cube」を赤に設定(クリックで拡大)

この「Goal」の上に「ゴール領域」を設定します。先ほどと同じように「Cube」を追加し、「Inspector」の「Transform」の「Scale」はそれぞれ「X」を「4」、「Y」を「5」、「Z」を「4」に設定し、名前も「GoalArea」としておきます(図7)。

図7:「Goal」の上に「GoalArea」を作る

次に、図7の「GoalArea」を選択し、「Inspector」の「Mesh Renderer」の右端の「歯車アイコン」をクリックして表示されるリストの一覧から、「Remove Component」を選択します。すると「GoalArea」が図8のように枠だけの表示になります。

図8:「GoalArea」が枠だけの表示になった

この枠は非表示になっており、実際のプレイ画面では見えません。プレイヤーが「Goal」に上がって、「GoalArea」に入ると「Goal!」と表示されるようにします。なお「GoalArea」の「Inspector」の「Box Collider」にある「Is Trigger」には、必ずチェックを入れてください。このチェックが入ってないとゴールの判定ができませんので、注意してください。

障害物の配置

続いて、障害物を配置していきます。Unityメニューの[GameObject]−[Create Empty]を選択し、「Hierarchy」内に「GameObject」を作成します。名前は「Obstacle」と指定します。

次に「Cube」を追加し、「GameObject(Obstacle)」の上にドラッグ&ドロップして、「GameObject」の子要素となるように配置してください。「Cube」を選択して、「Inspector」内の「Transform」にある「Scale」の「X」の上にマウスカーソルを持っていきます。すると、カーソルの形が「←→」に変わりますので、左右にドラッグすると「Cube」の「X」の値が変更されます。「Y」や「Z」の値も同様です。

Unityちゃんがジャンプで飛び越えられる障害物や、飛び越えられない障害物を、読者の皆さんの好きな位置に配置してください。時々「プレイ画面」で実行しながら配置していくといいでしょう。「Cube」が1個できたら、この「Cube」を選択して右クリックで表示されるメニューから「Duplicate」を選択すれば、複製できます。トランスフォームツールで好きな位置に配置してください。複製した「Cube」は元の「Cube」と同じサイズなので、「Transform」の「Scale」を調整して変更するといいでしょう。この辺りは読者が自由に配置していただいて構いません。筆者は図9のように配置してみました。

図9:障害物を配置した(クリックで拡大)

障害物にMaterialを設定する

現状では「Cube」が白一色なので、「Cube」に「Material」を設定しましょう。「Project」の「Create」から「Material」を3個追加し、それぞれ名前に「Blue」、「Green」、「Yellow」と指定しておきます。各「Material」を選択して「Inspector」の「Main Color」にそれぞれ、「青系統色」、「緑系統色」、「黄系統色」を指定して、「Scene」上に配置している「Cube」に適当にドラッグ&ドロップしていきます(図10)。

図10:障害物に色をつけてみた(クリックで拡大)

薬師寺国安事務所

薬師寺国安事務所代表。Visual Basic プログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。
1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。1997年に薬師寺聖とコラボレーション・ユニット PROJECT KySS を結成。2003年よりフリーになり、PROJECT KySS の活動に本格的に参加、.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。Windows Phoneアプリ開発を経て、現在はWindows ストア アプリを多数公開中

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています