第4回目:MazeMaker|Tech Book Zone Manatee

マナティ

UnityおすすめAsset集

第4回目:MazeMaker

今回紹介するAssetは「MazeMaker」です。有料で$10.80になりますが、迷路を一瞬にして作成できます。ただ迷路を作っただけでは面白くないので、ここでは3Dオブジェクトも配置して、迷路の中を走らせるように作ってみましょう。

MazeMakerのインポート

Asset Storeの検索欄に「MazeMaker」と入力すると表示されます。初めての場合は「ダウンロード」→「インポート」と進んでください。筆者は何度も使用していますので、「インポート」と表示されています(図1)。

但し、このAssetは有料ですので、初めての方には「購入」と表示されています。「購入」ボタンをクリックすると、クレジットカードの登録をしていない方は、登録画面が表示されますので、表示される指示に従ってください。クレジットカードが認証されると「ダウンロード」にボタンが変わります。一度購入すると、後は何度でもダウンロードやインポートは可能になります。

図1 MazeMakerのダウンロード/インポート画面

図1から「ダウンロード」をクリックすると、「ダウンロード」→「インポート」と変化し、UnityのScene画面のProject内に図2のようなフォルダが作成され、必要なファイルが取り込まれます。

図2 M必要なファイルが取り込まれた

実際にMazeMakerを使って迷路を作成する

まず、HrerarchyのCreateから「3D Model」→「Cube」を選択して、Cubeを1個配置しておきます。何も設定をする必要はありません。

MazeMakerをインポートすると、Unityのメニューに「MazeMaker」のメニュー項目が追加されていますので、先ほど配置したCubeを選択した状態で、このメニューをクリックします。するとMake Mazeの画面が起動します。WidthとHeightに「15」を指定します(図3)。特に「15」と決められているわけではありません。値を大きくすると複雑な迷路が作成されますので、各自試してください。

図3 Make Mazeの画面が起動した

図3の画面から「Create」をクリックすると図4のように迷路が作成されます。

図4 迷路が作成された

色のついた迷路を作成する

色のついた迷路を作成するには、まずCubeを1個配置し、ProjectのCreateからMaterialを選択します。New Materialが作成されますので、名前を「Red」としておきましょう。

「Red」のMaterialを選択して、Inspectorから、Main Mapsの「Albedo」横にある白い矩形をクリックします。すると「Color」が表示されますので、「赤」を選択してください(図5)。すると図5のようにRedのMaterialも「赤い球」に変化します。

図5 Materialに「赤」を指定した

CubeにMaterialを適用する

図5のRedを選択して、Scene画面内のCubeにドラッグ&ドロップしてください。Cubeが赤に変化します。

この状態でCubeを選択してUnityメニューのMazeMakerを選択します。今回はWidthに「30」、Heightに「30」と指定してみましょう。Createボタンをクリックすると図6のような複雑な迷路が作成されます。図4では元となるCubeは目立っていませんので、そのままにしていますが、今回は元となるCubeが目立ちますので、元となるCubeはHierarchyから削除してください。

図6 複雑な迷路が作成された

Sphereの迷路を作成する

先ほどはCubeをもとに迷路を作成しましたが、特にCubeに限る必要はありません。例えばSphereを配置して、BlueのMaterialを作成し、Sphereに「青」を適用して、図6と同じようにMazeMakerを起動してWidthに「30」、Heightに「30」と指定すると図7のようにSphereで迷路が作成されます。元となるSphereは削除してください。

図7 Sphereで迷路が作成された

これで、迷路は作成できたのですが、この迷路は空中に作成されていますので、この迷路の中で3Dオブジェクトを動かすと下に落ちてしまいます。そこで、床を作りましょう。使用するのは、図6で作成した迷路を使用します。

迷路に床を作る

HierarchyのCreateから「3D Object」→「Plane」と選択します。図8のトランスフォームツールを使って、迷路の下にPlaneがうまく配置できるようにします。Planeの大きさは矩形で囲った「拡大・縮小」アイコンで設定してください。

図8 トランスフォームツール

最終的に図9のような迷路が完成します。ちゃんと床もついていますので、3Dモデルを動かしても落ちることはありません。

図9 床のついた迷路

では、この迷路の中で3Dモデルを走らせてみましょう。

3Dモデルを迷路の中で走らす

Asset Storeから第2回目で使用した、Mecanim Locomotion Starter KitとCartoon BigHead Starterの2つをインポートしてください。BigHeadsを動かす方法は第2回目で紹介していますので、そちらを参照してください。

Projectの「Assets」→「BigHeads Starter」の中にある、BigHeads.fbxを迷路の適当な場所に配置してください。BigHeadsのサイズが大きいと迷路の中でつかえて走れませんので、InspectorのTransformのScaleの「X」、「Y」、「Z」に「0.5」を指定して、少しサイズを小さくしてください。筆者は図10のように配置しました。

図10 BigHeadsを迷路内に配置した

先にも書きましたが、このBigHeadsの3Dモデルをキーボードの「上下左右矢印キー」で動かす方法については、第2回目を参照してください。

このままの状態で、BigHeadsを動かすと、カメラがBigHeadsの動きについて行けずに、BigHeadsを見失ってしまいます。そこでMain CameraをBigHeadsに追従させるよう設定します。

Main CameraをBigHeadsに追従させる

まず、HiearchyからMain Cameraを選択します。表示されるInspectorから「Add Component」をクリックして、「Camera-Control」→「Smooth Follow」と選択します。このSmooth FollowはMecanim Locomotion Starter Kitをインポートするとついてくるスクリプトです。

Main CameraのInspectorにSmooth Followが追加されますので、Targetに「BigHeads」、距離を表すDistanceに「5」、高さを表すHeightに「4」を指定し、少し上からの目線にします(図11)。このあたりの数値は、各自がいろいろ値を変えて確認しながら設定してみてください。

図11 Smooth Followを設定した

では、これでPlayしてみましょう。図12のような表示になります。

図12 BigHeadsが迷路の中を走っている

実際に動かした動画が動画1になります。

BigHeadsが迷路の中を走りまわっている

動画1 BigHeadsが迷路の中を走りまわっている

今回はこれで終わりです。この迷路に目的地を設定し、所要時間等を表示させるようにすれば、目的地に達するまでのタイムを競うゲームも作れると思います。皆さんで、ぜひ挑戦してみてください。

次回は、いろいろな種類のドラゴンを空中に飛ばすことが出来る「Little Dragons:Sea(有料)」の使い方を解説します。お楽しみに。

著者プロフィール

薬師寺国安事務所 薬師寺国安(著者)
薬師寺国安事務所代表。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。現在はUnity5、UE4、Excel VBAについて執筆活動中。
Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。