2015年3月4日、Unityの最新版「Unity 5」が正式リリースされた。
ライセンスの名称は有料の「Unity 5 Professional Edition」と無料の「Unity 5 Personal Edition」の2つになり、今まで有料版でしか使用できなかった機能の大部分(プロファイラー、オクルージョンカリング、レンダーテクスチャ、ポストプロセスによる特殊効果など)が、無料でも使用可能になった。無料版については、従来通り、直前会計年度の総収益、もしくは総予算が10万ドル以下の個人、もしくは小規模チームに限定となっている。
Unity 5からの新機能は有料版、無料版ともに下記のようになっている。
グラフィック面で大きな機能強化が行われていて、下記動画で確認できる。
これらに加えて、有料版では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の強化が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人の女剣士が出合うと決闘が始まり、どちらか一方が敗れて倒れる。倒れた女剣士は消滅する。スペースキーを押すと再度、その女剣士が出現。再び出合うと決闘が始まる。そして敗れた方が消滅する」というプロセスを繰り返すものとする。
プロジェクトの作成から入ろう。今回のプロジェクト名は、「DuelofSwordwoman」とした。「Create」ボタンをクリックすると、「DuelofSwordwoman」のプロジェクトの「Scene」画面が表示される。この画面内でサンプルを作っていこう。
「Asset Store」の検索欄に「K_npcWOMAN」と入力して「リターン」キーを叩くと先頭に「K_npcWOMAN」が表示されるので、これをクリックする。すると「Import」画面に変わる(図2)。
通常は15ドルの有料アプリだが、筆者は一度15ドルを支払っているので、2回目以降は無料でダウンロードできる。初めて有料アプリを「Import」する場合は「Buy $15」と表示されている。
クレジットカードでの購入が完了すると、「Buy $15」のボタンが「Import」に変化する。これまでに解説してきた手順で「Import」してダウンロードしてほしい。もし「Update」と表示された場合は、先に「Update」してから「Import」する。
「Import」が完了すると、「Project」の「Assets」フォルダーの中に、「Background」「K_npcWOMAN」「Standard Assets」の3つのフォルダーが作成される(図3)
図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)。
次に「Main Camera」の位置を表1の値に指定する。
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」はカメラの中に入らないようにしておく。
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」を囲んでいる。
これを図7のように変更する。
それぞれの「Box Collider」の「Center」と「Size」の値は表2を参照してほしい。
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」への名前の登録は、前回の記事を参照してほしい。
Copyright© 2015 ITmedia, Inc. All Rights Reserved.