【Blender/Unity】PhysBone設定

【Blender/Unity】PhysBone設定

PhysBone設定を行っていく。

そこでぶち当たるのが謎だらけの「リーフボーン」「エンドボーン」。

BlenderからFBXとしてエクスポートするときに「Add leaf Bones」にチェックを入れると、Unity上で末端のボーン全てに「○○_end」というボーンが追加される。

以前Unityにエクスポートしたときは、「Add leaf Bones」にチェックを入れた。

今回また少し調べてみてわかったことが2つ

  • 揺らしたいボーンたちをまとめるボーンを作る
  • 何でもかんでもエンドボーンを付けるのではなく、揺らしたいボーンの末端にだけエンドボーンを付けている方が多い

なので「まとめ親ボーン」と「エンドボーン」を設定していく。

まずは【髪の毛】で。

  • ボーンを頭付近に追加し、名前をUnityでもわかるように「PB_hair」に変更
  • 「Head」ボーンとペアレント
  • これを「まとめ親ボーン」とする
Ctrl P > Keep Offset

髪の毛ボーンの一番上のボーンだけを選択し、「PB_hair」とペアレント。

Ctrl P > Keep Offset

末端ボーン全てに「エンドボーン」を追加し、名前を「○○.end」に変更

末端ボーンからちょろっと一本追加

その他【スカート】【スカートアクセ】【リボン】も同じように。

【スカート】のPhysBone設定

Backface CullingをOFFに

Unityで再度設定するのだろう

Solidifyでアウトラインを出していたらこちらもモディファイアのディスプレイアイコンをOFFに

できたらエクスポート

FBXエクスポート設定

久々のUnity
もう今まで行ったUnityのほとんどを忘れている…
テクスチャとかも変えたし、モデルが真っ白。
ボーンも変えたかどうか忘れたが、リグの部分を見てみると「Generic」になっているからきっと色々最初からやり直しなさいということなんだろう。

なかなか慣れないUnity

マテリアルとテクスチャを削除して1から設定

何度でも設定するのだ

インスペクターのマテリアルタブに移動し「Extract Materials」をクリックしてマテリアルを設定

マテリアル設定

マテリアルもテクスチャのように変更したりするので、わかりやすいように名前を変えておく。

マテリアルをShiftを押しながら全て選択し、Shaderを「liltoon」に。

VRChatといえばliltoon

テクスチャをD&Dで追加

テクスチャ設定

liltoonの 色設定 > メインカラー/透過設定 > メインカラー にテクスチャをセットしていく

大変なことになっているこゆる

怖い、怖いよ

あ~これはきっとUVマップのせいかな。

Blenderを確認してみる

BlenderでUVMapsを確認
  • UVマップの右のカメラマークをONにした方がデフォルトのUVマップになり、3D Viewport上で表示される
  • アクティブにしたUVマップがUV Editorに表示される

おかしい、オブジェクトを全部確認してみたがちゃんと設定されている

あ、シェーダー…

前回レイヤー風テクスチャペイント(ノード)を画像出力したが、もしかしてこの出力したテクスチャをシェーダーエディターでセットしないといけないのだろうか。

BlenderのShaderEditorを見てみるとMaterialOutputにテクスチャが繋がっていない

出力したいUVMapを指定して、そこからMapping、Image Texture、Material Outputとセット

ノードを設定

もう一度、エクスポート

ダメ

じゃあ次は出力したいUVMapを一番上にしてみる

もし残したいUVマップがあるなら、残したいUVマップより上にあるUVマップをアクティブにし、プラスボタンで追加すれば同じUVマップが作成される

必要であれば追加したUVマップの名前をリネームすればOK


そしてエクスポート

ヨシ!

テクスチャがちゃんと表示された。

ん?

あれ、もしかして…

  • UVマップの右のカメラマークをONにした方がデフォルトのUVマップになり、3D Viewport上で表示される
  • アクティブにしたUVマップがUV Editorに表示される

と以前学習したが、これはきっとBlender上ではそうなのだろう。

しかし、Unity上では

  • UVMapが複数あった場合、Blenderの一番上のUVMapが適用されてUnity上では表示される

ということなのではないだろうか。

BlenderとUnityでのUVマップについてモヤモヤしていたが、そういうことなのかもしれない。

ちょっとスッキリしたところでUnity作業に移る。

色設定 > メインカラー/透過設定 > メインカラーのHDRを真っ白(FFFFFF)に

なぜデフォルト設定がFFFFFFではないのか…

わかりずらいが真っ白にしたbodyに比べて、HDRがE7E7E7のままのfaceの色が微妙にくすんでいる

そしてPhysBoneの設定。
モデルの上で右クリック > Create Empty でPhysBone用のGameObjectを作り、リネーム

ここからPhysBone設定

そのGameObjectの中にGameObjectを作り、リネームし「Add Component」から「VRC Phys Bone(Script)」を追加

はじめてのPhysBone

Blenderで作った「まとめ親ボーン」を VRC Phys Bone(Script) > Root Transform にD&D

PhysBone設定をしたボーンから末端ボーンまでが揺れる

再生ボタンを押し、Rootボーンなんかをつかんで動かしてみると…

揺れたし

揺れた…っっ!

細かい設定は後にして、次はコライダーを入れていく

ー コメント ー

タイトルとURLをコピーしました