2日でBlenderからfbxをエクスポートしてWarudoに持っていった備忘録

既存のモデルをクロスシミュレーション&リグ付けしなおしてwarudoに持っていった記録です。

ハイポリメッシュを作る

Bystedts cloth builderでクロスシミュレーションする

Bystedts cloth builderはBlenderの標準クロスシミュレーションを扱いやすくするアドオンです。

まず元のモデルがこれです。
今回はジャケットのみクロスシミュレーションします。

頂点グループPinnedにクロスシミュレーションしたくない部分をウェイト割り当てします

サブディビジョンサーフェースをかける際はUVスムーズをなしにするとこの後の工程がめちゃくちゃ楽になります。

それでサブディビジョンサーフェースかけたあとにクロスシミュレーションします。

結構いい感じ。

スカルプトする

サブディビジョンサーフェースを適用してクロスシミュレーションも適用し、スカルプトモードでいい感じに整えます。

フィーリング……

リトポロジーする

RetopoPlanesを使う

3DtoPatternsを割り当てます。

動画を再生

この時UVが重なっていると次のステップでバグるので、一時的に重なっているUVを分離しましょう。

動画を再生

次にRetopoMainを配置し、Cloth Patternに3DtoPatternsを割り当てたメッシュを割り当て、Initialize PlanesをONにして……上手くいかなかったので手動でやります。

動画を再生

RetopoPlanesというコレクションの中に任意の四角面を作成します。

そして頂点にスナップモードにし、3DtoPatternsの頂点に合わせて配置していきます。
このときの頂点の密度でリトポロジー後の面の密度も変わります。

注意点として三角面Nゴンはエラーになります。

2時間くらい試行錯誤(途中で昼飯食べてたけど)した結果がこれです。


あとはごにゃごにゃする

スクショを撮り忘れた……

半分削除してミラーでやったり、密度が高い部分を削除したりなんなり……

yuzuSymmetryToolsはとても便利でした。

注意点として、マージする際にUVにチェックが入ってると困ることになるので気をつけてください(n敗)

ハイポリからノーマルをベイクする

UcupaintでハイポリメッシュをAOベイクします。

このときにハイポリメッシュのマテリアルをユニーク化して、ミラーモディファイアで重なったメッシュは削除した方がうまくいきます。

それをクリスタでノーマルマップ化して適用するとこんな感じ。

まぁまぁ情報量が増した……気がする?

この過程で元のメッシュ約6000から約4000まで減りました。作り込みしたのに……

ウェイト

スクショ撮り忘れた……

とりあえずこういうワークフローでやってます。

  1. PuppetStudioのAutoSkinで全メッシュにウェイトを塗る。
  2. 素体が服から貫通したらRobust Weight Transfer貫通している部分の服のメッシュを分離して、素体からウェイトを転送し、その後元のメッシュに結合し、距離でマージする
  3. 変なところにウェイトが残っていたらHandy Weight Editで調整

を繰り返します。

手で塗るの絶対やりたくないので、とにかくAutoSkinとウェイト転送で頑張りました。

手首周りとか全体に単一の動きをさせたいときはMio3 Copy Weightを使いました。便利。

んで、前回の記事を更新したときにリプライが来ててToPu_weight_editorというアドオンも使ってみました。
私はスプレッドシート式でウェイト編集したことないのでよくわからなかったのですが、こういうタイプの有料アドオンはたくさんある中で無料なのは珍しいのではないでしょうか。

Warudoに持っていく

エクスポート

エクスポートはPuppetStudioから行います。

これで大体大丈夫なはず。

なぜかFBX Shape Key In-Betweenで制作した中間シェイプキーが自動マージされていたので良かったです。よかったよかった。

Unityの導入

公式HPの指定するUnityバージョンを導入してください。

DynamicBoneとWarudo SDKを導入

今回はDynamicBoneを使いました。VRCSDKとかUniVRMと同居する手段がわからなかったので……

んで、Warudo SDKを入れる前に

必ずProject Settingsをいじる

  1. Edit→Project Settings
  2. Playerから
    1. Api Compatibility Level.NET Frameworkに変更
    2. Assembly Version Validationのチェックを外す

これでようやくWarudo SDKを入れられます。

忘れると一生コンパイルエラー吐きます(n敗)

ようやく導入する

Warudo SDKを導入したらDynamicBoneを導入しますが、Warudo SDK内のDynamicBoneを上書きしちゃいけないとかなんとか。
失敗を重ねてよくわからないうちに導入成功しちゃったのでわからない……

Modを作る

メニューバーのwarudoからNew Modを選択するとフォルダーが作られます。

んで、あとはVRChatとかVRMとか作るみたいに

  1. fbxとテクスチャをインポート
  2. マテリアルを設定
  3. 揺れものを設定

したものを選択し


Setup Characterを実行。

Modフォルダーにキャラクターが作成されたら

Build Modで作成された.warudoファイルをWarudoのキャラクターフォルダーに突っ込んで終わりです。

アバターを編集したらSetup Characterをしよう!

これでめちゃくちゃ詰まりました(n敗)

困ったところ

Warudo周りがめちゃくちゃ難しかった。
難しい……
VRChatのノリでやっちゃ駄目でしたね。

ただDynamicBoneがきれいに動いて嬉しかったです。

あとliltoonはやっぱりきれいです。

使用したアドオン