広告
広告

関節のボーンとポリゴンフローに関するTIPS

カテゴリ:blender

目次

ローポリハイポリ共通

ボーンのローカル回転軸をそろえる

アーマチュアの『体積を維持(Preserve Volume)』オプションを使う

補助ボーン

補助ボーンを使う

ボーンの影響力のブレンド

補助ボーンを回転量に応じて動かす

前腕

前腕のポリゴンを 90° ひねる

前腕のボーンを分割する

前腕のねじれの問題

関節

関節を少し曲げた状態でモデリングする

シェイプキーを使ったポリゴンの補正

関節を曲げたときに丸くなりすぎる場合

2重関節ボーン

ボーンずらし

ローポリ

天球体を作る

ポリゴンベルトを作る

関節の曲がる側のポリゴンを少なく、伸びる側のポリゴンを多くする

頂点の位置にボーンを置く

背面法を使う場合の関節のポリゴンフロー

ハイポリ

メッシュが太い時はサンドイッチボーンの使用を検討する

ボーン変形の補助としてシェイプキーを使う

ローポリハイポリ共通

ボーンのローカル回転軸をそろえる

ボーンのローカル回転軸が統一されていない場合、ひじは X 軸で回転し、ひざは Z 軸で回転するというようなことが起こる。また回転軸がずれていると回転軸を指定した回転で自然な方向に曲がらないことがある。詳細はボーンのローカル座標軸設定を参照。

アーマチュアの『体積を維持(Preserve Volume)』オプションを使う

アーマチュアの『体積を維持(Preserve Volume)』にチェックを入れると、関節部分の沈み込みを低減できる。これにはデュアルクォータニオンが使われている。デュアルクォータニオンの技術的な詳細についてはデュアルクォータニオン徹底解説を参照。

ただし大抵のゲームエンジンはデュアルクォータニオンに対応してないのでゲームエンジンで使用するモデルの場合は『体積を維持(Preserve Volume)』は使わない。

pv location
no pv
Preserve Volum なし
pv
Preserve Volum あり

補助ボーンを使う

基本的なボーンだけでうまくスキニングできないときは補助ボーンを配置する。補助ボーンは肩甲骨・脇・胸・股間・骨盤・関節の位置によく配置される。

ボーンの影響力のブレンド

補助ボーンに影響力(Influence)を弱めたチャイルドコンストレイント(Child of)を追加すれば、ボーンの動きに少しだけ追従する動きを実現できる。

weak influence of child of
動作デモ

補助ボーンを回転量に応じて動かす

関節の補助ボーンリグ

demo
動作デモ

前腕のポリゴンを 90° ひねる

手をモデリングするとき、たいていは手のひらが下を向いた状態でモデリングされる。この状態の時、前腕は限界まで回転された状態だ。そこで前腕をあらかじめひねった状態でモデリングしておくと、前腕を逆回転させたときにポリゴンフローが自然になる。

実際はある程度モデリングした後に 90° ひねることが多い。これはプロポーショナルエディットを使えば簡単にできる。この後で最終的な修正を入れる。

twist arm
プロポーショナルエディットで腕をひねる

前腕のボーンを分割する

前腕を一本のボーンで表現すると、手を180度反転させるときに手首がねじれてしまう。人間は手を180度反転させるとき、腕をひねっているのであって手首を回転させているわけではない。

subdivide forarm
前腕のボーンを分割する

Blender だけで使うなら、Bendy Bones を使えばボーンを分割する必要はない。

前腕のねじれの問題

アーマチュアモディフィアの「体積の維持」オプションは回転にクォータニオンを使う。そのため 180° 以上回転させたときに腕がねじれる。これはアーマチュアモディフィアをふたつ使うことで解決できる。詳細は前腕のねじれを解消するを参照。

関節を少し曲げた状態でモデリングする

可動範囲の中間をレストポーズにすると、ウェイトをつけやすい。詳細はAポーズとTポーズを参照。

シェイプキーを使ったポリゴンの補正

シェイプキーを使って関節のポリゴンを補正する場合は、曲がる側の関節部分の頂点のウェイトを上腕に多く振っておくとうまく動かしやすい。

weight
曲げられる側の関節部分の頂点のウェイトを上腕に多く振っておく
demo
左側が上腕ウェイト、右側が上腕と前腕とが 50:50 のウェイト

.blend ファイルダウンロード(2.81)

関節を曲げたときに丸くなりすぎる場合

肘や指を曲げたときに丸くなりすぎるときは関節位置をずらすことで解消できる。

elbow-joint
関節位置を外側へずらす

2重関節ボーン

関節位置に小さい補助ボーンを入れると関節を滑らかに曲げやすい。

dual bone
関節位置に小さい補助ボーンを入れる

IK を設定するときは剛性(Stiffness)を設定して曲がりすぎないようにする。

set stiffness
補助ボーンの次のボーンにStiffness(剛性)を設定

ボーンずらし

ボーンの親子関係は保持したまま接続を解除し、子ボーンを手前に配置する。こうすると回転軸が手前側に移動しポリゴンの沈み込みが目立たなくなる。

no offset
ずらしなし
offset
ずらしあり

接続のみを解除するにはエディットモードで Connected のチェックを外す。

unconnect

外部リンク

ローポリ

天球体を作る

天球状にポリゴンを張ると輪郭部分の分割数が実際のポリゴン数よりも多く見える。これは関節の伸ばされる部分や球状の部位でよく使われる。以下の場所で天球体がよく利用される。

  • ひじ・ひざ
geosphere
左:天球体右:UV球

グリッドを天球状に変換するのは簡単だ。ポリゴンラインをひとつ飛ばしに選択して半グリッド移動する。後は三角化(trianglate)するだけだ。

create
グリッドを天球状に変換

ポリゴンベルトを作る

肩や股関節は3軸で回転するので、変形させたい場所にベルト状にポリゴンを作る。このベルト状のポリゴンは分割しないほうがいいのだが、尻の場合は大きく引き伸ばされるのでいくつか分割を入れる。また腕を肩以上に上げないときは肩も分割できる。

front
正面図
back
背面図

.blend ファイルダウンロード

関節の曲がる側のポリゴンを少なく、伸びる側のポリゴンを多くする

Loop cuts for animation

そもそも関節の曲がる側がへこむのはそこに頂点があるからだ。なので曲がる側に頂点を配置しなければへこむことはなくなる。

関節の曲がる側のポリゴンを少なく、
伸びる側のポリゴンを多くする
demo
動作デモ

伸びる側の分割は辺を選択してべベルを使えば楽にできる。べベル中にホイールスクロールでべベル数を変更できる。曲がる側は頂点を選択して GG で辺に沿って頂点を移動

bevel
伸びる側の分割

これは尻も同じで、尻の分割数を多くして、前の太もものポリゴンを少なくする。

hip

頂点の位置にボーンを置く

関節の曲がる側のポリゴンを少なくしたときは、伸びる側のポリゴンの分割数が増えている場所にボーンを置く。そうしないとポリゴンがきれいに移動しない。

pivot

背面法を使う場合の関節のポリゴンフロー

ハイポリ

メッシュが太い時はサンドイッチボーンの使用を検討する

頂点とボーンとの間に距離があるとボーンを少し回転させただけでも頂点が大きく動き、ウェイト付けが大変になる。そこでボーンを挟む形で補助ボーンを配置すれば、ボーンを回転させたときの移動量を減少させられる。このとき中央にある IK/FK 用ボーンはデフォームに使わなくてもいい。

sandwich location
サンドイッチボーンの配置

サンドイッチボーンにはストレッチする IK がついており、自動で伸縮する。

setting
サンドイッチボーンの設定
demo
動作デモ

サンドイッチボーンの .blend ファイルダウンロード

ボーン変形の補助としてシェイプキーを使う

Blender でドライバーを使う

ひじの回転に合わせて上腕二頭筋が隆起する
ひじの回転に合わせて上腕二頭筋が隆起する

外部リンク

GUILTY GEAR Xrd開発スタッフが送るスキニングのためのモデリング TIPS

指のトポロジーを解説しているページ(英語)

スキニング考察

関連記事

ウェイトペイントのTips

Blender 記事の目次


広告
広告