こんにちは。
「ゲームアニメーション制作チーム」です。
本日記事を書いている担当者は、主に「Unity(ユニティ)」でモバイルゲームアプリ向けのエフェクトを制作しております。
今回は、前回に引き続き、「Unityで制作するエフェクト」について、少し語らせて頂きます。
※今回は「全体の流れ」を説明するために、かなりざっくりとした説明になっています。
ひとつひとつの細かい操作や設定などは、次回以降のエントリをご覧ください。
Unityで3Dモデルを使うには?
Unityでオリジナルの3Dモデルを使用するには、まずmayaなどの3Dモデルの作成ソフトで3Dモデルを制作する必要があります。
オブジェクトの命名、UV展開、アニメーションの設定(必要であれば)まで行います。
今回は、ユニティちゃんが杖を振ったときの軌跡エフェクトを作りました。
(スクリーンショットはmaya2016です)

↑杖を振る軌跡に合わせてNURBSカーブを作成し、ポリゴンモデルへ変換しました。

↑こんなテクスチャを貼っています。UV座標は後ほどアニメーションさせるために、半分を空白にしておきます。
↑UV座標を移動させると、スラッシュのテクスチャがモデルに合わせて動きます。
コンストレイン等、FBXに保存できない内容はベイクしましょう。
なお、UVスクロール(頂点アニメーション)の情報はFBXファイルへ出力できませんので、UnityのMaterialのAnimationに再設定する必要があります。
さらに、ヒストリ情報が残っているとFBXへ出力できないことがあります。
編集>デフォーマ以外のヒストリ メニューから、ヒストリを削除しておきましょう。

↑シーンに余計なデータがあるとFBX出力時にエラーを起こしてしまうことがあります。必要な要素をアウトライナで選択し、「選択項目の書き出し」メニューから出力すると綺麗なFBXデータを書き出すことができます。
※Unityのマニュアルには「最新バージョンのFBXを使用してください」と記載がありますが、2017年6現在では何故か、FBX2016よりもFBX2014/2015で書き出した方が安定してモデルの読み込みができます。(ファイルタイプもBinaryよりASCIIが良い)
書き出したFBXを、ファイルブラウザからUnityのProjectパネルに直接ドラッグ&ドロップします。
(スクリーンショットはWindows8とUnity5.3.5です)

Inspectorで読み込み内容を設定します。
Particleシェーダー等でマテリアルも準備しておきましょう。


↑Inspectorパネルで、それぞれ必要な項目を設定していきます。設定内容はUnity公式マニュアルを参照すると詳しく記載されています。
3Dmeshの読み込み設定:https://docs.unity3d.com/ja/current/Manual/class-FBXImporter.html
マテリアルの作成:https://docs.unity3d.com/ja/current/Manual/Materials.html
prefabのように、ProjectフォルダからHierarchyパネルへドラッグ&ドロップすると3Dモデルを表示させることができます。
「meshFilter」コンポーネントでは3Dモデルの形状を、「meshRender」コンポーネントでは3Dモデルの質感をそれぞれ設定することができます。

↑モデルをInspectorパネルに置いた状態。refabと同じように、Inspectorパネルにファイルをドラッグ&ドロップすることで、先ほど制作した3Dモデルが使用できます。

↑軌跡テクスチャを見やすくするために、マテリアルのX offsetを+0.5にしています。0にすると、「モデル自体は存在しているけれど(すべて透明なので)何も表示されない」という状況を作ることができます。
もちろんShutikenでも使えます!
particleSystemのShapeやRenderで「mesh」を指定することにより、particleSystem(shuriken)でも3Dモデルを扱うことができます。

↑軌跡用の3Dモデルとテクスチャをshurikenでたくさん飛ばすと、ソニックブームを飛ばすエフェクトに早変わり…?!
いかがだったでしょうか。
今回は冒頭に書いたように、かなりザックリとした説明になっておりますので、1度も3Dmeshを使用したことが無い方は、少し混乱されてしまうかもしれません。
今回のエントリではひとまず、エフェクト用3Dの制作のために、何かプログラミングをしたり、職人技のようなモデリングをしたりする必要は無いんだ!というコトだけでもお伝えできれば幸いです(*・ω・*)
次回は、「軌跡エフェクト」と「魔法陣エフェクト」の実際の制作工程を詳しく紹介させていただきます。
興味を持っていただけた方はぜひ、読んでみてくださいね。
まとめ
- Unityで3Dモデルを使いたいときは、別途他のソフトでモデルを作る必要がある!
- 3DモデルのUVマッピングに工夫をしておくと、色々便利!
- shurikenはビルボードの他に、meshも飛ばすことができる!
☆素材をお借りしました☆
キャラクタ3Dモデル(SDユニティちゃん):
Unity Technologies Japan様 http://unity-chan.com
■ Shuriken初心者脱出シリーズの記事はこちらもチェック!


弊社Webページの「アニメーションサンプル」にて、筆者とチームメンバーが制作したエフェクトがご覧いただけます。ぜひご覧ください。