ゲーム開発環境Unity 5の「Personal Edition」では、Unity 4.6以前では有料だった機能が無料で使えるようになった。本連載では、Unity 5で無料になった機能の使い方について解説していく。今回は、回転、追従、ズーム、手ブレなどカメラの視点の切り替え方や表現を多彩にするプレハブを紹介し、いくつか使い方も解説する。
記事「Unity Web Playerなどへの書き出し&Unity 4.6とUnity 5の互換性、基本的なメニューの違い」でも解説したが、Unity 5になってからメニュー「Assets」→「Import Package」で表示される内容が、Unity 4.6当時とは大幅に変更されている。
例えば、この中に「Cameras」という項目が新しく追加されていて、この「Cameras」を選択すると、下記4つのプレハブがImportされる。
今回は、これらのプレハブの中から「FreeLookCameraRig」「MultipurposeCameraRig」の使い方を解説する。FreeLookCameraRigとMultipurposeCameraRigを使った簡単なサンプルを作成することで、その動きを理解してほしい。
FreeLookCameraRigとはプレーヤーが周囲を見渡せるプレハブだ。「Target」(後述)に中心となるものを指定すると、自動的に対象を追従し、カメラの操作で周囲を見渡すことができるようになる。
MultipurposeCameraRigは、簡単にいうと、カメラが自動的に回転して向きを変えてプレーヤーを追い掛けるプレハブだ。これと似たようなものに「Smooth Follow」があるが、これはプレハブではなくスクリプトだ。
また実際に動かすと分かるが、MultipurposeCameraRigのプレーヤーの追い掛け方は、Smooth Followより自然な感じに受け取れる。
CctvCameraプレハブは、位置を変更しての追跡ではなく、ズームで追跡する機能。HandheldCameraプレハブは、画面に手ブレを起こさせるものだ。
Unity 4.5/4.6の使い方については、連載「ゲーム開発初心者のためのUnity入門」(まとめPDFもあり)を参照してほしい。また、Unity 5での新規プロジェクトの作り方やUnity 4.5/4.6とUnity 5の基本的なメニューの違いについては、記事「Unity Web Playerなどへの書き出し&Unity 4.6とUnity 5の互換性、基本的なメニューの違い」を参照してほしい。
なお筆者の環境では、Unity 4.5/4.6をインストールしたPCにUnity 5を追加している。機能を紹介するためのサンプルアプリを作る過程や、ローカルPCからのアセットのインポートなど、一部Unity 4.5/4.6の環境に依存している部分もあるが、本連載はUnity 5で無料で使えるようになった機能の紹介がメインなので、あらかじめご了承いただきたい。
まずは、新規プロジェクトを作成しよう。「Project name」に「Unity5_FreeLookCameraRigSample」と指定し、「3D」を選択して「Create project」ボタンをクリックする。
今回は3Dキャラクターに「Robot Kyle」を使用するので下記2つの無料Assetをインポートしてほしい。
Asset Storeの検索欄に「Space Robot Kyle」と入力すると「Import」画面が表示されるので、「Import」する(図1)。
「Mecanim Locomotion Starter Kit」については、今までに「Import」しているので、各自が「Import」しておいてほしい。
これら2つのAssetを「Import」すると「Project」内に「Import」したファイルのフォルダーが作成される(図2)。
では、次に舞台を作っていこう。
「Hierarchy」の「Create」→「3D Object」→「Plane」と選択する。「Plane」上に同じく、「Cylinder」を4個配置し、四隅に配置する。中央には「Cube」を1個配置する。配置した「Cylinder」と「Cube」にはシアン系統色のマテリアルを、「Plane」に黄色系統色のマテリアルを作成して適用させる。中央に配置する「Cube」は「Inspector」から「Transform」の「Scale」の「X」と「Z」に「2」を指定してサイズを大きくしておく。「Y」の値は小さくして低くしておく(図3)。
「Material」の作成方法については、これまでの連載で解説済みなので詳細は割愛する。
「Project」の「Assets」→「Robot Kyle」→「Model」フォルダー内の「Robot Kyle.fbx」を中央の「Cube」上にドラッグ&ドロップする(図4)。
今回も、3DキャラクターをMecanimを使って動かすため、「Robot Kyle」の「Animation Type」に「Humanoid」を指定する。Defaultでは「Animation」を使用するよう設定されているので、ここを「Animator」に変更する必要がある。下記の方法に従う。
「Hierarchy」から「Robot Kyle」を選択し、「Inspector」の「Model」の横にある「Select」をクリックする(図5)。
図5から「Select」をクリックし、表示される画面から「Rig」をクリックする。「Animation Type」が「Legacy」になっているので、「Humanoid」に変更し、「Apply」ボタンをクリックする(図6)。
これで、再度「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上を動き回れるようになる。
Copyright © ITmedia, Inc. All Rights Reserved.