VRoidモデルの髪を揺らしてみたい!後編(Unity作業)

今回の一連の記事について

前回からの続き記事です。今回は前回作ったFBXファイルを使って、Unityに取り込み、各種設定を行います。今回の作業で好きなVRM対応ソフトに取り込めるVRMができるまで持っていきます。

おことわり
この記事は材質とかSpring Boneのあたり、個人的にまだよくわかっていない部分が多く、触ってみてなんとなくわかったことを書いています。ご了承ください。

 

 

2018/10/19追記
この記事の内容は最新のものではございません!
最近あいす氏のVRM IMPORTERやVRoid studio自体の更新で、新しく機能が追加されたり機能が改善されているので、近々VRM揺れ物記事は最近の事情に合わせて新しく記事を書く予定です。(今度はもう少し区切りを細かくします)

以下、記事リンクです。


雑談(本当に雑談です)

クマ
続きを待っていた良い子もそうでない奴もこんにちは!先日、かつて俺らのビジュアルなかった頃このサイトでも使っていたジオシティーズがついにサービスを終了すると聞いて若干心がざわついたクマだ!

栗絵マナ
 あんたいくつなんすか…。私は2000年代のネットってあんま馴染みないから正直今回のニュース聞いても実感わかないですね…絵をアップするのって大概SNSだったりするし。あ、栗絵マナ(くりえまな)です。

クマ
SNSが今ほどなかった頃って、自分でWebサイト立ち上げるなりお絵かき掲示板に書き込むなんかをしないと自分の作品ってみんなに見せられなかったんだよな。
栗絵マナ
え、もしかして個人サイトって作者ことにばらばらに点在してたってこと?!でもそれじゃどうやって好きなジャンルの絵探してたんですか?
クマ
そのために各ジャンルごとに登録するWebサーチなんてのがかつてはあったんだ。ジャンルによっては公式の名称でググるのが憚(はばから)れるし…。HTML4.01、flash、ダミーEnter、検索避け、○○同盟、Webアンソロ…ウッアタマガ
栗絵マナ
と、とにかくこれ本題じゃないですね、さっさと本題入ります!
この話の簡易解説(主にマナみたいな若くてよく知らない人向け )

前回までの復習

クマ
お、おう。と、言うわけで前回の復習。前回はblenderにVRMを取り込んで髪の毛分のボーンを追加して、ウェイトを付けるという簡単な改造をしたんだよな。
栗絵マナ
そうそう。それで髪の毛が一応は揺れるようになったんですよね。現状自分でボーン動かさないと動かないですが。
クマ
そこで今回はUnityでこの設定を行うぞ。といってもぶっちゃけUniVRM公式のページにあるやり方のまんまなんだけどな。

必要な物

今回の各ソフトのバージョンは、

  • blender 2.79b
  • Unity 2018 2.2.f1
  • UniVRM 0.43
  • VRM Importer 0.2.22
  • VRoid Studio 0.2.12

です。

今後の各ソフトのバージョンアップによっては本記事の情報が古くなる可能性がありますのでご了承ください。

UniVRM導入(すでに入れている人は省略)

クマ
UniVRMの導入説明しないつもりだったけど、個人的にちょっと分かりづらかったからやっぱ書いておくことにした。アセットって新しくプロジェクト作ったらその都度入れるものっぽい…?

ここから「UniVRM-0.xx.unitypackage」をダウンロードします。

Unity hubから新しいプロジェクトを作ります。

ぶっちゃけ名前や保存場所はわかれば何でも良いのではないかと思います。

クマ
Unityの導入方法は一連の記事では触れていないから、導入してなかった人は各自調べて導入してくれ。

「Create project」をクリックして新しく作ったプロジェクトがこちらになります。

Unity画面の「assets」に先程ダウンロードした「UniVRM」をドラッグ&ドロップします。

importをクリック。

警告でたら「I Made Backup!…」をクリックしてください。

これでAsetts内に「VRM」フォルダができました。

栗絵マナ
ちなみにスクショは作者の設定ミスで上のタブが「Game」になってますが、皆さんは初期設定の「scene」のままでお願いします。(もし変えてたら変えてください)

Unityに前回作ったFBXを取り込む

クマ
ここからFBXをインポートするぜ。
栗絵マナ
(わくわく)

さっきのUniVRMのように、入れたいFBXファイルをドラッグ&ドロップでassetsフォルダに入れます。(環境によりFBXのアイコン違うかも)

入れたFBXファイルを「hierarchy」にドラッグ&ドロップ。

クマ
この時、間違えて「scene」に入れないように注意。モデルが原点にいてくれなくなる。

クマ
この時、モデルの材質の設定がおかしなことになっているが、このあとの工程で治すのでひとまずこのままで。

ボーンを割り当て直す

FBXを取り込んだら次はボーンを割り当てます。

「inspector」を確認し、以下のような状態になっているか確認。

次に「Rig」をクリックし、「Animation Type」を「Humanoid」に変更し、「Apply」をクリックします。

「Configre..」がクリックできるようになるので、クリック。警告でたら「Save」をクリック。

ボーンの割当の画面が出てくるので、各自ちゃんと該当ボーンがそれぞれの身体に割り当てられているか確認します。もしも揺れボーンなどが見当違いの場所に割り当てられていたら、各パーツ名横の○をクリックして該当ボーンに設定し直しましょう。bodyだけでなく、headや両手のチェックもお忘れなく。

今回のこのモデルは揺れボーンが少ないこともあり、割当がうまく行ったので、このまま行きます。

終わったら「Done」をクリック。

正規化する

モデルをScene上で選択し、上のメニューから図のように選択をします。

「Author」に作者名を設定し、「Export」をクリック。(作者名を入れないと先に進めません。)保存ダイアログでは保存場所がAssetフォルダ内にあることを確認しそのままOKをクリック。

これで正規化が完了しますが、このままだと正規化する前と後のモデルが重なって扱いづらいので削除します。「Hierarchy」上でモデルを右クリックして「Delete」をクリック。これでいなくなりました。

 

もう一度VRMを取り込む

後ろに「.prehub」とついている方を「Hierarchy」にドラッグ&ドロップ。

これで再びscene上にモデルが現れます。

材質を設定し直す

クマ
材質がおかしなままだが、とりあえず正規化したことにより設定いじることができるようになったので材質の設定を始める。

Hierarchyのモデル名をダブルクリックすると、各メッシュが出てくるのでとりあえず身体のメッシュを選択します。その後、Inspectorの材質のところに選択したメッシュに使われている材質がいくつか出てくるので、図のように変更します。

材質の設定を変更。
こうなる
栗絵マナ
ピンクっぽくなりましたね。テクスチャ無いですが。
クマ
なんか初期設定だと妙にピンクっぽいんだよな。だが、現状はテクスチャの存在を知らない状態になっているから、テクスチャファイルをUnityにいれるぞ。

前回作ったFBXが入っているフォルダを開いて、テクスチャファイルをまるごとAsettsにドラッグ&ドロップします。

とりあえず何も考えず画像ファイル全部入れてください。作例では他のモデルで使うテクスチャファイル入っちゃてますので、余計なデータありますが。

材質名見てどのテクスチャか判断します。(テクスチャ画像見たらどれか判別しやすいかも)

画像のところをクリックし色を変えます。もしAlfa(材質の透明度)のところがおかしな数字になっていたら、特に意図がなければ255に設定し直してください。(作例では主に髪の毛や眉毛がおかしくなっていました。)

他の材質もひとまず同じように設定します。

 

各材質ごとの詳細設定

ここで、まだ使われていない画像があることに気づくでしょう。青っぽい画像や光の輪みたいな画像は何に使うのでしょう?

青っぽい画像は「ノーマルマップ」。これはポリゴンが少なくても細かい凸凹が表現できるようにするものです。これは各材質分あります。
光の輪みたいな画像は「Matcap」。これを適用すると外側に光の縁がつくようになります。VRoidモデルの場合、通常のものと髪用の2種類があるようです。
筋っぽいハイライトの画像は髪の毛の材質の「Emission」という項目に設定します。おそらく筋っぽいハイライトの表現に使うものだと思われます。

その前に逆光だとこのあとやりづらいので太陽光のオブジェクトを選択し、順光になるよう回転させます。

髪の毛の設定

開く

眉、まつげ上下、カールまつげ、瞳の設定

開く

ハイライトの設定

開く

クマ
ようやく生が出てきたな。
栗絵マナ
瞳が入ってやっと顔が怖くなくなりました。
クマ
これで最低限見られる程度の設定をしたが、これ以上の設定はUniVRM公式サイトのここを見ると良い。線画とかつけられるぞ。
作者注:
なぜか髪の毛のシェーダーの設定がうまく行かず、オリジナルと全然違う見た目になってます。個人的にオリジナルは光り方が強い感じがしたからいいっちゃ良いんだけど、繊細な絵柄の人だとオリジナルのほうが好きな人もいますよね…。こだわる人は公式サイト見て勉強するといいと思います。
2018/10/22追記
あいす氏より、髪の毛等の材質が完全に同じにならない理由として、『TANGENTという情報がVRM->blenderにするときに無くなってしまい、Matcapが純粋なVRoidモデルと同じにならない』という旨の助言を頂きました。ありがとうございました。

揺れものを設定する

ぶつかる側の当たり判定の設定

クマ
ようやく本命のやることに入れる。髪の毛の揺れの設定を行うぞ。

 

クマ
まずは当たり判定の設定を行う。というのも3Dの世界って現実と違って、3Dモデルは幽霊みたいなとこだから、当たり判定の設定が無いと容易く突き抜け放題になる。

だから、「ここのボーンにはこういう当たり判定があるから当たったら跳ね返してね」というふうに教える設定をする。

当たり判定を行いたいボーンをinspectorから表示させます。(階層状態になっているので順々にクリックしていきます)

assetsのVRM→Scripts→SpringBoneの順にダブルクリックして以下のような状態にし、「VRMSpringBoneColliderGroup」というファイルを当たり判定を行いたいボーンにドラッグ&ドロップします。

割り当てたボーンをinspector上でクリックすると、紫色の当たり判定が登場します。

inspectorの「VRMSpringBoneColliderGroup」でこの当たり判定の位置を変更します。(scene上でも移動ができます)

  • offset:当たり判定の位置
  • radius:当たり判定の大きさ
  • size:なんか名前がすごい紛らわしいですが、当たり判定の個数を変更できます。当たり判定は球体のみなのでボーンに複数の当たり判定を割り当てて身体の形に合わせるなんてこともできます。
クマ
特に長い髪の毛とかスカートある場合、1つのボーンに複数個当たり判定を割り当てるのは必須だと思うぜ。腕とか絶対球体1つじゃ賄えないし。
栗絵マナ
でも今回はショートヘアなので簡易的に設定をするのですね。
クマ
この髪の短さなら肩とかにもぶつからないだろうしな。あと作例は後ろ髪設定してないし。

こんな感じで設置しました。(すごい見づらくてごめんなさい…)

揺れるボーンの設定

クマ
次は「揺れるボーン」の設定だ。これで髪の毛が揺れるようになるぞ。

今度はHierarchyのモデルの階層の一番上に「VRMSpringBone」をドラッグ&ドロップします。

モデル名をクリックし、inspectorの「VRMSpringBone」の項目を表示させます。

以下の画像のように項目を変更させます。

項目ごとの説明はこんな感じです。(なぜかUniVRM公式で項目の設定書いてない…?のでこちらで分かる範囲で説明しますが間違ってたらごめんなさい)

  • Draw Gizmo:揺れ物ボーンの当たり判定の表示をさせます。あとの項目で書くGameモードのみ表示される。
  • Stiffness Force:剛性の設定。おそらく素材の硬さというか柔らかさの設定?0にするとかなり柔らかくなるようで、当たり判定に当たったそばからふわーって上に舞って元に戻ってくれなくなるので、できれば0より上の数字で設定したいところ。
  • Gravity Power:名前の通り重力の力。おそらく0が無重力状態?初期設定は1。
  • Gravity Dir:重力の働く方向。初期設定は地球上と同じく下方向への力。
  • Drag Force:直訳したらドラッグする方向に対する抗力…??おそらくバネの強さなのかも知れない。最小の0でバネが細かくびよよよよーんって感じに揺れ、最大の1にするとかなりもったりした感じになります。
  • Root Bones:ここに揺らしたいボーンを設定します。sizeが設定するボーンの数です。
  • ColliderのHit Radius:当たり判定の大きさ。
  • Colider Groopsのsize:ぶつかられる側の当たり判定のボーンの数を設定。今回は頭のみ設定しているので、sizeは1、ボーンは頭のボーンを設定します。

最終的に今回は以下のように設定しました。髪の当たり判定はそこそこ大きめです。

 

スカートと髪が共存してて、かつ揺れ方が違う場合は「VRMSpringBone」を1つのモデルに複数設定するのかも知れませんが、すみません未検証です。

1つだけですと同じ揺れ方しかできませんし…。情報欲しい。

 

揺れもののテスト

Sceneモードだと揺れ方をチェックできないので、Gameモードに変更して揺れ方を検証できます。

しかし、初期設定のカメラの位置がキャラクターの後ろなので、設置場所を変更します。

カメラのオブジェクトを選択し、inspectorのtransformで位置と回転を動かします。カメラはキャラの正面に向けます。ゲームとして出力するわけではないので位置は大体で良いです。

再生ボタンを押し、Gameモードに入ります。当たり判定が表示されます。

キャラクターはHierarchyのモデルを選択し、inspectorのtransformで動かせます。また、Spling Boneの設定もGameモードで行えます。

 

表情モーフを設定する

表情モーフの設定も行います。

再生ボタンを押しGameモードからsceneモードに戻ります。(Gameモードにしたままの人のみ)

モデルを選択し、「VRM Bland Shape Proxy」内の「Bland Shape(Bland ShapeAvatar)」をダブルクリックします。

この画面で各種表情の設定を行います。Select blendShapeClipの各表情を選択したあと、下の方のシェイプキーを該当する表情に設定し、Applyをクリックして確定します。例えばこの画像の場合は「Face.M_f00_000_fcl_MTH_A」を100にし、Applyをクリックして確定します。同じようにAIUEO、BLINK、BLINK_L、BLINK_Rを設定します(BLINKはシェイプキーではCloseになっているので読み替えてください)。

喜怒哀楽はシェイプキーの「Face.M_f00_000_fcl_ALL_XX(XXは表情名)」を見て、Select blendShapeClipの各表情に割り当てます。

クマ
探すのめんどいけど一括で設定できるシェイプキーあるのありがたい!
栗絵マナ
今回はVRoid初期設定に従って設定しましたが、キャラクターによって喜怒哀楽の表情変えても面白いかも知れませんね。

VRMのライセンスを設定(配布する予定無いなら別に飛ばしてもいいです)

クマ
他の3Dモデルに無くて、VRMにある、それはライセンス設定が標準でついているところ!つまりは配布する際に規約の書き方が統一されて権利関係がクリーンになりやすい。反面、権利がこちらにない二次創作キャラは「ネットにも人にも一切モデルの公開や配布をしない」と思ったほうがいいかと。

ライセンスを書く欄はinspector内にあります。ライセンスを設定するモデルを選択します。

設定項目は以下のようになっています。


  • Information(一般情報)

    • Title
      • アバターモデル名称。自由入力
    • Version
      • アバターモデルのバージョン。自由入力
    • Author
      • 作者名
    • Contact Information
      • 作者への連絡先
    • Reference
      • アバターの「親作品」となるようなものがあれば、その情報
  • License(使用許諾・ライセンス情報)

引用元:VRMファイルを作ってみたい – dwango on GitHub 2018年4月16日更新(最終閲覧日:2018年10月07日)https://dwango.github.io/vrm/how_to_make_vrm/#vrm%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%81%A4%E3%81%8F%E3%82%8A%E3%81%8B%E3%81%9F-%E6%97%A2%E5%AD%983d%E3%83%A2%E3%83%87%E3%83%AB%E3%81%8B%E3%82%89%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%83%88

 


UI上は英語ですが、作者名(Author)やキャラ名(Title)など日本語で入れても大丈夫でした。(VRM対応ソフトに取り込んだときに表示されます。)

また、モデルに対して識別用の画像を好きな画像を設定することができます。正方形のところにある「Select」のボタンをクリックし、好きな画像を設定します。(予めAsettsに設定したい画像を入れてください。)作ったキャラのイラストとかでも大丈夫です。

最終的に今回はこんな感じで設定しています(元作品名としてサイト名と、各種URL書いてますが、配布予定無いのでダミーです)

この子の名前は「untitled」、作者は佐久間蒼乃という人。作者だけキャラを演じることができて、性表現と暴力表現と商用利用はNG、再配布禁止、連絡先や他の詳しい規約はhttp://aozoranositade.ape.jp/を見てね、という感じの内容です。

クマ
ここらへんは作者である自分が、このキャラクターに対してみんなにどう扱ってほしいかということを考えて決めるといいと思う。(自分しか使わないのなら別だけど)

VRM書き出し

栗絵マナ
ここまできたら、いよいよVRMを書き出しですね。

inspectorでモデルを選択し、上部メニューの「UniVRM-x.xx(xはバージョン名です)」→「Export Humanoid」をクリックします。

作者名とキャラ名を確認し、「Export」をクリックします。

ファイル保存のダイアログが出てきたらそのまま好きなところに保存してください(念の為別名で作りたい人は、別のファイル名書いて保存でもいいです )。

これで出力完了です。お疲れ様でした!

VRM対応ソフトに取り込む!

栗絵マナ
VRM改造の第一歩がようやっと踏めた…!
クマ
まずはおめでとう。これでお好きなVRM対応ソフトに取り込んで可愛い可愛いできるぞ~
栗絵マナ
そういえば個人的に気になってたソフトがあって、「VDRAW」と言うんですが。これVR機器持ってなくてもお絵かき配信できるってやつなんですよね!これ使ってみたいと思ってたんですよ。
VDRAW
クマ
VRM自体は今回作ったUnityの一連のファイルが有るフォルダー内の「assets」というフォルダ内にしまってあるはずだから、これをパソコン内のどっか適当なとこにコピペして、そのファイルをお好きなソフトに取り込むと良いぞ。取り込み方法は各ソフトのWebサイトや説明書があるはずだから探して設定しよう。
栗絵マナ
おお、おお~!私の子が動いている!(感動)これ配信ツールとか勉強して配信やってみたいですね~

栗絵マナ
これ、いま着ている制服以外にもお着替えできないでしょうか…?Twitterで探すとVRoid内でのテクスチャ書き換えや髪の毛の工夫で素敵なデザインを生み出している方もいらっしゃいますが、やっぱり制服の型紙以外の型紙?形作りたいですね…
クマ
ふふ…ふふ…ふふふ…
栗絵マナ
な、なんすか…キモいんだけど…;

「blenderで劇的!VRoidお洋服ビフォーアフター?!」に続く…???
(インポート時に解決するべき問題があったり、どう考えても文章量が多くなると思うので記事書くのはちょっと保留させてください…)

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください