渋谷ほととぎす通信

Unity・ゲーム開発 技術で一生食べていく情報発信

【Blender】かんたん初心者ボーンの適用とウェイト設定

前回ボーンをキャラに配置するところまでは完了しました。
ここからはボーンの適用とウェイトの設定をしていきます。

ボーンの適用

デフォルトで右上にあるOutlinerを使います。

f:id:esakun:20210705184342g:plain

キャラモデル(ここではChara)をクリックして、
⌘を押しながらArmatureをクリック。

ここ順番が超大事です。
もう一度書きます。

  1. キャラモデル(ここではChara)をクリック
  2. ⌘を押しながらArmatureをクリック

です。

f:id:esakun:20210705184412g:plain

ボーンよりキャラのモデルの方が、
濃いオレンジ色になります。

自動ウェイト設定

f:id:esakun:20210705184033p:plain

Object Mode > Object > Parent > With Automatic Weightsをクリック。
※もしくは「⌘P」

f:id:esakun:20210705184901p:plain

するとこのように、Armatureの中にキャラモデルが内包されます。
この時点でBlenderが自動でウェイトを割り振っています。

f:id:esakun:20210705185101p:plain

ボーンを選択します。

f:id:esakun:20210705185118p:plain

Pose Modeにします。

ボーンを一つ選択して「R」で回転してみます。

f:id:esakun:20210705185330g:plain

キャラモデルがボーンにくっついて動くようになります。
しれっと書きましたが、初めて動いたときは感動しました。

見ての通り動いてはイケナイ部分まで動いているので、
タイトルの通りウェイトを設定していきます。

ウェイト設定前の準備

ボーンはメッシュの中にあり見えなくなるため、
それを回避する設定をします。

f:id:esakun:20210705185833p:plain

ボーン選択した状態で、人アイコン(Object Data Properties)の中のIn Frontにチェックを入れます。
※ボーンを選択していないと人アイコンは表示されません

f:id:esakun:20210706055249g:plain

これによりボーンがメッシュより全面に表示されます。

Weight Paintでウェイト値を設定

ここからはウェイトの値を塗っていきます。

キャラを選択してモードをWeight Paintに変更します。

f:id:esakun:20210706060239p:plain

ウェイト値が反映されたキャラ表示になります。

「赤 : ウェイト値 1.0 → 青 : ウェイト値 0.0」

各ボーンに対して、

  • 赤(1.0)だったらその頂点はボーンの動きに対して100%追いかける
  • 0.0だったら無反応
  • 0.5だったら半分追いかける

といった感じです。

頭のウェイトを設定していきましょう。
ボーン名Headです。

f:id:esakun:20210706060712p:plain

デフォルト右側の逆三角形アイコン(Object Data Properties)を選択。リストアップされたボーンの中で「Head」を選択します。

f:id:esakun:20210706060955p:plain

すると頭が赤く、体の方は青い状態のモデルになります。

そもそもこの状態の何が悪いのか?ボーンHeadを動かしてみましょう。 f:id:esakun:20210706063035g:plain

頭を動かしているのに体も引っ張られて動いてしまいます。
これはこれで良いかもしれませんが、
本記事では頭部頂点だけが動くようにしてみます。

手順

  1. 全ウェイトを0にする
  2. 頭のウェイトを1にする

f:id:esakun:20210706061344p:plain

  • Weight(設定ウェイト値)を0
  • Strength(設定の強さ)1
  • Radiusは各自調整

※ツールが表示されていない場合は「Nキー」をクリック。

f:id:esakun:20210706061550g:plain このように青(ウェイト値 : 0)を塗っていきます。

全身青が塗れたら頭の頂点に1を塗っていきます。

f:id:esakun:20210706061821p:plain

Weightを1に設定します。

f:id:esakun:20210706062029g:plain

頭の頂点を赤(ウェイト値 : 1)で塗っていきます。

f:id:esakun:20210706062234p:plain

このような感じで仕上げます。

f:id:esakun:20210706062550g:plain

ボーンHeadを動かして確認します。
Object Mode > ボーン選択 > Pose Mode

Headを選択して回転(Rキー)させてみます。
頭だけが動くようになっていますね。

指定したウェイト値を一発で設定できないときの対処法

f:id:esakun:20210706054124p:plain

Falloff(減衰)設定されている可能性あり。
Constant(定数)にすると良いです。

このような感じでほかも設定していきます。 ただBlender2.93.1ではオートで付けたWeightがそこそこイイ感じであまり修正することがなかったため、本記事では基礎編ということでここで終了です。

今後もっと複雑なモデルを作った際には補足記事を書いていこうと思います。

f:id:esakun:20210706065517p:plain

ジョジョ立ち風ポーズ

環境

  • Blender2.93.1

参考サイト