Blender3.5 髪の毛、しっぽに適したボーンRIG、物理演算とFKの組み合わせ2024/02/14

Blender3.5 髪の毛、しっぽに適したボーンRIG、物理演算とFKの組み合わせ2024/02/14

ボーンアーマチュアを2種類レイヤーを使用した非常に難しい設定ではある。まさかボーンを2つ重ねて機能に合わせて使うということを初めて知った。ボーンはポリゴン領域に1つだけという先入観があった。

こんな使い方もあるのかと感心した。
動画は15分だが、なれないと確認と失敗の繰り返しで約1時間はかかるだろう。
その時間に見合う作品でないと使用するのは徒労に終わる。
でもBlenderの利用可能の幅が広がり勉強になる


・使用用途

髪の毛、しっぽ、スカート、スカーフ、マント、アンテナみたいに揺れるもの

物理演算はあるが想像通りの動きではない。その場合ボーンを入れてIKとかFKで制御する。ここで物理演算できながら制御できる方が好ましい。昔はできなかった、というかできるという発想もなかったし設定がわからなかった。

この設定は非常にわかりにくく手間もかかるが、出来上がりは期待できる。アニメーションの内容が動きに合わせたものなら苦労するかいがある。

参考動画

【Blender】髪と服を動かす!リギング解説 - 物理演算&FK両方同時使用なリギングの作り方【チュートリアル】

https://www.youtube.com/watch?v=BKtVuqnCbK0&list=WL&index=5&t=616s


・制作のポイント

ボーンアーマチュアを2種類のレイヤーにおき物理演算とFXに使用
ObjectConstraintを使用
「Damped Track」(減衰トラック、減衰追随
「Copy Track」


・設定手順
右側3からの向きで作業する
Shift+cでカーソルを中心にしておく


はじめに、ボーンを1個作成ここから増やしていく

Add>armature>SingleBone
ボーンを髪の毛の位置(練習ではなんとなくZ軸の上の方)に移動して
4つの子ボーンを作る。少ないと動きがぎこちない。
Eキーで追加した(分割もできるから大きなボーンを使って複数回分割でもOK)

>Edit Modeでの作業

髪の毛の根元のボーン名を
「ponytail_FX.001」 (本当はFKのはずがなぜかFXになってしまったドル円みたい)
次に選択状態にして、Lキーを押すと他のボーンが選択状態になる。
右側の「ponytail_FX.001」のフィールドのところで右クリックして
Copy to Selectedを選択すると名称が他のボーンに付記される
(手作業でもよいが数が多いと面倒)


画像は、
「ponytail_FX.003」となっていることがわかる

全体を選択状態にして
Mキーをおしてレイヤーへ移動させる
レイヤーを表示させて複製Shift+Dする
すると
Sceneselectionのところ(右上のオブジェクト一覧)のところに新しいボーンができたことがわかる
Mキーをおして右側のグループ群のレイヤーへ移動する。2個めのボーン群ができた

そのレイヤーのボーンの名称を変更する
現在は
「ponytail_FX.005」となっていることがわかる(さっきの名称は「ponytail_FX.004」までだった。
複製したので005が作成された)
「ponytail_FX.005」

「ponytail_phsics.001」に変更してその子ボーンもponytail_phsics.002から004とする
同様に
選択状態にして、Lキーを押すと他のボーンが選択状態になる。
「ponytail_physics.001」のフィールドのところで右クリックして
Copy to Selectedを選択すると名称が他のボーンに付記される
ponytail_phsics.002から004に変わった

次に

※「ponytail_phsics.001」から004が選択された状態で
Deformのチェックを外す


>Object Modeに変わる

次に円柱を作成する。なおポイントから作成する
動画は4:02くらい
Shift+aでMeshを選択する
作成されたオブジェクト名を「ponytail_phyObj」とする


>Edit Modeにする
ポイントが選択状態のままMキーを押してAtCenterを選択して原点にマージ(結合)する
これで1点になった。
Gキーでボーンの根元に移動させる
Eキーを押して押し出して子ボーンの数だけ延長する


>Object Modeに変わる
「ponytail_phyObj」を選択して
Object>Convert>Curveを選択する(後でメッシュにする)


右側のカーブアイコンのところのGeometry>BevelのDepthの数値を上げる
Depth:0.1mくらい
すると線が太く円柱みたいになる


次に
「ponytail_phyObj」を選択して
Object>Convert>Meshを選択する
つまりカーブからメッシュに変更した


Phisics Propatyの物理演算Clothをクリックする

画像


この状態でアニメーションの再生ボタンをクリックすると
落下してしまう。
Pin Groupピングループが必要


次はここから

動画は5:03のところ


「ponytail_phyObj」を選択して
>Edit Modeにする
Solidだと見えない背面のポイントは選択されないので
Wireflame状態にしておく、この状態にすると前面だけでなく後面のポイントも選択される。


ObjectDataPropertiesからVertex Groupsのところで
十字アイコンをクリックしてグループを追加する
名称を
「Point.000」
Weight1.0
にして根元のポイントを選択してAssignをクリックする


そのままCtr+iで他のポイントを選択して(根元のポイントは解除される)
Weight0.2に変えてAssignをクリックする
つまり、「Point.000」で、Weight1.0とWeight0.2の部分が存在する

>Object Modeに変わる

右側のPhysics PropertiesのShape項目のPin Groupのところ
「Point.000」を選択する
画像

これで、アニメーションを再生しても円柱は落下しない。
画像


「ponytail_phyObj」を選択して

>Edit Modeにする


ObjectDataPropertiesからVertex Groupsのところで
十字アイコンをクリックしてグループを追加する
名称を
「Point.001」
2番めの節のポイントを選択して
Weight1.0
以下同様にVertex Groupを追加する


画像

「Point.001」から「Point.004」まで作成できた
WeightPaintで見ると赤色から青のグラデーションになる

画像


次に、Armature、ponytail_physicsボーンを選択して
>Pose modeにする
根元のponytail_physics.001を選択して
右側のBone Constraint PropertiesのAdd BoneConstraintプルダウンから
「Damped Track」(減衰トラック、減衰追随を選択する
Target:ponytail_phyObj
Vertex Group:Point.001
にする画像あり
同様に、子ボーンも設定する。
Target:ponytail_phyObj は全部同じで
Vertex Groupは、それぞれが追随するポイントになる。


2番めのボーンはPoint.002
3番めのボーンはPoint.003
4番めのボーンはPoint.004 のようになる
画像


なお、設定途中でボーンが変な方向を見るが設定すれば正常な形になる。
もし、正常な形になっていないならそれは設定がどこか間違っている。
動画
6:59のところ
アニメーションを再生すると
ゆらっと動く枝垂れ柳みたいな感じ
なお、この状態は手動で動かすことはできない。
ここまでPhysicsのボーンの作業


---

次にFKのボーンに移動する。
※この設定の間違い漏れが正常に動かない可能性のある箇所だと思う
>Pose modeにする
ponytail_FXボーンを選択するために右側のObjectDataPropertiesから
レイヤーで左側のFXボーンがあるところをクリックする
これでponytail_FX.001が選択できたはず
画像


根元のボーンを選択する
右側のObject Constratint PropertiesからAddObjectConstraintプルダウンから
CopyRotationを選択する
そして
TargetにArmatureを選択する
>>>あれ???選択するけど、選択されない、、、、なんで????
>>>もう一度ボーンの選択を解除してやってみたら選択できた。
>>>なんだった。気を取り直して選ぶ


Boneは、[ponytail_physics.001]になる。つまりFXが追随するのはPhysicsになる
Mix:Before Original(ここでボーンが変な方向をむくが気にしない)
Target:LocalSpace
Owner:LocalSpace(ここらへんでボーンは正常になるはず)
画像


子ボーンも同様にそれぞれに対応するボーンに当てはめる
ponytail_FX.002はponytail_physics.002
ponytail_FX.003はponytail_physics.003
ponytail_FX.004はponytail_physics.004
となるようにする。
※もし、動作が正常でない場合、おそらくこの設定のどこかを間違っている気がするので
ここらへんを見直すとよいだろう。

-----

5分くらいの画像、これから整理する

---

動画8:41あたり

次は、円柱ポリゴンオブジェクトとボーンを関連付ける。


>Edit Modeになる
ponytail_FXボーンを選択するために右側のObjectDataPropertiesから
レイヤーでphysicsボーンがあるところをクリックする
これでponytail_FX.001が選択できたはず
BlenderのLayoutの左上に選択されたときにオブジェクトの名称が表示されるので
それでどのオブジェクトが選択状態か判別できる。
>この選択手順は慣れないと少し面倒なので、うまく選択できないときはObject Modeに変えたりして選択を工夫してほしい


・ボーンの親を作る(2回やり直したけどだめだった)
ponytail_FX.001根元ボーンを複製して、サイズを変える
右側のBone Propertiesから名称を変える
「ponytail_parent」


次に、ponytail_FX.001のRelations項目のParentを
「ponytail_parent」にして
ponytail_physics.001のRelations項目のParentを
「ponytail_parent」にする
すると 
ponytail_parentの下に
 ponytail_physics.001
 ponytail_FX.001が配置される
画像


次に
>Pose modeにする
ponytail_parentを選択して
右側のObject Constratint Propertiesから
CopyRotationを削除する。
これは複製したのでそのまま設定がついてきた


>Object Modeに変えて
ponytail_phyObjを選択して
右側のObject Constratint Propertiesから
Child OFを選択する


Target:Armature
Bone:ponytail_parent
>するとオブジェクトが消えてしまう
Set Inverseをクリックする
>するとオブジェクトが表示される

※※※※※※※※※※※※※※※※※※※※※※

以下はやり直し作業なので、正常なら飛ばしてよい

※※※※※※※※※※※※※※※※※※※※※※

>>>>しかし、ここでおかしなことが発生した。

ボーンが変な方向にできていて、アニメーションを作成すると
ぐるぐる回ってしまう。
どうやらボーンの親子関係が間違っているようだ。
「ponytail_parent」を作成する前に、Undoを繰り返して戻る。


もう一度
「・ボーンの親を作る」を設定する
画像
親子関係の画像


問題なく設定できた画像
でもアニメーションを再生すると回転し始める
画像


なんで>>???
本来は枝垂れ柳みたいな感じになるはず。
もう一度やりなおす。
原因はわからないが、アニメーションを再生したあとで
再生ポジションを巻き戻さずに、そのままにしていたからかもしれない。
保存したファイルの途中作業のファイルからやり直してみる。


・やり直し2回め
・ボーンの親を作る
2回やり直したけどだめだった
アニメーションを再生すると
ぐるぐる回る、本来は枝垂れ柳みたいな動きで回ることはない
画像2枚


なのでもっと前のところからやり直す。
それかもう一度はじめからやり直してみる


・やりなおし3回目。KaminoKerig_type02_01.blendのところからと思ったけど
KaminoKerig_type02_03.blendのところまで正常に動いているみたいだから
03から作業を進めてみる。
これは自分が書いた説明文からではなく動画をもう一度見る。
動画8:34のところから
もし動画のとおりにやって正常に動けば自分が書いたメモが間違っていることになる。
そこを修正すれば、今後の間違いを注意できる。


親ボーンを作るところから3回目スタート
>Pose modeからEdit Modeになる
ponytail_FX.001を選択した状態
Shift+D、リターンで複製を作った
長さLengthを0.5mにした
名称を
ponytail_parentに変えた
そして
次に、ponytail_FX.001のRelations項目のParentを
「ponytail_parent」にして


ponytail_physics.001のRelations項目のParentを
「ponytail_parent」にする


>Pose modeにする
ponytail_parentを選択して
右側のObject Constratint Propertiesから
CopyRotationを削除する。
KaminoKe_rig_type02_04_02_challenge01.blend


ここから
KaminoKe_rig_type02_04_03_challenge01.blend
の作業とした


>Object Modeに変えて
ponytail_phyObjを選択して
右側のObject Constratint Propertiesから
Child OFを選択する


Target:Armature
Bone:ponyatil_parent
>するとオブジェクトが消えてしまう
Set Inverseをクリックする


また回転した。
なんで?と思って
ponytail_parentのObject Constratint Propertiesをみたら
まだCopyRotationがあったので
CopyRotationを削除する。


でもponytail_phyObjが動かない???
前よりは良くなったけど
右側のObject Constratint Propertiesから
Child OFが設定されてない。
もう一度Child OF入れてみたら問題ない?かな。


これでなんとか正常に戻った気がする。
再生しても回転しない。オブジェクトがponytail_parentを動かしても破綻しない。
動画10:03のところまで問題ない。


・原因
原因ははっきりしていないが、
あるとすると
設定わすれ、再生ヘッドを巻き戻していない
などが考えられる。
もう一度、自分の書いた説明でできるかを再度確認したほうが良さそうだ。

※※※※※※※※※※※※※※※※※※※※※※

やり直しここまで

※※※※※※※※※※※※※※※※※※※※※※

動画10:19

からまた始める

画像10分くらいのところ

















ponytail_parentを選択して
>Pose modeにする
右側のBone Propertiesから
Rigfy Type項目のRig Typeプルダウンから
basic_raw_copy
を選択する
Widget Typeプルダウンから
cube_truncated
を選択する


次にponytaile_FX.001は
Rigfy Type項目のRig Typeプルダウンから
basic.super_copy
Widgetは bone
Relink Constraintsにチェックを入れる
画像

002以降も同じように設定する
003
004


次にFX.001ボーンの
Bone Constratint Propertiesの
「Copy Rotation」を
「CTRL:Copy Rotation」
CTRL:を追加して変更する
コロン:画像は、コロンじゃなくてコンマになっていて間違い。正しくは:コロン


002以降も同じように設定する
003
004
画像


次はponytail_physics.001を修正する。
Rigfy Type項目のRig Typeプルダウンから
basic.raw_copy
002以降も同じように設定する
003
004
画像
動画12:46のところ


次に
>Object Modeになる。
ここで、人体オブジェクトが必要みたいなので
かわりに球体を作って顔にする
>KaminoKe_rig_type02_06_03_challenge01.blend ここから


Shift+c
Add>armature>Basic>Basic Human(meta Rig)
を選択する。Rigが小さい

Sキーで拡大する

ponytail_parentを先に選択して
次に先程作ったmetarigをシフトキーを押して複数選択状態にして
Ctr+Jでジョイントする



>Edit Modeになる
Shiftキーを押しながら poniytallのボーンのあるレイヤーを選択する
画像


Bone  Propertiesの
ponytail_parentの親をMetarigのspine.006にする
Relationsの項目
parent:spine.006


次に物理ボーンのレイヤーを選択する
右側のレイヤー
画像
ObjectDataPropertiesのLayer Names項目の
24行目にphysics
UI R13 >もしかして、画像は「UI 13」になってるからここを誤記だったか?
Special
にする


髪のFXレイヤーを選択(左側)
20行目をHair
UI R13
FK
にする


>Object Modeに戻る
動画 13:52
そしてGenerate Rigをクリックする
画像
次にponytail_phObjを選択する
ObjectConstraint Propertiesの
Child OFの
Targetを[rig]に変える


>>>あれ? hairの項目がない 本来なら、Hairというボタンができているはず???
画像 Rootボタンの上くらいにHairというボタンがあるはずがない
でも先に進んで見る


次にポニーテイルオブジェクトこれは、ponytail_phyObjではない
実際に動かしたい方のぽーテールオブジェクト
を選択して、rigを複数選択状態にして、
Ctr+PからArmature DeformeのWith Automatic Weightsを選択する


動画 14:32
>KaminoKe_rig_type02_06_04_challenge01.blend ここから
球体(顔)を別オブジェクトとしていれた


Vertex Groupで頂点を作成
DEF-spine.006とする
Edit Modeになって頂点を選択する
Weight:1.0
Assignする


>Object Modeに戻る
球体(顔)を選択して、rigを複数選択状態にする
Ctr+PでAmature Deform のみを選択する


次に当たり判定ようの球体を作成
UVSphreを作成する
そのまま頭の位置に移動させる。
(ポイントを移動させる必要はなく、球体オブジェクトごと移動させる)


またVertex Groupで頂点を作る
Vertex Groupで頂点を作成
DEF-spine.006とする
>Edit Modeになって頂点を選択する
Weight:1.0
Assignする


>Object Modeに戻る
球体UVSphreオブジェクトを選択して、複数選択状態でRigを選択して
Ctr+PでAmature Deform のみを選択する


次に球体UVSphreオブジェクトを選択して、
Physics Propertiesから
Collisionを設定する


RIgを選択して
ObjectDataPropertiesから
ViewportDisplyから
In Frontをチェックする


ここまでで終わり

Pose modeで再生して動いた。

Pose modeで動作を確認する
再生させて物理演算を動作させる
その前に球体UVSphreオブジェクトを隠すhキー
ポニーテイルが変だけど、動く動くぞ
とても疲れたーーー


画像10分以降に対応した作業の画像







以上



このブログの人気の投稿

国税庁確定申告でエラーになったところ株式譲渡が赤字の場合には、配当を申告不要とすることはできません

メモ、BlenderPythonスクリプトで参考になるオブジェクトや頂点の選択ツリー選択スクリプトリンクメモ

楽天証券、信用取引口座から楽天FX口座へ振替手順