Unityで回転、追従、ズームなどカメラの視点の切り替え方や表現を多彩にする4つのプレハブ:Unity 5で無料になった機能の使い方(3)(1/2 ページ)
ゲーム開発環境Unity 5の「Personal Edition」では、Unity 4.6以前では有料だった機能が無料で使えるようになった。本連載では、Unity 5で無料になった機能の使い方について解説していく。今回は、回転、追従、ズーム、手ブレなどカメラの視点の切り替え方や表現を多彩にするプレハブを紹介し、いくつか使い方も解説する。
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プレハブは、画面に手ブレを起こさせるものだ。
Unity 4.5/4.6と本連載における筆者の環境について
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」ボタンをクリックする。
Asset Storeから必要なAssetをインポートする
今回は3Dキャラクターに「Robot Kyle」を使用するので下記2つの無料Assetをインポートしてほしい。
- Space Robot Kyle(無料)
- Mecanim Locomotion Starter Kit(無料)
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」の作成方法については、これまでの連載で解説済みなので詳細は割愛する。
3Dキャラクターを配置して動かす
「Project」の「Assets」→「Robot Kyle」→「Model」フォルダー内の「Robot Kyle.fbx」を中央の「Cube」上にドラッグ&ドロップする(図4)。
「Robot Kyle」の「Animation Type」を「Humanoid」に指定する
今回も、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.
関連記事
- Windows 10、DirectX 12、Kinect、PlayStation 4、VRヘッドセット対応、Unity 5への移行に見るUnityの可能性と課題
クロスプラットフォーム対応のゲームエンジンとして多くのユーザーを抱える「Unity」。このUnityの開発者向けに、最新動向と技術情報を紹介する公式イベント「Unite 2015 Tokyo」が、4月13、14日に東京お台場で開催された。この記事では、4月13日に行われた、ソニー・コンピュータエンタテインメント、マイクロソフト、コロプラによる各セッションのダイジェストをお伝えする。 - ディープだが覚えておきたいUnityゲーム開発の小テク16選まとめ
2015年2月24日、「日本Androidの会 Unity部」の主催による「Visual Studio Tools for Unity」の勉強会が開催された。日本マイクロソフトのエバンジェリストによるVSTUの紹介やQ&Aに加え、UnityやVisual Studioを使いこなすプロのゲーム開発者によるライトニングトークも行われ、盛り上がりを見せた。 - ハッカソン、デバイス、海外展開、人材育成――ゲーム開発で私たちは今何をすべきか
2015年1月23〜25日、世界中で同時に行われた48時間にわたるゲーム開発ハッカソンの模様と、ゲーム開発がテーマのトークセッションをいくつかダイジェストでお届けする。 - ゲーム嫌いも知っておきたい3D CG/VRのエンタープライズ活用事例〜Unity Solution Conference 2014まとめ
ゲーム開発で有名なUnity。医療や建築、ヘルスケア、観光などゲーム以外の活用事例をイベントリポートでお届けする。 - 累計100万DLの人気ゲームに見るUnity 4.3のWindowsストア対応の実際
累計100万ダウンロードの人気ゲーム「サムライディフェンダー」について、iOS/Androidからの移植対応や独自機能実装などを担当者に聞いた。 - Oculus Rift、Unity、Openframeworks...感覚器官フル稼働の仮想空間を実現する
学生のアイデアを具現化するツールの進化・普及と、感覚器官をフルに使う人工現実感。表現とインターフェースについての学生の挑戦から「思い付き」を実現する環境のいまを知ろう。