Unity 5で無料で使えるようになった4つのカメラプレハブ

連載目次

記事「Unity Web Playerなどへの書き出し＆Unity 4.6とUnity 5の互換性、基本的なメニューの違い」でも解説したが、Unity 5になってからメニュー「Assets」→「Import Package」で表示される内容が、Unity 4.6当時とは大幅に変更されている。

例えば、この中に「Cameras」という項目が新しく追加されていて、この「Cameras」を選択すると、下記4つのプレハブがImportされる。

FreeLookCameraRig

MultipurposeCameraRig

CctvCamera

HandheldCamera

今回は、これらのプレハブの中から「FreeLookCameraRig」「MultipurposeCameraRig」の使い方を解説する。FreeLookCameraRigとMultipurposeCameraRigを使った簡単なサンプルを作成することで、その動きを理解してほしい。

FreeLookCameraRigとはプレーヤーが周囲を見渡せるプレハブだ。「Target」（後述）に中心となるものを指定すると、自動的に対象を追従し、カメラの操作で周囲を見渡すことができるようになる。

MultipurposeCameraRigは、簡単にいうと、カメラが自動的に回転して向きを変えてプレーヤーを追い掛けるプレハブだ。これと似たようなものに「Smooth Follow」があるが、これはプレハブではなくスクリプトだ。

また実際に動かすと分かるが、MultipurposeCameraRigのプレーヤーの追い掛け方は、Smooth Followより自然な感じに受け取れる。

CctvCameraプレハブは、位置を変更しての追跡ではなく、ズームで追跡する機能。HandheldCameraプレハブは、画面に手ブレを起こさせるものだ。

サンプルの準備

まずは、新規プロジェクトを作成しよう。「Project name」に「Unity5_FreeLookCameraRigSample」と指定し、「3D」を選択して「Create project」ボタンをクリックする。

Asset Storeから必要なAssetをインポートする

今回は3Dキャラクターに「Robot Kyle」を使用するので下記2つの無料Assetをインポートしてほしい。

Space Robot Kyle（無料）

Mecanim Locomotion Starter Kit（無料）

Asset Storeの検索欄に「Space Robot Kyle」と入力すると「Import」画面が表示されるので、「Import」する（図1）。

図1 「Space Robot Kyle」を「Import」する

「Mecanim Locomotion Starter Kit」については、今までに「Import」しているので、各自が「Import」しておいてほしい。

これら2つのAssetを「Import」すると「Project」内に「Import」したファイルのフォルダーが作成される（図2）。

図2 ファイルが「Import」された

舞台を作る

では、次に舞台を作っていこう。

「Hierarchy」の「Create」→「3D Object」→「Plane」と選択する。「Plane」上に同じく、「Cylinder」を4個配置し、四隅に配置する。中央には「Cube」を1個配置する。配置した「Cylinder」と「Cube」にはシアン系統色のマテリアルを、「Plane」に黄色系統色のマテリアルを作成して適用させる。中央に配置する「Cube」は「Inspector」から「Transform」の「Scale」の「X」と「Z」に「2」を指定してサイズを大きくしておく。「Y」の値は小さくして低くしておく（図3）。

図3 「Plane」上に「Cylinder」と「Cube」を配置した

「Material」の作成方法については、これまでの連載で解説済みなので詳細は割愛する。

3Dキャラクターを配置して動かす

「Project」の「Assets」→「Robot Kyle」→「Model」フォルダー内の「Robot Kyle.fbx」を中央の「Cube」上にドラッグ＆ドロップする（図4）。

図4 「Robot Kyle」を配置した

「Robot Kyle」の「Animation Type」を「Humanoid」に指定する

今回も、3DキャラクターをMecanimを使って動かすため、「Robot Kyle」の「Animation Type」に「Humanoid」を指定する。Defaultでは「Animation」を使用するよう設定されているので、ここを「Animator」に変更する必要がある。下記の方法に従う。

「Hierarchy」から「Robot Kyle」を選択し、「Inspector」の「Model」の横にある「Select」をクリックする（図5）。

図5 「Select」をクリックする

図5から「Select」をクリックし、表示される画面から「Rig」をクリックする。「Animation Type」が「Legacy」になっているので、「Humanoid」に変更し、「Apply」ボタンをクリックする（図6）。

図6 「Animation Type」に「Humanoid」を指定する

これで、再度「Hierarchy」から「Robot Kyle」を選択すると、「Inspector」内の「Animation」だったところが「Animator」に変わっている。

「Mecanim」を使って「3Dキャラクター」を動かす方法は、Unity 4.6の時と変わりはない。連載『ゲーム開発初心者のためのUnity入門』で、何度も取り上げてきているので、ここでは簡単な解説にとどめておく。

まず、「Hierarchy」から「Robot Kyle」を選択し、表示される「Inspector」の「Animator」の「Controller」に「Locomotion」を指定する。

次に、「Add Component」から「Physics」→「Character Controller」と指定する。「Inspector」に表示された「Character Controller」の「Center」の「Y」に「1」と指定する。同じく、「Add Component」から「Scripts」→「Locomotion Player」と選択する。

以上の設定で、3DキャラクターはPlane上を動き回れるようになる。

1|2 次のページへ