PR

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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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