見出し画像

【Blender】検証と考察:ボーンの適切な軸方向、回転軸

今回は、適切なボーンの回転軸を検証した結果を共有。
仮説を立てて自分なりに調べたものだが、まだまだ研究の余地あり。

ボーン構成を行う際、適切なボーンの回転軸を設定せよ、と言われるが、Blenderのボーンにおいて、適切な軸方向と回転軸は何なのか検証してみる。
<Blender 2.83.4>

■「前提」と「適切な軸方向と回転軸」の定義

Blenderのグローバル座標の正の方向、負の方向は、下図の通り。

画像9

そして、ボーン構成時、ボーンの回転軸は、下記の定義を行う。

・基本ボーンの軸方向とグローバル座標を合わせる。
・X軸をメイン回転軸として設定する。
・Z軸を補助回転軸として設定する。軸方向は、(+)正の方向へ向ける。
・Tip方向は、Y軸とする。(ロール軸)

画像11

Boneの構造

■回転軸の検証(X軸、Z軸、Y軸)

実際に数値入力でボーンの回転軸を動かして検証してみる。

X軸回転:メイン回転軸>
ポーズモードでプレビュー。
向かって左側ボーンX軸回転の動きは、グローバル座標の正、負の方向と一致していない。一方、右側ボーンのX軸回転は一致しているので、右側ボーンの挙動が適正と判断。

画像2

<Z軸回転:補助回転軸>
ポーズモードでプレビュー。
向かって左側ボーンX軸回転の動きは、グローバル座標の正、負の方向と一致していない。一方、右側ボーンのX軸回転は一致しているので、右側ボーンの挙動が適正と判断。

画像1

<Y軸回転:Tip方向>
ポーズモードでプレビュー。
向かって左側のボーンと右側のボーンを比較。
Y軸値を入力した時、2つのボーンの回転方向は一致している。

画像3

<ロール軸回転:Tip方向>
編集モードでプレビュー。
向かって左側のボーンと右側のボーンを比較。
ロール値を入力した時、2つのボーンの回転方向は一致している。

画像11


■適正な基本ボーンの軸方向とは?

以上の検証の結果、適正を考慮すると、下図の〇印をつけたボーンの軸方向を良しとして採用したい
このボーンを始祖として、ボーンを押し出して生成していくと良さげ。
(×側のボーンの軸方向は、ボーン作成時の初期値)。

画像7

追加したばかりのボーンの軸方向を〇印をつけたボーンのように修正するには、アーマチュア>ボーンロール>ロールを再計算 で、グローバル+Y軸に設定する。(Ctrl+N)

画像8


■軸方向チェックは、FKで検証する

軸方向のチェックは、FK(フォーワードキネマティクス)で検証すると分かりやすい。この方法で事前確認して、回転軸、軸方向を適正にしておくと編集時、ボーンの回転が制御しやすくなる。

トランスフォームで、軸の値に(+)正の値を入力すると
 グローバル座標で、(+)正の方向へ回転する。
トランスフォームで、軸の値に(-)負の値を入力すると
 グローバル座標で、(-)負の方向へ回転する。

<メイン回転軸:X軸>

画像12

<補助回転軸:Z軸>

画像13

■調整済のボーンの軸方向と回転軸(例)

ボーンの軸方向が、適切と思われるものをいくつか例として挙げる。
いずれも軸方向、回転軸を定義通りに合わせたもの。

<例1>
各ボーンをトランスフォームの入力値で、X軸、Z軸で回転させたとき適切な方向に回転するので良し。

画像8

<例2>
脚~足~つま先の回転軸は、各ボーンをトランスフォームの入力値で、X軸、Z軸で回転させたとき適切な方向に回転するので良し。
ポールは、(接続したボーンに)左右移動のみ影響を与える。ポール移動方向(X軸)と、座標の正の方向、負の方向と一致しているので良し。

画像9

<例3>
各ボーンをトランスフォームの入力値で、X軸、Z軸で回転させたとき適切な方向に回転するので良し。

画像9


■【メモ】関連で気付いたこと

編集モードで、ボーンを回転して、トランスフォームに値が入力されていても、ポーズモードのトランスフォーム>回転値のX,Y,Zの初期値は、必ず0になる。(Alt+Rで回転値をリセット。初期値に戻る)

というのも、他のDCCツールでは、ボーンを編集した後は、必ずフリーズして回転値を0にするお作法があったと思うが、Blenderでは不要みたい。

画像14

以上。


この記事が気に入ったらサポートをしてみませんか?