使用ソフトウェア | バージョン | 備考 |
---|---|---|
Blender | 3.5.1 | |
Auto-Rig Pro | 3.68.24 |
この記事ではBlenderのアドオンであるAuto-Rig Pro
を使ってリグを作った「後」の設定をいくつか書いていく。
初心者向けの簡単設定を書いてあるサイトは多いが、調整について書いてあるサイトが殆どなかったため、私が思いつく限りで記載。
Smart
のやり方は記載しない2023/09/17:
バージョンアップによりスカートのリグを作る機能(Kilt Limb)が追加された。
ボリュームがあるので次に新しいページを追加したので読んでいただけたらと思う。
【Auto-Rig Pro】スカートリグが作れるようになった!【Blender】 | 謎の技術研究部
ボーンの位置などを調整したい場合は次の手順
Rig
タブEdit Reference Bones
をクリックこれでボーンの編集からやり直し可能。
そのままMatch to Rig
ボタンをクリックするだけで良い。
ウェイトは残ったままになっているので、バインドしなくても動く。
しかし、そもそもボーンの位置を変えたことでウェイトの付き方が変わるので一度バインドからやり直したほうが良いと思われる。
素体と洋服が別れたオブジェクトなのはよくあること。
この時に素体だけバインドしても洋服は動かない。
まだバインドする前であればshiftキーを押しながら洋服>素体>Rigの順に選択してBind
すれば良い。
素体だけ先にバインドしてしまった(洋服は動かない)状態なら、そのままの状態で洋服>Rigと選択してBindすれば良い
つまり2回(またはそれ以上)に分けてバインドして良い。
そもそもウェイト情報はオブジェクト本体に書き込まれるだけなので、この方法で良い。
上の方法だと、皮膚が洋服を貫通することがよくある。
この場合はウェイト転送を試してみると良い。
Weights>Transfer Weights
(ウェイトを転送)Vertex Mapping > Nearest Face Interpolated
(最接近面の補完)Source Layers Sel...>By Name
(転送元レイヤーの...>名前)この設定は素体の表面のウェイトを洋服に転写する方法。
なのでAuto-Rig
側でバインドしなくとも素体に同じように洋服も動くようになる。
ただ、これでも皮膚が貫通する可能性は十分にあるので最終的にはウェイトペイントで調整する。
上の例で誤って自動ウェイトを乗せてしまった(誤ってバインドした)、ウェイトをリセットしたい、という場合。
ウェイトを削除したいメッシュを選択してUnbind
を押せば良い。
この作業で一度バインドしたものが解除されて、リグに追従して動かなくなる。
頂点グループが全て削除されるので注意。自前で用意したグループも消える模様。
例えばBinding Settings
のEngine
設定次第では手のウェイトが変になる時がある。
現時点でAuto-Rig Proだけでコレを解決する方法は分かっていないが、Blenderの標準機能と合わせることで解決できたので掲載する。
Blenderの自動ウェイトにボーンを限定する方法があり、それと組み合わせることで指のウェイトだけ自動で上書きできたので掲載する。
Auto-Rigでバインドした状態にする(指はおかしいまま)
ポーズモードで手のボーンだけ選択しておく
オブジェクトモードに戻り、メッシュを選択。
ウェイトペイントモードに入る。
その後Weightsタブ > Assign Automatic from Bones
(ボーンから自動割当)
私の実験ではこれでBlender側の標準機能により指だけに自動ウェイトを入れることができた。
もしVoxel Heat Skinning addon
を使っている場合は次のYoutube動画と全く同じ方法で解決できそうなので掲載しておく。
(21) Blender: Voxel Heat Skinning addon (Automatic Weights on Steroids) - YouTube
バインドするボーンや頂点を限定する機能。つまり一部だけにウェイトを適用する。
公式によると洋服をバインドするときに有用だそうだ。
個人的に上手く使えていないので、洋服のバインドで要検証
この方法は上の例のように手のバインドをやり直す(一部分を上書きする)方法ではないので注意
あくまでウェイトが何も設定されていない(バインドされていない)オブジェクトに対して一部分しか自動ウェイトしないという目的。
特定のボーンの部分だけバインドする
Selected Bones Only
をチェックするBind
編集モードで選択した頂点だけにする方法。
まずは頂点モードで対象を選択。
Selected Vertices Only
をチェックしておく。
あとは上と手順は同じで、このままバインドする。
何度も書いているが、1度バインドした指がおかしいからといってこの方法で指の部分だけやり直す(指だけ上書きする)ことはできないので注意。
この方法はあくまでまっさらなメッシュに新しくウェイトを乗せる時にだけ使う。
こちらも重複するが「洋服など、一部ウェイトが乗ってほしくないメッシュ」に対して使うものだと思われる。
バインド時にBinding faild, because of low scale
というエラーが出ることがある(v3.68.24現在)
頂点が重複している場合、このエラーが出ることがあるようだ。
この場合、私の過去の記事のやり方で重複頂点を削除した後、もう一度Auto-Rigでバインドする。
【Blender 2.9】アーマチュアの自動ウェイトが失敗するとき | 謎の技術研究部
もしコレでも解決しない場合はEngine
の選択次第で出来るものもある。
Auto-Rig側の機能ではなくBlenderの通常の自動ウェイトでも動作する。
バインドに上手くいかない場合や、こちらのほうがウェイトが綺麗に乗る可能性もあるので簡単に掲載しておく。
With Automatic Weights
(自動のウェイトで)髪やスカートといった揺れ物用のボーンを別途追加したい場合。
あくまでボーンを追加するだけであって、揺れ物のウェイト等はすべて手動で行う必要がある。
Rig >Add Limb
からTail
を追加して作業するのを推奨
ボーンを調整したらもう一度Match to Rig
をする必要があるので注意。
元あるウェイト自体は消えてないので、再バインドする必要はない(追加したリグを除く)
自動でリグを組む兼ね合いで、手動で追加したボーンにはリグが追加されずエラーになる可能性がある。
また、次のように自動でリグのコントローラーが作られるので使いやすい。
上では4本のボーンが1セットになっているが、これを5本や6本と変更したい場合は編集モードのEキーで増やしてはいけない
Eキーでボーンを増やすと正しくリグが作られない。
編集モードで対象のボーンを選択してLimb Options
を押すとメニューが出る。
ここでCount
を変更すればボーンの数が変わる。
位置の移動や回転などは自由に行って良い。
このパネルは他の機能もあるので、可能ならばここから使う。
この機能で追加されたボーンはバインドした時にウェイトが乗らない。
揺れもののウェイト付けなどは他で行う必要がありそうだ。
これに関しては多くを試していないのでウェイトを乗せる方法があるかもしれない。要検証。
私が試した限り、Auto Rig-Proが使っていないレイヤーにボーンを手動で追加しても問題なかった。
空いてるレイヤーとは次の画像の何もドットがついていないレイヤーのこと。
こちらに勝手に揺れものボーンを追加して動かすテストは成功した。
また、この状態でBind
のやり直しやMatch to Rig
を行っても問題なかった。
手動で特殊なリグを追加する場合は利用できるかもしれない。
ただし推奨される方法ではないので自己責任で。
Misc.タブから > Export FBX
を利用する
上でAuto-Rig Pro
のUIから新規ボーンを追加する方法を書いているが、それを利用せずに追加したボーンはエクスポート時に削除されるようだ。
Cascadeur
のようなボーン数が制限されたソフトウェアに送る場合、あえて揺れもの等は手動で追加したものを利用しておくとエクスポート時に自動で削ぎ落としてくれるので逆に便利かもしれない。
追加したすべてのボーンも正しくエクスポートしたいのであればUI上のAdd Limb
を使うのが楽。
実は上のように手動で追加したボーンも出力するように変更するオプションがある。
編集モードかポーズモードで対象のボーンを選択した状態でSet Custom Bones
をクリックする
つまりどのボーンを出力するのかを明示的に設定してやるようだ。
これで設定した後にエクスポートすると、正しく外部ソフトでも対象のボーンを読み込むようになる。
ただ、このオプションを使っているとどれが出力されてどれが出力されないのかを確認する手段が無い。
Selected Bones Only
というオプションがあり、選択したボーンだけを出力できるようだ。
かなり有用な機能だとおもうのだが、どのボーンをどのように選択したら絞れるのかが不明(v3.68.24現在)
私が試した範囲だと、選択したものよりも少ないボーンになってしまい使い物にならなかった。
要検証。
エラー対策など
一番最初にキャラクターの頭手足を指定してボーンを自動でいれてくれる機能のところで失敗する時。
Index Error : Taple index out of range
と出ている場合、既に1度リグを作ったデータが邪魔している可能性が高い。
リグのオブジェクトをすべて削除していても発生する。
Misc > Clean Scene
を行ったところエラーが消えた。
2023/09/16:この機能について触れられているサイトは日本語/英語サイトどちらも存在せず。
更に公式にも解説が載っていなかった。
すべての開いているプロジェクト内のauto-rig設定をクリアしている可能性が高いので十分注意して使うこと。
例えば最近追加されたスカート用のリグClothes: Kilt
がAdd Limb
の選択肢に存在しない等
インストールし直したまま使っているとこうなる。
シンプルに「Blenderを再起動」で解決する。
Auto Rigの更に深い使い方を解説した。
しかしながら他にも機能が多数ある上に中上級者向けに解説しているサイトがあまりにも少ない。
正直この記事ではそれらを全くカバーできていないので引き続き思いつく限りこの記事は更新していくこととする。