ゲームエンジンUnityがUnite Japan2014で公開したユニティちゃんというオリジナルキャラクターが自由に使うことが出来るユニティちゃんライセンスで現在公開されています。
今回はこれをゼロからUE4で表示させてみようという試みです。念の為にユニティちゃんライセンスの表示もしておきます。
本コンテンツは、『ユニティちゃんライセンス条項』に基づいて公開・配布されるものです。本コンテンツをご利用される場合は、ユニティ・テクノロジーズ・ジャパン合同会社が定める『キャラクター利用のガイドライン』をお守りいただく必要があります。
まずは素材データの取り出し
※注意 ユニティちゃんバージョン1.1以降ではアニメーションの問題があることを確認しています。以下の方法はバージョン1.0でのものとなりますので、下記のリンクからバージョン1.0のものをダウンロードして使用してください。
※直接ダウンロードできますが、ライセンス条項はしっかりと読んでください。
ユニティちゃん 3Dモデルデータ - ダウンロード - UNITY-CHAN! OFFICIAL WEBSITE
使用するためにはUE4上で読み込むために必要なFBXデータが必要となります。FBXの説明はここではしませんが、とりあえずキャラクターそのもののデータと思ってもらえればいいと思います。
配布されているデータは"unitypackage"というゲームエンジンUnityでパッケージされたデータです。まずはUnityを使う必要がありますので、フリー版Unityをダウンロードし、Unityで配布データの"UnityChan.unitypackage"をインポートしてください。Unityが入っていればダブルクリックするだけで自動的に新プロジェクトが作成され、インポートされるはずです。上手くいかない場合は何度か"Assets->Import Package->Custom Package"をしてみましょう。
それが完了した後はUnityプロジェクトのAssetsフォルダーの中にデータが大量に生成されていると思います。しかしここで必要になるのは主に2つのデータだけです。拡張子が"fbx"と"tga"のデータだけを検索するなどして一箇所に集めてください。集めると大体こんな感じになると思います。
いくつかいらないものも入っていますが、とりあえず今は気にせずに。
必須ではないけど、やっておくといいこと
公開されているFBXデータは最新のFBX規格のFBX2013ではないようです。UE4では基本的に最新技術が使われているためにFBXも2013形式である必要があるようで、インポート時にモーフターゲットが正常に出力されない等の問題があります。
これをなんとかしたい場合にはAutodesk社が無料で提供しているFBX Converterを使用して、FBX 2013フォーマットに変換しておく必要があります。
Autodesk - Autodesk FBX - FBX® 2013.3 Converter
使い方は解説しませんが、出来る限りコンバーターを通しておくことをオススメします。
UE4でプロジェクトを作成
いよいよUE4でプロジェクトを作成し、ユニティちゃんを表示させていきましょう。
UE4を起動し、New Projectを選択します。素材も特にいらないので、今はBlank状態でInclude starter contentもチェックを外しておきます。
プロジェクトができたら素材をインポートしていきます。
素材のインポート
Content BrowserにあるImportボタンを押して、さっき集めておいたユニティちゃんの素材を選びます。まずは本体のモデルデータ、"unitychan.fbx"をインポートしましょう。そうするとFBX Import Optionsが表示されると思うので、以下のようなオプションでインポートします。
インポートが終われば"unitychan_tail"というスケルタルメッシュデータとそのスケルトンデータが出来ていると思います。"unitychan_tail"をダブルクリックして開いてみましょう。なにもマテリアルが割り当てられていないユニティちゃんが表示されると思います。
ここから次にテクスチャーをインポートしましょう。今回最低限必要になるテクスチャーはこれだけです。
これらをインポートし、すぐにインポートしたテクスチャー全てを選択した状態で右クリックし、"Create Material"を選択します。テクスチャーがマテリアル化し、貼り付けることが可能となります。
マテリアルを適応していく
そのままだとマテリアル情報がない状態なのでのっぺりとした状態で見栄えがよくありません。再び"unitychan_tail"をダブルクリックしましょう。左下の"Mesh Details"の中に"Materials"という一覧があると思います。9つあってここにさっきマテリアル化したテクスチャーを適応します。適応するには一覧の項目の中にある、左向き矢印のすぐ左をクリックして、マテリアルを選んでいきます。9つのマテリアルは上から順番に以下の名前で適応します。
- hair_01_Mat
- body_01_Mat
- skin_01_Mat
- cheek_00_Mat
- face_00_Mat
- 特に割り当て必要なし?
- eye_iris_L_00_Mat
- eye_iris_R_00_Mat
- eyeline_00_Mat
一部マテリアルの修正
頬っぺたがおかしいことに気づくと思います。これは"cheek_00_Mat"が半透明の設定になっていないからです。UE4でマテリアルを半透明にするためにはContent Browserから"cheek_00_Mat"をダブルクリックして、マテリアルエディターをまず開きます。
Detailsの中にMaterialの情報があるので、"Blend Mode"の値を"Translucent"に変更します。そして画像のようにエディターを編集し、ノードを繋ぎ合わせます。
最後に左上の方にあるApplyボタンを押して適応してください。
これで頬っぺたの頬紅が半透明になったはずです。
最後にアニメーション
最後になんでもいいので、アニメーションをさせてポーズをとらせてみましょう。
再びインポートをし、今度は"unitychan_WIN00.fbx"というデータを読み込んでみましょう。オプションは特に意識せずにどのスケルトンに割り当てるかだけ選択しましょう。
あとは読み込んだアニメーションデータをダブルクリックしてみてください!そこには精一杯の元気な姿のユニティちゃんが動いているはずです!ただ、デフォルトのライティングはマテリアルのパラメータを弄っていないためちょっとコワイです!一旦画面の左上の方にある"View Mode"の"Lit"を"Unlit"にしましょう。これできっとそこそこにみれるユニティちゃんがみれると思うので、ポーズを止めて自由にカメラを動かしてナイスショットを撮りましょう!
この先は…
もちろん今回はまだ本当に表示しただけで何もしていません。Content Browserからレベルのビューポート内にドラッグ&ドロップしただけでユニティちゃんは使える状態になりますが、思考も何もないのでただの棒状態です。また表示もまだまだ修正の余地がありますので、パラメーターを弄ってみたり、他のアニメーションを動かしてみたり、色んなことを試してみてください。
UE4でゲームとして動かす素材は十分に揃っています。私も現在色々とやっているところなので、何か面白いことをやった人はぜひ教えてください!