はじめに
こんにちは
前回の記事の続編となります。
この記事では、UnityでMMDモデルに躍らせる方法を解説していきます。
ただ、これは非技術者にもわかりやすいように書いてるので、ある程度理解してる人は流し読みでもダイジョブです。
前回と同様、この記事では三目YYB
作のYYB Hatsune Miku_default
を使用します。
モーションは、後でも説明しますが、グレイ
作の女の子がクルクル回るモーション
を使用します。
Unityにミクを表示する
この記事を終わらせると、こんな感じになってるはずです。
あ、モデルとカメラの位置は自由にいじってもろて()
さて、それでは、ミクに踊らせる準備をしましょう。
ボーンを生成する
(言い方あってるかな...)
まぁ、この工程が無いと踊れないのであってるでしょう。
ボーンを生成します。
それでは、かつてピンク色になってたミクノファイルを探しに行きます。
ミクノファイルが見つかったら選択しましょう。
そうすると、右上にこんな表記が、、、
ここでRig
を選択してください。
そうしたら、一番上のAnimation Type
をHumanoid
にします。
表示が変わると思いますが、完全に無視してApply
ボタンを押します。
ちょっと待ちます。
これは、原因不明ですが、適用されてるシェーダーが勝手に切り替わるからです。
なんで、マテリアルフォルダの中に入り、前回やったのと同じように、URPのLitにシェーダーを変更します。
それでもピンクの場合がありますが、ctrl + s
でセーブしてやると色が戻ります。
それでは、ボーンがちゃんと生成されたか見に行きましょう
僕自身、あんま理解してないので細かい解説はできませんが、ここでボーンが不自然だったりすると、右に居る人の一部が赤くなったりします。
そうしたら、名前が一致するボーンを左の一覧から探してドラッグアンドドロップで追加する、みたいな感じです。
ただ、ここで使用しているMMD4Mecanimは、そこら辺が優秀なんです。
本当は、Blenderで変換してここに持ってくる方法もありますが、それだとボーンがハチャメチャになって修正が面倒です。
てことで、気が済むまでボーンを眺めたら、右の、人がたってる部分を下の方までスクロールするとDone
ボタンがあるのでクリックします。
これで、ミクの踊る準備ができました。
次は、モーションを持ってきます。
MMDモーションを用意する
今回は、ダンスモーションではなく、グレイ
作の女の子がクルクル回るモーション
を使用します。
解釈違い?
知らん。
ダウンロードをし、解凍します。
MMDモーションの変換
モーションの変換のために、再度ミクの変換処理をする必要があるので、前回の記事の MMDモデルを準備する を参考に、Assets直下にMiku 2
などの名前のフォルダを作成し、Texture
フォルダとpmx
ファイルを入れてください。
あと、さっきダウンロードした女の子がクルクル回るモーション
のクルクル1周_ラスト左肘曲げ.vmd
も入れます。
勝手に生成された、なんかかっこいいアイコンを選択して、規約に同意すると右にvmd
と書いてある項目が出てくるので、そこにvmdのモーションファイルを入れます。
Process
を押して待ちます。
Timelineの準備
ここからの方法は人によって分かれますが、後でモーションの修正をしたいので、Timeline
を使用する方法を解説します。
さて、変換処理が終わると、こんな感じになってると思います。
この画像上で選択してるファイルがモーションのファイルです。
ただ、変換したままだとうまく動かないので、少し処理をします。
ボーンを生成する と同様に、この新しく作成したミクのボーンを生成します。
(RigのAnimation TypeをHumanoidにします。)
Humanoidになったら、モーションを選択し、ctrl + d
で複製します。
次に、Assetsへ戻り、Assetsの何もない場所を右クリック、createからTimeline
を作成します。
この、映画のフィルムアイコンです。
これをダブルクリックすると、Timelineタブが開かれます。
モデルにモーションをアサイン
次に、左のHierarchy
の何もない部分を右クリックし、Create Empty
で空オブジェクトを作成します。
そうしたら、作成した空objの上にさっき作成したtimelineファイルを落とします。
そうすると、右にPlayable Director
コンポーネントが表示され、真ん中はこんな感じでなんかtimelineっぽい表示になるはずです。
そうしたら、+ > アニメーショントラック
で項目を作成します。
それで、この何かが入りそうなNone
と書かれた部分に左のHierarchyにあるミクをNone
の部分に落とします。
で、この数字が書いてある部分に、前に複製したモーションファイルを落とします。
それで、できた箱をダブルクリックします。
点が沢山あるこれがアニメーションアニメ編集画面ですー。
Sceneタブを開き、Animationタブの再生ボタン「▶」をクリックすると、アニメーションが再生されます。
モーションのループ再生
timelineをアサインしたobjのInspectorのWrap Mode
をLoop
にすると、ループ再生されます。
ここです。
モーションの修正
アニメーションタブを開くと沢山項目があると思います。
その、数字が書かれてる部分のちょっと左にカーソルを持って行くと、左右に振れそうなアイコンに変わります。
これを動かすと数値が変わり、動きを編集できます。
手順通りに進めて、環境がほぼ同じなら、こんな感じで、腕に新たな関節ができてる不自然な状態だと思います。
これは、操作可能な部分が腕に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をそれぞれ追加します。
そしたら、腕が自然になるように修正します。
出来た映像がこちら
物理エンジン On
モーションにアサインしたミクを選択し、右に表示される窓の下の方にあるMMD4 Mecanim Model (Script)
のPhysics
タブを選択し、一番上のPhysics Engine
をBullet Physics
にします。
それで再生すると、物理エンジンが適用されます。
最後に
MMDモデルをUnity上で動かす話をしてきました。
まだまだ理解して切れてない部分が多いので、改善点あればコメントしていただけると非常に助かります。
宣伝
クラブのVJやってます。
「中高生・初めましてに優しいボカクラ」Hello, Vocaloid、通称ハロボカ
が毎月第三日曜に新宿で開催してます。
大きい音で有名ボカロが聞けます。
終了。
では、また ノシ