VRMサンプルのアリシアさんモデルの前髪

これを参考にして、佐渡渡さんの髪の毛とボーンを修正してみようと思う。
ぱっと見わかるのは、骨が二段構成。さらに、前髪に沿わせていない。前髪のウェイトはかなり強く付いている。ひさし状のボーンの突き出しを、前の記事でみたように内側にたわませるバネの力で制御するのだろう。
MMDでは二段にすると全体が動いた時に、それぞれが揺れるために相互影響で無残にひずんでしまうことがあった。だから、ただブラブラさせるだけなら一段で処理した方が結果が良好であった。また、重力で下向くため、100%のウェイトは必要なかった。
ちなみに、アリシアさんは胸ボーンをお持ちだったが、揺れは付いていなかった。胸の揺れも課題なんだが……
また、肩から上腕へのポリゴンは水平ではなく(ボーンは水平だが)、既にY字に近くなっていた。なるほど、初期状態で腕が必要以上に上がった状態というのもいいのかもしれない。
アリシアさんのスカート丈は短いので突き抜け防止の参考にはならない。さらにまた、背骨は4本だった。やっぱり4本が安定なのだな――今の佐渡渡さんは4本にして上手くいった。
blenderからFBXで出力する時には、髪のウェイトをロックしておき、Auto-Rig Proに属する制御用ボーンのウェイトで上書きされないようにした。
アリシアさんを参考に、今度は髪の毛ボーンを二段にした。

余談ながら、T-Poseで「親指が駄目」と注意される時とされない時がある。

剛体がアンテナの先に付いた状態になる理由が判明。VRMの身長が大きいのでScaleを0.42にしていたことが原因。Spring Boneは縮まらないので、アンテナのように伸びていたのだった。そのために、バネとして動きが伝わらなくなっていたらしい。
紆余曲折を経て、Secondaryを開いてギズモを表示してみた。意図通りの位置に二段ボーンが鎮座している!

モーションのRunをさせると、確かに揺れてる!

アリシアさんを参考にして、綺麗に曲がる角度に配置し直した甲斐があったというものだ。
今度はScale 1.0のままVRMに出力することにした。身長が大きくなってしまうが仕方がない。
出来たVRMをビューワーで閲覧してみると、なぜだか、前髪がピクリとも揺れない。どうしてなのだろう? 身長が大きすぎると、物理の力が小さくなってしまうのだろうか?
あぁ、わかった。Prefabを開いたつもりがSceneを弄っているだけだった。今度はちゃんと変更をVRMとして出力した。ようやっと前髪を揺らすことに成功できた!
次の課題は、Scaleの問題をクリアする方法だ。FBX出力の時にサイズを調整しておくしかないのだろうか。
試してみたものの……FBX出力前に縮小をかけているはずなのに、VRMになってみると、Spring Boneを付けたいルートボーンだけ大きさがおかしい。FBXのボーンは確かに小さくなっているのに。ボーンに適用が利いているかどうか、という感じか?
徹夜でやるもんじゃないわ。ミスなのかどうかすら疑わしくなってくる。
FBX出力時に[その他]という欄があって、ここでGloval Scaleを設定できる。0.42を入れて出力すると、たしかに縮小されて出ている。にもかかわらず、VRMでルートボーンに指定すると、大きさと位置がおかしい。ボーン自体は見えないけれど、ベース座標の表示は正しい位置にあるようだ。
もう、お手上げ!! わけがわからない。
ルートボーンの情報として使う“何か”――“ダークマター”とでも呼んでおこう――が縮小を経ると、元のボーンの長さ・位置と等しくならないらしい。このダークマターが何であるのか。
縮小を経ると駄目なのだから、縮小したリグに改めてボーンを新規に作り直せば、なんとかなるかもしれない。
あぁ、だんだん分かってきた。これは「問題の骨」を編集した時に、誤ってポーズモードで骨の長さを変えたことがあったに違いない。それでも、なぜだか、現在の見掛けはオブジェクトモードでもポーズモードでも同じになっている。しかし、実際にはオブジェクトモードの結果でExportされており、それはポーズモードの見掛けと異なっている。……きっと、これだ。
- 関連記事
-
スポンサーサイト