Table of Contents
今回の一連の記事について
前回からの続き記事です。今回は前回作ったFBXファイルを使って、Unityに取り込み、各種設定を行います。今回の作業で好きなVRM対応ソフトに取り込めるVRMができるまで持っていきます。
2018/12/30追記:
VRoid Studioのアップデートにより、VRoid Studio単体で髪の毛を揺らすことができるようになりました!
こちらの記事で解説しております。
【VRoidで髪の毛作って揺らしたい!】第1回/基本はさらさらストレートヘア!プローシジャルヘアを使ってみよう
【VRoidで髪の毛作って揺らしたい!】第2回/トゲトゲ髪の毛を柔らかサラ髪へ!髪揺れ設定をしよう
最近あいす氏のVRM IMPORTERやVRoid studio自体の更新で、新しく機能が追加されたり機能が改善されているので、近々VRM揺れ物記事は最近の事情に合わせて新しく記事を書く予定です。(今度はもう少し区切りを細かくします)
以下、記事リンクです。
- VRoidモデルの髪を揺らしてみたい!(前編)
- VRoidモデルの髪を揺らしてみたい!中編(blender作業)
- VRoidモデルの髪を揺らしてみたい!後編(Unity作業)(今ここ!)
雑談(本当に雑談です)
前回までの復習
- blender
- あいすさんのVRM Importer(今回はすでに入れてある前提で話します)
- Unity
- UniVRM
- VRoid Studioで作ったVRMデータ(本記事ではモデリングは行いません)
今回の各ソフトのバージョンは、
- blender 2.79b
- Unity 2018 2.2.f1
- UniVRM 0.43
- VRM Importer 0.2.22
- VRoid Studio 0.2.12
です。
今後の各ソフトのバージョンアップによっては本記事の情報が古くなる可能性がありますのでご了承ください。
UniVRM導入(すでに入れている人は省略)
ここから「UniVRM-0.xx.unitypackage」をダウンロードします。
ぶっちゃけ名前や保存場所はわかれば何でも良いのではないかと思います。
「Create project」をクリックして新しく作ったプロジェクトがこちらになります。
Unity画面の「assets」に先程ダウンロードした「UniVRM」をドラッグ&ドロップします。
importをクリック。
警告でたら「I Made Backup!…」をクリックしてください。
これでAsetts内に「VRM」フォルダができました。
Unityに前回作ったFBXを取り込む
さっきのUniVRMのように、入れたいFBXファイルをドラッグ&ドロップでassetsフォルダに入れます。(環境によりFBXのアイコン違うかも)
入れたFBXファイルを「hierarchy」にドラッグ&ドロップ。
ボーンを割り当て直す
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の材質のところに選択したメッシュに使われている材質がいくつか出てくるので、図のように変更します。
前回作ったFBXが入っているフォルダを開いて、テクスチャファイルをまるごとAsettsにドラッグ&ドロップします。
とりあえず何も考えず画像ファイル全部入れてください。作例では他のモデルで使うテクスチャファイル入っちゃてますので、余計なデータありますが。
材質名見てどのテクスチャか判断します。(テクスチャ画像見たらどれか判別しやすいかも)
画像のところをクリックし色を変えます。もしAlfa(材質の透明度)のところがおかしな数字になっていたら、特に意図がなければ255に設定し直してください。(作例では主に髪の毛や眉毛がおかしくなっていました。)
他の材質もひとまず同じように設定します。
各材質ごとの詳細設定
ここで、まだ使われていない画像があることに気づくでしょう。青っぽい画像や光の輪みたいな画像は何に使うのでしょう?
青っぽい画像は「ノーマルマップ」。これはポリゴンが少なくても細かい凸凹が表現できるようにするものです。これは各材質分あります。
光の輪みたいな画像は「Matcap」。これを適用すると外側に光の縁がつくようになります。VRoidモデルの場合、通常のものと髪用の2種類があるようです。
筋っぽいハイライトの画像は髪の毛の材質の「Emission」という項目に設定します。おそらく筋っぽいハイライトの表現に使うものだと思われます。
その前に逆光だとこのあとやりづらいので太陽光のオブジェクトを選択し、順光になるよう回転させます。
髪の毛の設定
開く眉、まつげ上下、カールまつげ、瞳の設定
開くハイライトの設定
開く揺れものを設定する
ぶつかる側の当たり判定の設定
だから、「ここのボーンにはこういう当たり判定があるから当たったら跳ね返してね」というふうに教える設定をする。
当たり判定を行いたいボーンをinspectorから表示させます。(階層状態になっているので順々にクリックしていきます)
assetsのVRM→Scripts→SpringBoneの順にダブルクリックして以下のような状態にし、「VRMSpringBoneColliderGroup」というファイルを当たり判定を行いたいボーンにドラッグ&ドロップします。
割り当てたボーンをinspector上でクリックすると、紫色の当たり判定が登場します。
inspectorの「VRMSpringBoneColliderGroup」でこの当たり判定の位置を変更します。(scene上でも移動ができます)
- offset:当たり判定の位置
- radius:当たり判定の大きさ
- size:なんか名前がすごい紛らわしいですが、当たり判定の個数を変更できます。当たり判定は球体のみなのでボーンに複数の当たり判定を割り当てて身体の形に合わせるなんてこともできます。
こんな感じで設置しました。(すごい見づらくてごめんなさい…)
揺れるボーンの設定
今度は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の各表情に割り当てます。
VRMのライセンスを設定(配布する予定無いなら別に飛ばしてもいいです)
ライセンスを書く欄はinspector内にあります。ライセンスを設定するモデルを選択します。
設定項目は以下のようになっています。
-
Information(一般情報)
- Title
- アバターモデル名称。自由入力
- Version
- アバターモデルのバージョン。自由入力
- Author
- 作者名
- Contact Information
- 作者への連絡先
- Reference
- アバターの「親作品」となるようなものがあれば、その情報
- Title
-
License(使用許諾・ライセンス情報)
-
アバターの人格に関する許諾範囲 (Personation / Charaterization Permission)
- アバターに人格を与えることの許諾範囲 (A person who can perform with this avatar)
- アバターを操作することはアバター作者にのみ許される(Only Author)
- 明確に許可された人限定(Explictly Licensed Person)
- 全員に許可(Everyone)
- このアバターを用いて暴力表現を演じることの許可(Violent acts using this avatar)
- 不許可(Disallow)
- 許可(Allow)
- このアバターを用いて性的表現を演じることの許可(Sexuality acts using this avatar)
- 不許可(Disallow)
- 許可(Allow)
- 商用利用の許可(For commercial use)
- 不許可(Disallow)
- 許可(Allow)
- その他のライセンス条件(Other License Url)
- 上記許諾条件以外のライセンス条件がある場合はそのライセンス文書へのURLを記述
- アバターに人格を与えることの許諾範囲 (A person who can perform with this avatar)
-
再配布・改変に関する許諾範囲(Redistribution / Modifications License)
-
ライセンスタイプ(License Type)
- 再配布禁止(Redistribution Prohibited)
- 著作権放棄(CC0)
- Creative Commons CC BYライセンス(CC_BY)
- Creative Commons CC BY NCライセンス(CC_BY_NC)
- Creative Commons CC BY SAライセンス(CC_BY_SA)
- Creative Commons CC BY NC SAライセンス(CC_BY_NC_SA)
- Creative Commons CC BY NDライセンス(CC_BY_ND)
- Creative Commons CC BY NC NDライセンス(CC_BY_NC_ND)
- その他(Other)
-
その他ライセンス条件(Other License Url)
-
上記許諾条件以外のライセンス条件がある場合はそのライセンス文書へのURLを記述
-
-
-
UI上は英語ですが、作者名(Author)やキャラ名(Title)など日本語で入れても大丈夫でした。(VRM対応ソフトに取り込んだときに表示されます。)
また、モデルに対して識別用の画像を好きな画像を設定することができます。正方形のところにある「Select」のボタンをクリックし、好きな画像を設定します。(予めAsettsに設定したい画像を入れてください。)作ったキャラのイラストとかでも大丈夫です。
最終的に今回はこんな感じで設定しています(元作品名としてサイト名と、各種URL書いてますが、配布予定無いのでダミーです)
この子の名前は「untitled」、作者は佐久間蒼乃という人。作者だけキャラを演じることができて、性表現と暴力表現と商用利用はNG、再配布禁止、連絡先や他の詳しい規約はhttp://aozoranositade.ape.jp/を見てね、という感じの内容です。
VRM書き出し
inspectorでモデルを選択し、上部メニューの「UniVRM-x.xx(xはバージョン名です)」→「Export Humanoid」をクリックします。
作者名とキャラ名を確認し、「Export」をクリックします。
ファイル保存のダイアログが出てきたらそのまま好きなところに保存してください(念の為別名で作りたい人は、別のファイル名書いて保存でもいいです )。
これで出力完了です。お疲れ様でした!
VRM対応ソフトに取り込む!
「blenderで劇的!VRoidお洋服ビフォーアフター?!」に続く…???
(インポート時に解決するべき問題があったり、どう考えても文章量が多くなると思うので記事書くのはちょっと保留させてください…)