LoginSignup
1
0

[MMD to Unity] YYB式初音ミクをUnityで動かそう [Unity 2022.3.19]

Last updated at Posted at 2024-02-14

はじめに

こんにちは
前回の記事の続編となります。

この記事では、UnityでMMDモデルに躍らせる方法を解説していきます。
ただ、これは非技術者にもわかりやすいように書いてるので、ある程度理解してる人は流し読みでもダイジョブです。

前回と同様、この記事では三目YYB作のYYB Hatsune Miku_defaultを使用します。

モーションは、後でも説明しますが、グレイ作の女の子がクルクル回るモーションを使用します。

Unityにミクを表示する

この記事を終わらせると、こんな感じになってるはずです。
あ、モデルとカメラの位置は自由にいじってもろて()

image.png

さて、それでは、ミクに踊らせる準備をしましょう。

ボーンを生成する

(言い方あってるかな...)
まぁ、この工程が無いと踊れないのであってるでしょう。

ボーンを生成します。

それでは、かつてピンク色になってたミクノファイルを探しに行きます。
ミクノファイルが見つかったら選択しましょう。
そうすると、右上にこんな表記が、、、
image.png

ここでRigを選択してください。
そうしたら、一番上のAnimation TypeHumanoidにします。
image.png

表示が変わると思いますが、完全に無視してApplyボタンを押します。
ちょっと待ちます。

あ、なんかピンク色になった
image.png

これは、原因不明ですが、適用されてるシェーダーが勝手に切り替わるからです。
なんで、マテリアルフォルダの中に入り、前回やったのと同じように、URPのLitにシェーダーを変更します。

image.png

それでもピンクの場合がありますが、ctrl + sでセーブしてやると色が戻ります。

それでは、ボーンがちゃんと生成されたか見に行きましょう

image.png
ここのConfigureボタンを押すと表示が変わります。

image.png

僕自身、あんま理解してないので細かい解説はできませんが、ここでボーンが不自然だったりすると、右に居る人の一部が赤くなったりします。
そうしたら、名前が一致するボーンを左の一覧から探してドラッグアンドドロップで追加する、みたいな感じです。

ただ、ここで使用しているMMD4Mecanimは、そこら辺が優秀なんです。
本当は、Blenderで変換してここに持ってくる方法もありますが、それだとボーンがハチャメチャになって修正が面倒です。

てことで、気が済むまでボーンを眺めたら、右の、人がたってる部分を下の方までスクロールするとDoneボタンがあるのでクリックします。
これで、ミクの踊る準備ができました。

次は、モーションを持ってきます。

MMDモーションを用意する

今回は、ダンスモーションではなく、グレイ作の女の子がクルクル回るモーションを使用します。
解釈違い?
知らん。

ダウンロードをし、解凍します。

MMDモーションの変換

モーションの変換のために、再度ミクの変換処理をする必要があるので、前回の記事の MMDモデルを準備する を参考に、Assets直下にMiku 2などの名前のフォルダを作成し、Textureフォルダとpmxファイルを入れてください。

あと、さっきダウンロードした女の子がクルクル回るモーションクルクル1周_ラスト左肘曲げ.vmdも入れます。

image.png
勝手に生成された、なんかかっこいいアイコンを選択して、規約に同意すると右にvmdと書いてある項目が出てくるので、そこにvmdのモーションファイルを入れます。

Processを押して待ちます。

Timelineの準備

ここからの方法は人によって分かれますが、後でモーションの修正をしたいので、Timelineを使用する方法を解説します。

さて、変換処理が終わると、こんな感じになってると思います。
image.png
この画像上で選択してるファイルがモーションのファイルです。

ただ、変換したままだとうまく動かないので、少し処理をします。

ボーンを生成する と同様に、この新しく作成したミクのボーンを生成します。
(RigのAnimation TypeをHumanoidにします。)

Humanoidになったら、モーションを選択し、ctrl + dで複製します。

次に、Assetsへ戻り、Assetsの何もない場所を右クリック、createからTimelineを作成します。
image.png
この、映画のフィルムアイコンです。
これをダブルクリックすると、Timelineタブが開かれます。

モデルにモーションをアサイン

次に、左のHierarchyの何もない部分を右クリックし、Create Emptyで空オブジェクトを作成します。

image.png
そうしたら、作成した空objの上にさっき作成したtimelineファイルを落とします。

image.png
そうすると、右にPlayable Directorコンポーネントが表示され、真ん中はこんな感じでなんかtimelineっぽい表示になるはずです。

そうしたら、+ > アニメーショントラックで項目を作成します。
image.png

image.png
こんなのが作成されるはずです。

それで、この何かが入りそうなNoneと書かれた部分に左のHierarchyにあるミクをNoneの部分に落とします。
image.png
で、この数字が書いてある部分に、前に複製したモーションファイルを落とします。

image.png
こうなる。

それで、できた箱をダブルクリックします。
点が沢山あるこれがアニメーションアニメ編集画面ですー。
image.png

Sceneタブを開き、Animationタブの再生ボタン「▶」をクリックすると、アニメーションが再生されます。

モーションのループ再生

timelineをアサインしたobjのInspectorのWrap ModeLoopにすると、ループ再生されます。
image.png
ここです。

モーションの修正

アニメーションタブを開くと沢山項目があると思います。
その、数字が書かれてる部分のちょっと左にカーソルを持って行くと、左右に振れそうなアイコンに変わります。
これを動かすと数値が変わり、動きを編集できます。

image.png
手順通りに進めて、環境がほぼ同じなら、こんな感じで、腕に新たな関節ができてる不自然な状態だと思います。
これは、操作可能な部分が腕に2つあり、挿入したモーションは、その片方にしか適用されてないことによって起こる不具合です。
具体的には、66.!joint_LeftArm, 24.!joint_RightArmにはモーションが割り当てられてますが、71.joint_LeftArmM, 29.joint_RightArmMには無いのでこうなってます。

それでは、編集していきましょう。

アニメーション窓を一番下までスクロールし、Add Propertyを押します。
出てくる窓から、
461 > 13 > 11 > 12 > 22 > 29 > Transform > Rotation

461 > 13 > 11 > 12 > 64 > 71 > Transform > Rotation
から、RightArmMとLeftArmMのRotationをそれぞれ追加します。
image.png
そしたら、腕が自然になるように修正します。

出来た映像がこちら

物理エンジン On

モーションにアサインしたミクを選択し、右に表示される窓の下の方にあるMMD4 Mecanim Model (Script)Physicsタブを選択し、一番上のPhysics EngineBullet Physicsにします。
image.png

それで再生すると、物理エンジンが適用されます。

最後に

MMDモデルをUnity上で動かす話をしてきました。

まだまだ理解して切れてない部分が多いので、改善点あればコメントしていただけると非常に助かります。

宣伝

クラブのVJやってます。
「中高生・初めましてに優しいボカクラ」Hello, Vocaloid、通称ハロボカが毎月第三日曜に新宿で開催してます。
大きい音で有名ボカロが聞けます。

終了。

では、また ノシ

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0