以前からよくABMXを使ってキャラの足の長さを変化させるために、「Split XYZ scale Sliders」の「Whole Leg Scale Y」を使って足の長さを調整するってのは、よく見かけると思います。が、これは誤情報です!
実は3Dキャラのボーンの取り扱いとしてはやってはいけない事なのです。
知ってる人は知っている事のなのですが、新規さんも増えて今でもたまに見かけるので、なぜダメなのかと、正しい対処法を説明します。
説明力不足はご容赦ください!
まず最初にダメな例とその理由を説明していきます。
①巷でよく見る検証例として、Plugin settings の [Split XYZ Scale Sliders] をonにし、ABMXの [Whole Leg] のScaleに[y 90]を、更に分かりやすさのために[z 110]入力します。
脚全体がやや短く太くなります。
②このままだと足のサイズも扁平になってしまうので、元に戻すため、100÷90≒111、100÷110≒91をそれぞれ入力。
これで準備完了!
脚を動かしてみます。
④太もも部分を直角に曲げてみます。
この状態では先程設定した比率が維持されています。
⑤しかし更にひざで直角に曲げると、ひざ下比率がおかしなことになります。
これがダメな理由です。
次にこの現象について説明します。
⑥先程どのようなことが起こっていたのか説明していきましょう。
⑦現状のサイズを測りオリジナルからの比率を出すとこのようになります。ひざを90度曲げた状態では青部分の縦と横の比率が逆転したように見えます。
青の部分が赤の部分の「子(下位)」にあたるため、「親(上位)」の赤の変形情報(⑧:-90度回転、 親ボーンから見て y軸方向に90% z軸方向に110%)を引き継いでいるからなのです。(親から見ると90%と110%の並びが一緒⑦)
それを更に90度曲げたので、親の変形情報が子に引き継がれることを顕在化しました。(もちろんひざを伸ばした状態でも引き継がれていました)
3Dキャラのボーンとして、この挙動は正しいです。
このような親子関係の集合体でボーンは構成されています。
⑨更に青の子(下位)である緑部分にも同様の変化が表れています。
足には最初に元の大きさに見えるよう補正入れていたので、打消しあっていたものが、逆に大きな変化となって(y:111%×110%≒122%、z:91%×90%≒82%)現れています。
キャラクリの仕組み
バニラでキャラクリして動かしている分にはこのような現象は起きません。
それは何故かというとボーンの親子関係にあるのです。
子(下位)は親(上位)の影響を受けるが、逆は影響を受けません。
それを利用し、キャラを動かすためのボーンとキャラクリで体形(scale)を変化させるためのボーンを原則的に分けて作られています。
正確には、キャラを動かすためのボーンを親として、その子(下位)にキャラクリのScale用ボーンを配置しているので、親となるボーンの動きは子の影響を受けないようになっています。
具体的に脚を例でみると、動きのボーンは
[cf_J_LegUp00]>[cf_J_LegLow01]>[cf_J_LegLowRoll]>[cf_J_Foot01]
とつながる親子関係を持ちます。(⑩⑪⑫の四角のボーン。[cf_J_LegLowRoll] は [cf_J_LegLow01] からひねり部分を分離した専用ボーンで足首の変形をスムーズにします。[cf_J_LegLow01] と [cf_J_LegLowRoll] でニコイチと認識してください。)
その動きボーンの子に変形のscale用ボーンがついています。(⑩の三角のボーン)
太ももで見ると、[cf_J_LegUp00]┳>[cf_J_LegUp01_s]
_ ┣>[cf_J_LegUp02_s]
_ ┣>[cf_J_LegUp03_s]>[cf_J_LegKnee_back_s]
_ ┗>[cf_J_LegKnee_low_s]
という階層になっており、4つ変形scale用ボーンが [cf_J_LegUp00] を親として、それぞれ独立してつながっているのがわかります。
動きのボーンは、原則的にscale変更を想定していない作りになっています。
キャラクリで脚パラメータでは[太もも上][太もも下]の2つだけですが、内部的にはこの5つのボーンに ある一定の割合でscale値が割り振られます。
⑬の例はたまたまscale値を変えちゃダメなボーンのscale値を弄ってしまったんです!
scale値を動かしていいボーンとダメなボーンがあることがわかったところで、それではどうやって⑬じゃなくて⑭のように出来るのでしょうか?。
前述してきた事をまとめると、scale値を動かしてはいけないボーンとは、子(下位)に可動するボーンを持つ親ボーンということになります。
脚でいうとABMXのWhole Legにあたる[cf_J_LegUp00]と、[cf_J_LegLow01]、[cf_J_Foot01]などが当てはまります。
でも、このボーンたちのサイズ変えないと長さは調整出来ないですよね?
では、どうするか? scale値を変えます!
はっ?って思うでしょうが、一つ条件があります。
xyzのscale値を同じにします。
xyzのscale値を同じにすることで、親子間での変形に伴う比率の変化を無くします。
xyzを同じscale値にする必要があるのは、キャラを動かすためのボーン。
キャラクリの変形ボーンは比率を気にしなくて良いです。
キャラクリのABMXのPlugin settingsには、この現象を防ぐためデフォルトで [Split XYZ Scale Sliders] がOffになっています。
最初からOffの状態で作ると、危険な箇所が等倍でサイズ変更になるため、この現象が防げます。
自信のない人は [Split XYZ Scale Sliders] を使わないのも手です。
(Advanced Bonemodでは無効)
対策版の具体的な数値がこちら
Whole Leg を等倍で[xyz 90]にし、
それに合わせ他の数値を入れていきます。
100%に戻したいところには100÷90≒111
110%にしたいところは110÷90≒122
90%のところはそのまま、という感じになります。
例を再現するため、
このようなややこしいことをしていますが、
実際のキャラクリの時は100%に戻すとか要らないので、
数か所ある等倍の箇所だけ注意すれば、
後はキャラクターを見ながら調整してもらえばOKです。
ここまでたくさん説明してきましたが、重要なことはこれだけです
(子に対して)
「長さの変化するボーンは等倍でscale変更せよ!」
これだけおぼえて帰ってください。
応用編 Advanced Bonemod を使用したキャラクリ例
Advanced Bonemodを使用すると、キャラクリのABMXの項目からでは弄れないようなボーンにアクセスすることができます。
対象のボーンをよく理解して使いましょう!
この例では、対策版のひざ下を更に10%短くしました。
Advanced Bonemodから[C_J_LegLow01]にアクセスし、ScaleのXYZに90を入力します。(等倍必須ボーン)
足のサイズも小さくなっているので、100%に戻すためFoot scale1にすでに入力されている[111]を0.9で割り[123]をxyzに入力。(等倍必須ボーン)
ふくらはぎも細くなっているので、足と同様にUpper Calve, Center Calve, Lower Calveに数値を入れていきます。
Scale xには[123]、Scale zには[135]を入力し、xは見た目100%、zは見た目110%に戻します。
Advanced Bonemodでは、Scale以外のOffset値やTilt値にもアクセス出来るので、[C_J_LegUp02_s]や[C_J_LegLow02_s]などのOffset xの値を調整し、O脚っぽくしたりなどもおススメです。
Advanced Bonemodは理解して使いこなせば、キャラクリの幅は限りなく広がります。
色々試して自分なりのTips磨いていってください。
ファイルにオマケ資料を2つ入れてます。
更に複雑かもしれませんが、Advanced Bonemodを使う際には、ちょっと役立つかも?
キャラクリの一助になれば幸いです!
by Hcom
アップロードファイル(クリックでダウンロード)
エモーションボタン
一言感想ボタン
+ボタンをクリックすることで追加することができます
×ボタンをクリックすると削除確認メッセージが表示されます
虫眼鏡マークをクリックすると同じボタンをつけられた記事の一覧が表示されます
※ボタンを押した回数はキャッシュされるため、表示が反映されるのは編集などでクリアされるか、30分ごとです
資料ありがとうございます。内部データを触ってるとキャラクリ用のボーンには一律「_s」がついているのでそちらはxyz気にせず、ほかのボーンは比率をいじらずという感じですかね。
私もまだ始めた頃に調整した数値でキャラクリしているので見直してみます。
そうですね「_s」はscale専用って認識でOKだと思います。問題は_s以外で変形するボーンが結構あるので、そこ注意です。
Mune、Koshi系など、ところどころ英語でない論理名がモヤモヤします。
Anaはなんで「ル」を省略するのか。穴なのかアナルなのかどっちなんだ。
Danは男根のダンか?男性器のダンか?うああああああーー!
日本語の分かる我々ならまだいいですが、英語圏の人には???がいっぱいついてそうですwww
ユニークな命名してくれますよね!
わからん…俺たちは雰囲気でキャラクリをしている!
基本これなので、ちゃんとした3DCGの知識をお持ちの方の講座はとてもありがたいですね
帰宅次第、査読させていただきます🧐
査読は誤用でしたね、すみません。拝読いたします!
上手く説明できたか自信ないですが、「長さの変化するボーンは等倍でscale変更せよ!」だけ憶えていただければ、失敗しないと思います!
いやぁー・・・おれも脚のYスケールだけ90とかにしてました。
確かに、特定のポーズとか体位とか取らせると、なんだかおかしな形になってたんですよね……
XYZ同比率にする、おぼえました!ありがとうございます!
キャラクリしてる時って、ほぼ直立で作っちゃいますしね。後からなんでだろうって気づいてた人も多いと思います。
少し手間増えますが、後で悩むことなくなるのでおススメです!
分かってくると参考資料のボーン階層表とか見るだけで、このボーンは大丈夫、これはダメってのが見極められます。
素晴らしい資料ですね!
ABMXでいじれるパラメータについて、ここまで詳細にまとまっている資料はなかなかないと思います。
キャラクターの体形などを自由に設定したい! という人は、ぜひこの資料を参考にしてほしいと思います!
1年ぐらい前に作った資料でしたが、ようやく記事に出来ました。
自由に動かしていいボーンと等倍でしか動かしちゃダメなボーンの違いが伝えられた?かな??
読ませていただきました。
要約すると「Whole leg Scale」や「Whole arm Scale」等がキャラの骨組み部分のスケールでこれを1:1:1にして、他の部分のスケールでガワの大きさを調整するって感じですかね。
この解釈で合っているでしょうか
そうですね。
HS2のボーンの作りとして、各部位の長さを調整できるように作られていないので、そこを単純にいじってしまうと不具合が生じるので、その解決策として、長さをいじるときは等倍にscale値をそろえることが必要となります。
等倍にすると当然サイズ感がおかしくなるので、それを他のボーンで良い感じに戻してやってください。
原則的にキャラクリのスケール用ボーンは階層の末端にあるので動きを付けた時に影響しないのですが、先程の「Whole leg Scale」や「Whole arm Scale」は階層の途中にあるので等倍が必須になります。あと、手指(Hand,Finger)や足(Foot)なんかも等倍が無難です。
資料頂きました。
足等を動かすポーズを取ると形変わるなぁ・・・って思っていたのですが、記事に書かれている事が原因だったんですね。
資料及び大変参考になる記事、ありがとうございました。
これからのドンドン活かしちゃってください!
大変、為になる情報、ありがとうございます!
私はABMXで値の変更は一切使用せず、バニラの設定を変えないタイプですのですが、
体位によっては、指の長さや太さ、足首と足の大きさがおかしくなるじゃないですか。
動画を作っていて、そろそろ、その辺りを触る必要があるのかな。。。と思っていたので、
この情報を頭に入れて、挑戦してみます!!
アニメって関節補正なしに成立するじゃないですか、あれって通常の関節補正以外のことをアニメに組み込んでるような気がするんですが、よくわからんのですよね。
キャラクリじゃなくてスタジオでのみボーンをいじるなら、「HS2StudioCharaEditor」や「HS2PE」のAdvanceModeなんかも良いですよ。スタジオでだと「Advanced Bonemod」のウィンドウが勝手に閉じちゃうので面倒なことが多いです。
これは良くできた資料ですね。
ありがとうございます。
参考にしてみます。
ボーンの階層表はめっちゃ苦労しました。是非ご活用ください!
HS2PEでボーンの階層開いてスクショとってみたのは良いんですが、あまりにも長くてw
キャラ制御用のジョイントとかまだまだあって、長年の蓄積がここにあるんだなって感じます。
階層表はですね。こちらに罫線を使ったテキストがあります。
まぁ、被っちゃいましたね。
[TIP] ABMX用 骨格標本
https://yuki-portal.com/uploader/honeyselect2/other/87550/
しかし資料は大変読みやすかったです。
説明書?と言えば読まない人もいますが理路整然としていますね。
そちらの階層表もいただきます!階層を色で表現したいってのがあって作りましたが、テキストはコピペ出来て検索が楽ですね!
この記事、書き始めては投げ出してを2年くらいしてたので、ようやくまとめられて良かったです。
あともう2個ほど、長期間まとめきれてない記事があるので、近いうちにまとめられればいいな。
素晴らしいTipsありがとうございます。
関係ない質問で恐縮ですが、画面が広く見えますがディスプレイ解像度はWQHDでしょうか?
FullHDでやってるのですが、UIが大きくて窓を出したり消したり移動したりしなきゃならなくて操作しづらいので購入検討してまして…
Ksanへ
ツリー表示の限界みたいで、コメントに返信リンクがでなかったので、こちらに書かせていただきます。
FHD環境ですよ、UIはMODで少し縮小表示させています。
私は使い慣れてるので「SpecterHS2」を使っていますが、メジャーなところでいうと「HS2US」の「uiScale」設定が同様の機能です。
おおー素晴らしいです。自分はへそ下を若干縮めたいのでkosi周りをいじりますが、足が伸びてしまうので
他もいじることになり、なかなか落としどころが見つけられませんでした。いつもあーだこーだ試しつつダメだったの繰り返しなので、まとめてくださるととてもありがたいです。
Kosiだと、「cf_J_Kosi01」と「cf_J_Kosi02」が等倍必須ボーンになるので、その2つを等倍変化させたのちに「cf_J_Kosi01_s」「cf_J_Kosi02_s」「cf_J_Kosi03_s」あたりで調整していただくと良いですね。ただし「cf_J_Kosi02_s」が「cf_J_Kosi03_s」の親になってるので「cf_J_Kosi03_s」への影響だけ気を付けてくださ~い。
あと、「cf_J_Kosi01」や「cf_J_Kosi02」を動かした場合、「Advanced Bonemod」で「cf_J_LegUp00」の[Offset X]の調整が必要になってくるかもしれません。
いい落としどころ見つけてくださいませ!
これはすごい情報です。ありがとうございます。
もし分かれば教えていただきたいのですが、
以前からあるMMDで利用されていたモデル(meiko等)の脚の長さは、HS2だと100が近似値でしょうか?
自分でモデルは作るのですが、MMD用に提供したことがないので、詳細はわからないです。
一般的なキャラデザインの話ですが、キャラクターの各部位の長さって頭の大きさを基準に決めることが多いです。
これは画像から分析できるので、全身、胴、腕、股下の4部位を頭何個分か測り、HS2のキャラクリで再現すると良いですよ。
HS2デフォルト体形の場合は、身長50くらいで胴の長さが頭3個分、股下の長さが頭4個分って感じのバランスになっていて、脚がかなり長目でスーパーモデル体型って言われるわけですね。
お返事ありがとうございます。MMDモデルとの近似値は何かしらの方法で試してみますm(_ _)m