【Blender】命名規則について、実際に体験したこと
こんちゃ~
ここ数日、VRChatのモデル製作されている方が
「命名規則」に気を使ったArmatureを提供開始されたツイートを見て
ペーペーですが
思ったこと・命名規則があってない状態で体験したことを話します。はい。
作った人によってArmatureのボーンの名前が違う
先日、VRoidのArmatureでジェスチャーモーション作ったんですよ
んで「これ、このまま販売ってええのかな?やめたほうがいいか?」
と思って、別のArmatureにリターゲットしようと思い、試しました
↓
大失敗です。はい。
VRoidのArmature、ボーン名が「J_Big_○○」って感じで
左右対称とかの腕・足の場合が「J_Big_L.○○」って感じ
リターゲット先のボーン名は「○○.L」です
ここで命名規則の大事さが出てきます(伝われ)
リターゲットは同じボーン名称じゃないといけない
リターゲットは通常だと(手作業とかだと)
同じボーン名じゃないとリターゲットできないようです
※トランスフォームコピー使います
※Auto-Rig Pro・その他有料の物とかの場合はわかりません
そしてこの場合、モーションを付けてる方のArmatureをリネームするしかない
※それか逆でリターゲット先のArmatureをリネーム)
そして、元のモーション付けたアーマチュアにメッシュもある場合
ウェイトも付けてるはず…
頂点グループの名称もリネームする必要が出るっポイです
※ChatGPTに聞いてみた
【モーション付けてる方のArmature(+頂点グループ名)=リターゲット先のArmature=同じ名前】
が大事になります
Unityヒューマノイド設定・ボーン・親子関係の重要さ
Unityのヒューマノイド設定でも命名規則・アタッチの確認は大事ですね
以前VARKSHORTSを利用していた時に、sample動画のように腰が動かない・暴れるみたいなことを体験しました
HipsにはHips、spineにはspineと、ちゃんとアタッチする必要があります
初期状態だと自動でアタッチされますが
別のボーンがアタッチされることもあるので、まじでちゃんと1個1個見たほうが良いです
1個でも違うとちゃんと動いてくれません
VARKSHORTSでちゃんと動いてくれない原因の1つはこれでした、アタッチミス
親子関係も大事です
Blenderで上半身にIKや、上半身に親子関係を変えたものをUnityに持っていったらエラーになりました
【Hips→spine→chest】の、この親子関係はめちゃくちゃ重要です
Blenderで上半身の親子関係を変えたアニメーション作った場合
UnityでVRMのモデルにダンスモーションのアタッチができません
spineなどにエラーがでます
↓
サンバのように腰を独立的に動かしたい場合
・spineの親→○○ボーン
・Hipsの親→○○ボーン
・○○ボーンの親→ルート
などにしたら、もうUnityでヒューマノイドで動きません
ヒューマノイドでなくジェネリック設定でも試したが、動きませんでした
Hips→spine→chestの順が大事です
※モーションの場合はリターゲットすればOKで
ちゃんとボーン名を両方合わせて親子付けをヒューマノイド型に戻して
Unityでのモーション再生に成功しました
※別のやり方あれば教えてほしいw
VRChatユーザーだと、衣装替えなどする人も多いと思います
さらに、いろんなモデルに対応する共通の衣装を販売されている方もいます
そんでさらに、VRChatにはジェスチャーもありますし販売もされています
それぞれ製作主様は↑のようなことも考えたり考えてなかったりするかとも思います(勝手に←)
ジェスチャーだと、静止以外の「動くアニメーション」も多いと思いますし、
命名規則をしっかりしてないと「アニメーションが動かない…」ってこともあるかなと思います
アドオン・拡張エディタ・その他開発まわり
アドオンや拡張エディタ・アプリ開発時にも、命名規則が色々と関わってきます
VRMのシェ―プキーアタッチを自動化させたくて拡張エディタを作った時も
VRM固有の命名規則が重要でした
※A,I,U,E,OとかJoyとか
大文字・小文字があっていないだけでもスクリプトが動いてくれないってのもあります
絶対に大文字使われてたら大文字、小文字だったら小文字と、合わせる必要があります
※もしくは、「○○が含まれていたら」と、if使って調べてから実行みないな
命名規則
まぁそんな感じで
「命名規則」が結構かなり重要です
ベースがあるなら合わせるほうが、問題なくスムーズに次の作業に取り掛かれます
_(半角アンダーバー)
.(ドット)
-(ハイフン)
(半角スペース)
など色々ありますが
私は「_(半角アンダーバー)」か「.(ドット)」にするようにしてます
シェイプキーは「.(ドット)」使うこともたまにある(_より文字の横が短くなるから見やすいが故←)
その他
自分個人で使うものなら日本語のシェイプキー名・オブジェクト名とかも使用しますが
販売することを考えてる方は「英語」ですべて作られる方が多いですね🤔
MMD用の表情の場合も英語のままなのか分からないですが、私は日本語のも入れてます
※「じと目」とか「はぅ」とか「にこり」とか
日本語のままでもVRM対応アプリでも動いてるので、私は現状今のスタイルのままでいきますが
海外産アプリなどの場合は英語ベースの方が良いかなと思います🤔
おわり
まぁ、そんな感じで
命名規則があるかどうか確認しながらモデリング・開発・衣装改変などお互い頑張りましょうという回です。はい。