2014年12月06日

[Unity] MMDモデルを取り込んでゲームキャラクターとして動かす方法

遅ればせながら、なんとなくUnity始めてみました。

というわけで、超初心者がUnityを少し触ってみて出来た成果とその手順のメモ。なお、制作時のバージョンは4.6。

成果

http://chomstudio.com/d/uni/MMDRUN/MMDRUN.html
使用モデル:くま式結月ゆかり http://kummd.com

メモ

キャラクターを動かす

Sample Assets (Beta)
https://www.assetstore.unity3d.com/jp/#!/content/14474
ここに含まれるThird Person Characterを使用した。

手順

  1. とりあえずプロジェクト作成
  2. Sample Assets (Beta) をインポート
    1. Assets Storeからインポートボタンを押して直接インポートできる。
      1. ブラウザで上記URLを開いた後、「Unityで開く」をクリックするとUnity上のブラウザに移動する。(このブラウザはメニューのWindow>Assets Storeであとから表示できる。)
      2. Unityで開いたら「ダウンロード」になるのでクリック。
      3. ダウンロードが完了し、ダイアログが表示されたらImportボタンを押す。
      4. ※すでにダウンロード済のAssetは「C:\Users\(ユーザー名)\AppData\Roaming\Unity\Asset Store」にあるので、そこからAssetsに放り込んでも良い。
      5. ※よく使うAssetsで毎回そのフォルダを開くのが面倒くさい人は「C:\Program Files (x86)\Unity\Editor\Standard Packages」(Win7x64の場合)にコピーしておくと、Assetsの右クリック>Import Packageの一覧に表示されるので便利。
    2. なおインポートには割と時間かかる。
  3. キャラクターを設置
    1. Assets/Sample Assets/Characters/Third Person Character/Prefabs/Third Person Characterをシーン(Hierarchy)に放り込む
    2. キャラクター(イーサン君)が現れる
  4. このままだとキャラクターが奈落に落ちるので床をつくる。
    1. Hierarchy上で右クリック>3D Object>Plane
    2. 床が出来る。
  5. このままだとカメラ固定なのでマウスで動かせるようにする。
    1. Assets/Sample Assets/Cameras/Prefabs/Free Look Camera Rigをシーン(Hierarchy)に放り込む。
    2. もとからあったMain Cameraは要らないので削除する。
  6. このままでは暗いのでライトで明るくする。
    1. Hierarchy上で右クリック>Light>Directional light
    2. どうだ明くなつたろう
  7. 再生ボタンを押す。
  8. うごく。WASD/カーソルキーで移動、SPACEでジャンプ、マウスで視点操作。

MMDモデルの読み込み

MMD4Mecanim
http://stereoarts.jp/
PMD/PMXを変換し、Unityの汎用のキャラクターアニメーションに対応させるスクリプト。

手順

  1. MMD4Mecanimの取り込み
    1. 上記サイトからファイルをダウンロードし、ZIP内のMMD4Mecanim.unitypackageを取り出し、Assetsに放り込む。
    2. Importボタンを押して作業が終わるのを待つ。
  2. MMDモデルの取り込み
    1. Assetsを右クリックしてShow in Explolerを選ぶとAssetsの親フォルダが開く。
    2. そこからAssetsフォルダを開き、そこにお目当てのMMDモデルをフォルダごとコピーする。
    3. コピーが終わったらExplolerを閉じる。Unityに戻るとインポートがはじまる。
  3. モデルの変換
    1. AssetsのMMDモデルのフォルダを開くと、PMD/PMXの数だけ(モデルのファイル名).MMD4Mecanim.assetというファイルが増えているのがわかる。
    2. 上記ファイルを選択するとInspectorに注意書きが表示されるので内容に同意したら同意にチェックを入れて同意ボタンを押す。
    3. いろいろ設定があるが無視して「Process」を押す。
    4. DOS画面やインポート画面が表示されたのちAssetsにfbxが表示されるが、完全に変換が完了するまでさらに少し待つ。
  4. 人型モデルの設定
    1. これでゲーム中に使えるようににはなったが、モデルが人型キャラクターなのであれば以下の設定が必要。ていうか人型じゃないと動きません。
      1. ※足の長さからキャラクターの歩幅を自動的に計算しているらしく、足が短いキャラクターは移動速度が遅く、足がないキャラクターはその場から全く動けなくなる。車や浮遊キャラの変換には注意が必要。
    2. 先ほど変換が終わった、Assets内のfbxを選択する。
    3. InspectorにModel/Rig/Animationsとあるところの、Rigを選択。
    4. Animation TypeがGenericとなっているので、これをHumanoidに変更、Applyを押す。
    5. これで人型キャラクターとして認識される。

MMDモデルをゲームキャラクターとして動かす

手順

  1. シーン(Hierarchy)のThird Person Characterの下のEthanを選択、削除。
  2. prefabが解除されるぞと警告されるが、構わずcontinue
  3. 先ほど変換したfbxモデルをThird Person Chacterに重ねて放り込み、子にする。
  4. 再生ボタンを押せば、先ほどのイーサン君の代わりにMMDキャラクターが動き出す。
  5. ※注.この場合、Third Person Characterとキャラクターモデルの3D空間上同じ位置に重なるように配置する必要がある。キャラクターモデルのTransformPosition値を確認して、X:0 Y:0 Z:0になっていることを確認すること。これは親オブジェクト(この場合はThird Person Chatacter)からの相対位置を示している。
  6. なおこのままではスカートや髪などのいわゆる「揺れもの」が動かない。動かすためには…
    1. シーン(Hierarchy)上にあるキャラクターを選択する。
    2. InspectorのMMD4Mecanim内にPhysics Engineという項目があり、「None」になっているならこれをBullet Physicsに変更する。
    3. これで動くはずだが、実行時に格段に重くなるので注意。

ビルド

今回はWebPlayerとしてリリースしてみる。

手順

  1. ファイルメニューからBuild Settingを選択
  2. すでにチェックされているシーンはすべてSample Assetsのサンプルなので、全部のチェックをはずす
  3. 全部はずしたらAdd Currentを押す。ここまでセーブしてない場合はセーブする。
  4. 今名前をつけたシーンひとつだけがチェックされていることを確認する。
  5. 下のPlatformからWeb Playerを選択。オプションは気にしない。
  6. Buildを押す。フォルダ選択画面になるが、その場で右クリック>新規フォルダを作成して適当に名前をつけ、そのフォルダを選択した状態で「フォルダの選択」を押す。
  7. ビルド中しばらく待つ。
  8. 終わったら指定したフォルダに*.htmlと*.unity3dというファイルが増えているので、これを両方共、FTPなどでサイトにアップロードする。
  9. ブラウザからhtmlにアクセスする。
  10. 動かしてあそぶ。
posted by ちょむ at 22:59| Comment(0) | TrackBack(0) | Unity
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/106202706
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック