連載
» 2015年03月04日 18時00分 UPDATE

ゲーム開発初心者のためのUnity入門(14):Unity 5正式リリース&AnimatorとAnimationの違いについて (1/3)

Unityで3Dゲームを作るまでのいろいろな処理を解説する連載。今回は、グラフィック面で大きな機能強化があったUnity 5正式リリースについてお知らせし、AnimatorとAnimationの違いについて解説する。

[薬師寺国安,PROJECT KySS]

Unity 5正式リリース

 2015年3月4日、Unityの最新版「Unity 5」が正式リリースされた。

unity14_zu_01.jpg 図1 「Unity 5」のサイト

 ライセンスの名称は有料の「Unity 5 Professional Edition」と無料の「Unity 5 Personal Edition」の2つになり、今まで有料版でしか使用できなかった機能の大部分(プロファイラー、オクルージョンカリング、レンダーテクスチャ、ポストプロセスによる特殊効果など)が、無料でも使用可能になった。無料版については、従来通り、直前会計年度の総収益、もしくは総予算が10万ドル以下の個人、もしくは小規模チームに限定となっている。

 Unity 5からの新機能は有料版、無料版ともに下記のようになっている。

  • 物理ベース 標準シェーダー
  • リアルタイムグローバルイルミネーション
  • HDR リフレクション プローブ
  • オーディオミキサー
  • 物理エンジン「PhysX 3.3」
  • Animattorの強化(アニメーション中のスクリプト関数を正確に制御するために、ステートマシンビヘイビアを追加など)
  • WebGLプレビュー
  • Oculus Rift サポート
  • iOS 8のMetal APIレンダリング

 グラフィック面で大きな機能強化が行われていて、下記動画で確認できる。

 これらに加えて、有料版ではTeam Licenseの標準搭載、Unity Cloud Build Proへの1年間無償アクセス権、Unity Analytics Pro、Game Performance Reporting、Asset Store Level 11、Unity 5.x β版アクセス権などの機能・特典が付与される。Unity 5の新機能の詳細については、図1の「Unity 5」のサイトを参照してほしい。

 本連載は、これまでUnity 4.5/4.6をベースに解説してきたが、最終回では、Unity 4ベースで作成されたサンプルがUnity 5でどのようになるのか、その違いを検証してお伝えするので、Unity 4.xユーザーは期待してほしい。

AnimatorとAnimationの違い

「ゲーム開発初心者のためのUnity入門」のインデックス

連載目次

 さて、Animatorの強化がUnity 5の新機能の一つとなっていたが、今回はそのAnimatorとAnimationに関する解説だ。

 前回の「Unityにおけるタグの実践的な使い方――作成と指定、スクリプトで複数Tagを取得してオブジェクトを判定」までは、Animatorと「Mecanim Locomotion Setup Kit」を使って3Dキャラクターを動かしてきたが、今回は連載第3回の「Unity Asset Storeの基本的な使い方と無料の人物3Dモデルの読み込み方」で紹介したAnimationを使って3Dキャラクターを動かしてみる。AnimatorとAnimationでは動かし方が大きく異なるので、今回はAnimationの使用方法を通じて、その違いを意識してほしい。

 そこで今回はAnimatorとAnimationのどちらかを選択できる3Dキャラクター、「K_npcWOMAN」を使う。これをAnimationで動かすことにする。

 サンプルは、「2人の女剣士が出合うと決闘が始まり、どちらか一方が敗れて倒れる。倒れた女剣士は消滅する。スペースキーを押すと再度、その女剣士が出現。再び出合うと決闘が始まる。そして敗れた方が消滅する」というプロセスを繰り返すものとする。

3DキャラをAnimationで動かす準備

 プロジェクトの作成から入ろう。今回のプロジェクト名は、「DuelofSwordwoman」とした。「Create」ボタンをクリックすると、「DuelofSwordwoman」のプロジェクトの「Scene」画面が表示される。この画面内でサンプルを作っていこう。

Animationで動かす3Dキャラのダウンロード

 「Asset Store」の検索欄に「K_npcWOMAN」と入力して「リターン」キーを叩くと先頭に「K_npcWOMAN」が表示されるので、これをクリックする。すると「Import」画面に変わる(図2)。

unity14_zu_02.png 図2 「K_npcWOMAN」の「Import」画面。「Import」をクリックする

 通常は15ドルの有料アプリだが、筆者は一度15ドルを支払っているので、2回目以降は無料でダウンロードできる。初めて有料アプリを「Import」する場合は「Buy $15」と表示されている。

 クレジットカードでの購入が完了すると、「Buy $15」のボタンが「Import」に変化する。これまでに解説してきた手順で「Import」してダウンロードしてほしい。もし「Update」と表示された場合は、先に「Update」してから「Import」する。

 「Import」が完了すると、「Project」の「Assets」フォルダーの中に、「Background」「K_npcWOMAN」「Standard Assets」の3つのフォルダーが作成される(図3)

unity14_zu_03.png 図3 「Assets」フォルダーの配下に作成されたサブフォルダー

 図3を見ると分かるが、「K_npcWOMAN」フォルダー内に「Humanoid」と「Legacy」というフォルダーがある。「Humanoid」フォルダー内にあるキャラクターファイルであるFBXファイルは、Animatorを使用する場合に使う。今回は、Animationを使用するので、「Legacy」フォルダー内にあるFBXファイルを使う。

舞台を作る

 「Hierarchy」の「Create」→「3D Object」→「Plane」を選択する。「Plane」の大きさはデフォルトのままでいい。「Light」から、光源となる「Directional Light」も配置しておこう。

 次に「Project」の「Assets」の中の「K_npcWOMAN」フォルダー内の「Legacy」フォルダー内にある、「K_npcWOMAN.FBX」を「Scene」の「Plane」上にドラッグ&ドロップする。2人の「K_npcWOMAN.FBX」を配置する。一人は、「Plane」よりかなり上方に配置しておく(図4)。

unity14_zu_04.png 図4 「K_npcWOMAN」を2人配置した。一人は「Plane」上に、もう一人は「Plane」より、かなり上方向に配置した

 次に「Main Camera」の位置を表1の値に指定する。

表1 「Main Camera」の「Transform」の値
Position Rotation Scale
X=0.7 X=0 X=1
Y=1 Y=0 Y=1
Z=0.75 Z=0 Z=1

 「Camera Preview」には図5のように表示される。「Plane」の上方向に配置した「K_npcWOMAN」はカメラの中に入らないようにしておく。

unity14_zu_05.png 図5 「Camera Preview」に表示された「Scene」

3Dキャラの設定

 2人の女剣士が共に同じ名前「K_npcWOMAN」では区別が付きにくいので、それぞれの「Inspector」から名前を変更しておこう。「Plane」に接触している女剣士を「K_npcWOMAN1」とし、上空にいる女剣士を「K_npcWOMAN2」としておこう。

 この「K_npcWOMAN2」の「Transform」の「Rotation」の「Y」の値はデフォルトで「-180」になっているので「0」としておく。2人の女剣士が向き合うような形にする。

 「K_npcWOMAN1」には、「Inspector」の「Add Component」→「Physics」から「Rigidbody」と「Box Collider」を選択して、「Rigidbody」と「Box Collider」を追加しておく。また、「K_npcWOMAN2」には「Box Collider」だけを追加しておく。「K_npcWOMAN1」に「Rigidbody」を追加しておかないと、衝突イベントが発生しないので注意してほしい。

 「Box Collider」(K_npcWOMAN1とK_npcWOMAN2を囲っている薄緑色の枠)はデフォルトのままでは図6のように「K_npcWOMAN」を囲んでいる。

unity14_zu_06.png 図6 「K_npcWOMAN2」のデフォルトの「Box Collider」の枠

 これを図7のように変更する。

unity14_zu_07.png 図7 修正した「K_npcWOMAN2」の「Box Collider」の枠

 それぞれの「Box Collider」の「Center」と「Size」の値は表2を参照してほしい。

表2 「Box Collider」の「Center」と「Size」の値
K_npcWOMAN1
Center X=0 Y=0.54 Z=0
Size X=1 Y=1.35 Z=1
K_npcWOMAN2
Center X=0 Y=0.87 Z=0
Size X=1 Y=1.83 Z=1

 「Plane」より上空に配置した「K_npcWOMAN2」の「Inspector」から、「Tag」に「GirlSword」と追加しておく。「Tag」への名前の登録は、前回の記事を参照してほしい。

       1|2|3 次のページへ

Copyright© 2015 ITmedia, Inc. All Rights Reserved.

TechTargetジャパン

@IT Special

- PR -
Loading

ホワイトペーパー(TechTargetジャパン)

注目のテーマ

転職/派遣情報を探す

【転職サーチ】SIer/Web企業/新規事業 スマホ開発で、あなたのキャリアを生かす

「派遣・フリーで働くメリット」とは? 活躍する派遣エンジニアの本音

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。