Shuriken初心者脱出!第2回「3Dモデル(mesh)をUniryで使うには?」

3Dモデル(mesh)をUniryで使うには?

こんにちは。
「ゲームアニメーション制作チーム」です。
本日記事を書いている担当者は、主に「Unity(ユニティ)」でモバイルゲームアプリ向けのエフェクトを制作しております。

今回は、前回に引き続き、「Unityで制作するエフェクト」について、少し語らせて頂きます。
※今回は「全体の流れ」を説明するために、かなりざっくりとした説明になっています。

ひとつひとつの細かい操作や設定などは、次回以降のエントリをご覧ください。

Unityで3Dモデルを使うには?

Unityでオリジナルの3Dモデルを使用するには、まずmayaなどの3Dモデルの作成ソフトで3Dモデルを制作する必要があります。
オブジェクトの命名、UV展開、アニメーションの設定(必要であれば)まで行います。
今回は、ユニティちゃんが杖を振ったときの軌跡エフェクトを作りました。
(スクリーンショットはmaya2016です)

スクリーンショットmaya2016

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

半分を空白にした画像

↑こんなテクスチャを貼っています。UV座標は後ほどアニメーションさせるために、半分を空白にしておきます。

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です)

Windows8とUnity5.3.5

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

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モデルの質感をそれぞれ設定することができます。

3Dモデルの質感をそれぞれ設定

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

マテリアルのX offsetを+0.5

↑軌跡テクスチャを見やすくするために、マテリアルのX offsetを+0.5にしています。0にすると、「モデル自体は存在しているけれど(すべて透明なので)何も表示されない」という状況を作ることができます。

もちろんShutikenでも使えます!

particleSystemのShapeやRenderで「mesh」を指定することにより、particleSystem(shuriken)でも3Dモデルを扱うことができます。

particleSystem(shuriken)

↑軌跡用の3Dモデルとテクスチャをshurikenでたくさん飛ばすと、ソニックブームを飛ばすエフェクトに早変わり…?!

いかがだったでしょうか。
今回は冒頭に書いたように、かなりザックリとした説明になっておりますので、1度も3Dmeshを使用したことが無い方は、少し混乱されてしまうかもしれません。

今回のエントリではひとまず、エフェクト用3Dの制作のために、何かプログラミングをしたり、職人技のようなモデリングをしたりする必要は無いんだ!というコトだけでもお伝えできれば幸いです(*・ω・*)

次回は、「軌跡エフェクト」と「魔法陣エフェクト」の実際の制作工程を詳しく紹介させていただきます。
興味を持っていただけた方はぜひ、読んでみてくださいね。

まとめ

・Unityで3Dモデルを使いたいときは、別途他のソフトでモデルを作る必要がある!
・3DモデルのUVマッピングに工夫をしておくと、色々便利!
・shurikenはビルボードの他に、meshも飛ばすことができる!

素材をお借りしました

  • キャラクタ3Dモデル(SDユニティちゃん):
    Unity Technologies Japan様 http://unity-chan.com


■ Shuriken初心者脱出シリーズの記事はこちらもチェック!
Shuriken初心者脱出!第1回「エフェクトなのにモデリング?」
shuriken初心者脱出!第3回「3Dmeshで作る!斬撃エフェクト、魔法陣エフェクト」

動画

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

サービス詳細ページはこちら

ゲームアニメーション制作ならジーアングルへお任せ下さい

コンシューマー・ソーシャル・PC・アーケードなど
あらゆるプラットフォーム向けに ゲームアニメーション制作を対応させて頂いております。
Unity・Spine・SpriteStudio・BISHAMON・AfterEffectなど幅広くツールも対応しておりますので、 キャラクターモーション、エフェクト、各種演出アニメーション制作を、 案件に併せたツール仕様のご提案からご協力させて頂きます。 最高のゲーム開発をお手伝いをさせて頂きます!

ゲームアニメーション制作サービスの詳細はこちら
ゲームアニメーション制作ならジーアングルへお任せ下さい