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
・制作のポイント
ObjectConstraintを使用
「Damped Track」(減衰トラック、減衰追随
「Copy Track」
右側3からの向きで作業する
Shift+cでカーソルを中心にしておく
はじめに、ボーンを1個作成ここから増やしていく
ボーンを髪の毛の位置(練習ではなんとなく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に変わった
次に
>Object Modeに変わる
動画は4:02くらい
ポイントが選択状態のままMキーを押してAtCenterを選択して原点にマージ(結合)する
これで1点になった。
Gキーでボーンの根元に移動させる
Eキーを押して押し出して子ボーンの数だけ延長する

「ponytail_phyObj」を選択して
Object>Convert>Curveを選択する(後でメッシュにする)
Depth:0.1mくらい
すると線が太く円柱みたいになる
「ponytail_phyObj」を選択して
Object>Convert>Meshを選択する
つまりカーブからメッシュに変更した
Phisics Propatyの物理演算Clothをクリックする
落下してしまう。
Pin Groupピングループが必要
次はここから
動画は5:03のところ
>Edit Modeにする
Solidだと見えない背面のポイントは選択されないので
十字アイコンをクリックしてグループを追加する
名称を
「Point.000」
Weight1.0
にして根元のポイントを選択してAssignをクリックする
Weight0.2に変えてAssignをクリックする
つまり、「Point.000」で、Weight1.0とWeight0.2の部分が存在する
>Object Modeに変わる
「Point.000」を選択する
画像
画像
「ponytail_phyObj」を選択して
>Edit Modeにする
十字アイコンをクリックしてグループを追加する
名称を
「Point.001」
2番めの節のポイントを選択して
Weight1.0
以下同様にVertex Groupを追加する
画像
WeightPaintで見ると赤色から青のグラデーションになる
>Pose modeにする
根元のponytail_physics.001を選択して
右側のBone Constraint PropertiesのAdd BoneConstraintプルダウンから
「Damped Track」(減衰トラック、減衰追随を選択する
Target:ponytail_phyObj
Vertex Group:Point.001
にする画像あり
Target:ponytail_phyObj は全部同じで
Vertex Groupは、それぞれが追随するポイントになる。
3番めのボーンはPoint.003
4番めのボーンはPoint.004 のようになる
画像
もし、正常な形になっていないならそれは設定がどこか間違っている。
6:59のところ
アニメーションを再生すると
ゆらっと動く枝垂れ柳みたいな感じ
なお、この状態は手動で動かすことはできない。
ここまでPhysicsのボーンの作業
---
※この設定の間違い漏れが正常に動かない可能性のある箇所だと思う
>Pose modeにする
ponytail_FXボーンを選択するために右側のObjectDataPropertiesから
レイヤーで左側のFXボーンがあるところをクリックする
これでponytail_FX.001が選択できたはず
画像
右側のObject Constratint PropertiesからAddObjectConstraintプルダウンから
CopyRotationを選択する
そして
TargetにArmatureを選択する
>>>あれ???選択するけど、選択されない、、、、なんで????
>>>もう一度ボーンの選択を解除してやってみたら選択できた。
>>>なんだった。気を取り直して選ぶ
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あたり
次は、円柱ポリゴンオブジェクトとボーンを関連付ける。
ponytail_FXボーンを選択するために右側のObjectDataPropertiesから
レイヤーでphysicsボーンがあるところをクリックする
これでponytail_FX.001が選択できたはず
BlenderのLayoutの左上に選択されたときにオブジェクトの名称が表示されるので
それでどのオブジェクトが選択状態か判別できる。
>この選択手順は慣れないと少し面倒なので、うまく選択できないときはObject Modeに変えたりして選択を工夫してほしい
ponytail_FX.001根元ボーンを複製して、サイズを変える
右側のBone Propertiesから名称を変える
「ponytail_parent」
「ponytail_parent」にして
「ponytail_parent」にする
すると
ponytail_parentの下に
ponytail_physics.001
ponytail_FX.001が配置される
画像

>Pose modeにする
ponytail_parentを選択して
右側のObject Constratint Propertiesから
CopyRotationを削除する。
これは複製したのでそのまま設定がついてきた
ponytail_phyObjを選択して
右側のObject Constratint Propertiesから
Child OFを選択する
Bone:ponytail_parent
>するとオブジェクトが消えてしまう
Set Inverseをクリックする
>するとオブジェクトが表示される
※※※※※※※※※※※※※※※※※※※※※※
以下はやり直し作業なので、正常なら飛ばしてよい
※※※※※※※※※※※※※※※※※※※※※※
>>>>しかし、ここでおかしなことが発生した。
ぐるぐる回ってしまう。
どうやらボーンの親子関係が間違っているようだ。
「ponytail_parent」を作成する前に、Undoを繰り返して戻る。
「・ボーンの親を作る」を設定する
画像
親子関係の画像
なんで>>???
本来は枝垂れ柳みたいな感じになるはず。
もう一度やりなおす。
原因はわからないが、アニメーションを再生したあとで
再生ポジションを巻き戻さずに、そのままにしていたからかもしれない。
保存したファイルの途中作業のファイルからやり直してみる。
・ボーンの親を作る
2回やり直したけどだめだった
アニメーションを再生すると
ぐるぐる回る、本来は枝垂れ柳みたいな動きで回ることはない
画像2枚
それかもう一度はじめからやり直してみる
KaminoKerig_type02_03.blendのところまで正常に動いているみたいだから
03から作業を進めてみる。
これは自分が書いた説明文からではなく動画をもう一度見る。
動画8:34のところから
もし動画のとおりにやって正常に動けば自分が書いたメモが間違っていることになる。
そこを修正すれば、今後の間違いを注意できる。
>Pose modeからEdit Modeになる
ponytail_FX.001を選択した状態
Shift+D、リターンで複製を作った
長さLengthを0.5mにした
名称を
ponytail_parentに変えた
そして
次に、ponytail_FX.001のRelations項目のParentを
「ponytail_parent」にして
「ponytail_parent」にする
ponytail_parentを選択して
右側のObject Constratint Propertiesから
CopyRotationを削除する。
KaminoKe_rig_type02_04_02_challenge01.blend
KaminoKe_rig_type02_04_03_challenge01.blend
の作業とした
ponytail_phyObjを選択して
右側のObject Constratint Propertiesから
Child OFを選択する
Bone:ponyatil_parent
>するとオブジェクトが消えてしまう
Set Inverseをクリックする
なんで?と思って
ponytail_parentのObject Constratint Propertiesをみたら
まだCopyRotationがあったので
CopyRotationを削除する。
前よりは良くなったけど
右側のObject Constratint Propertiesから
Child OFが設定されてない。
もう一度Child OF入れてみたら問題ない?かな。
再生しても回転しない。オブジェクトがponytail_parentを動かしても破綻しない。
動画10:03のところまで問題ない。
原因ははっきりしていないが、
あるとすると
設定わすれ、再生ヘッドを巻き戻していない
などが考えられる。
もう一度、自分の書いた説明でできるかを再度確認したほうが良さそうだ。
※※※※※※※※※※※※※※※※※※※※※※
やり直しここまで
※※※※※※※※※※※※※※※※※※※※※※
動画10:19
からまた始める
画像10分くらいのところ
>Pose modeにする
右側のBone Propertiesから
Rigfy Type項目のRig Typeプルダウンから
basic_raw_copy
を選択する
Widget Typeプルダウンから
cube_truncated
を選択する
Rigfy Type項目のRig Typeプルダウンから
basic.super_copy
Widgetは bone
Relink Constraintsにチェックを入れる
画像
003
004
Bone Constratint Propertiesの
「Copy Rotation」を
「CTRL:Copy Rotation」
CTRL:を追加して変更する
コロン:画像は、コロンじゃなくてコンマになっていて間違い。正しくは:コロン
003
004
画像
Rigfy Type項目のRig Typeプルダウンから
basic.raw_copy
002以降も同じように設定する
003
004
画像
動画12:46のところ
>Object Modeになる。
ここで、人体オブジェクトが必要みたいなので
かわりに球体を作って顔にする
>KaminoKe_rig_type02_06_03_challenge01.blend ここから
Add>armature>Basic>Basic Human(meta Rig)
を選択する。Rigが小さい
Sキーで拡大する
Shiftキーを押しながら poniytallのボーンのあるレイヤーを選択する
画像
ponytail_parentの親をMetarigのspine.006にする
Relationsの項目
parent:spine.006
右側のレイヤー
画像

ObjectDataPropertiesのLayer Names項目の
24行目にphysics
UI R13 >もしかして、画像は「UI 13」になってるからここを誤記だったか?
Special
にする
20行目をHair
UI R13
FK
にする
動画 13:52
そしてGenerate Rigをクリックする
画像
次にponytail_phObjを選択する
ObjectConstraint Propertiesの
Child OFの
Targetを[rig]に変える
実際に動かしたい方のぽーテールオブジェクト
を選択して、rigを複数選択状態にして、
Ctr+PからArmature DeformeのWith Automatic Weightsを選択する
>KaminoKe_rig_type02_06_04_challenge01.blend ここから
球体(顔)を別オブジェクトとしていれた
DEF-spine.006とする
Edit Modeになって頂点を選択する
Weight:1.0
Assignする
球体(顔)を選択して、rigを複数選択状態にする
Ctr+PでAmature Deform のみを選択する
UVSphreを作成する
そのまま頭の位置に移動させる。
(ポイントを移動させる必要はなく、球体オブジェクトごと移動させる)
Vertex Groupで頂点を作成
DEF-spine.006とする
>Edit Modeになって頂点を選択する
Weight:1.0
Assignする
球体UVSphreオブジェクトを選択して、複数選択状態でRigを選択して
Ctr+PでAmature Deform のみを選択する
Physics Propertiesから
Collisionを設定する
ObjectDataPropertiesから
ViewportDisplyから
In Frontをチェックする
ここまでで終わり
Pose modeで再生して動いた。
再生させて物理演算を動作させる
その前に球体UVSphreオブジェクトを隠すhキー
ポニーテイルが変だけど、動く動くぞ
とても疲れたーーー
画像10分以降に対応した作業の画像
以上