2018年1月13日土曜日

[Unity3D] オリジナルキャラクターにユニティちゃんのスクリプトを設定する方法

How to attach UnityChan assets to original charactors

Unity3D ゲームエンジン(以下 Unity)にオリジナキャラクターをインポートして「ユニティちゃん」と同じように操作できる方法をまとめました。
応用すれば MikuMikuDance 用のモデルにも適用できます。(下の画像)
blog.fujiu.jp  [Unity3D] オリジナルキャラクターにユニティちゃんの動作を設定する方法
アイティオール株式会社が公開したモデルを MMD4Mechanim で Unity にインポートしました


環境

  • Windows 10
  • MakeHuman 1.1.1
  • Unity 2017.3.0f3


オリジナルの人物モデルを作る

手っ取り早くオリジナルキャラクターを作るため人物のモデリングに特化した無料の MakeHuman を使いました。
MakeHuman のライセンスは AGPL3 ですが作ったモデルのライセンスは CC0 で利用できるようです。
キャラクターのデザインは自由ですが次の設定をしておくと Unity にインポートした後の不具合が少ないと思います。
  • Pose/Animate - Skelton は Cmu mb に設定する
  • Pose/Animate - Pose は Tpose に設定する
特に Skelton は Game engine に設定したら Unity にインポートした後「Required human bone 'Hips' not found」のエラーでリギングできなかったので要注意です。

キャラクターが完成したら
File - Export
で Filmbox (fbx) を選択して名前をつけて FBX ファイルにエクスポートします。


Unity にオリジナルモデルをインポートする

MakeHuman でエクスポートした FBX ファイルをサブフォルダーごと Unity の Project ウィンドウにインポートします。

Project ウィンドウの先ほどインポートした FBX ファイルを選択して Inspector の Rig の Animation Type を Humanoid に変更し Apply をクリックします。


Unity に "Unity-chan!" Model をインポートする

Asset Store から無料でダウンロード出来る "Unity-chan!" Model をインポートします。
このアセットのアニメーションやスクリプトをオリジナルキャラクターで動作させます。


オリジナルキャラクターに "Unity-chan!" のスクリプトを適用する

Project ウィンドウのオリジナルキャラクターを Hierarchy にドラッグ&ドロップします。

Hierarchy ウィンドウのオリジナルキャラクターに Project ウィンドウの
Assets - UnityChan - Prefabs - for Locomotion
の以下の3つのプレファブを追加します。
  • CamPos
  • FrontPos
  • JumpPos

オリジナルキャラクターの Inspector に Project ウィンドウの
Assets - UnityChan - Scripts
の UnityChanControlScriptWithRgidBody というスクリプトを追加します。
RgidBody と Capsule Collider が自動で追加されます。
RgidBody の Freeze Rotation の X・Y・Z をすべてオンにします。
Capsule Collider はキャラクターに合わせて大きさと位置を調整します。

オリジナルキャラクターの Inspector の Animator の Controller を UnityChanLocomotions に設定します。

Hierarchy の Main Camera に Project ウィンドウの
Assets - UnityChan - Scripts
の ThirdPersonCamera を追加します。

これで完了です。
地面がないと落下し続けるので Plane を追加して Mesh Corider をつけて地面として設置しました。
実行するとユニティちゃんと同じ動作をします。
カーソルキーで移動、走っている最中にスペースキーでジャンプします。


関連ブログ

MakeHumanでCLIP STUDIO用3Dキャラクターを作る方法
ゲームのグラフィックや音声を吸い出す方法 (Unity Assets Bundle Extractor)
[Blender] ManuelbastioniLAB でCLIP STUDIO用キャラクターを作る方法
Unity3D のC#スクリプトを Visual Studio Code で編集する方法



0 件のコメント:

コメントを投稿