Maya基礎学習-skining編- 操作方法まとめ
👆を見て
「自分が忘れてしまいそう」 かつ 「単語忘れちゃったりして検索できなさそう」な操作方法についてまとめておきます。
自分用備忘録だけど、こういう人が1人いるということは全国に100人ぐらいいる気がするので、類友も糧にしていいよ(。•ω- 。) ⌒♡バチコーン
そもそもスキニングって何?
教えてエロい人!
リギングに関連する用語で、3DCGモデルとスケルトンを関連付けること。
スキニングの際には、モデルの各頂点が、スケルトンに対してどのように追従するかを設定する。
この時、スケルトンから各頂点への影響範囲を調整する作業(ウエイト調整)が必要となる。
ジョイントの配置
モデルにジョイントを配置する
ぬいぐるみに骨を入れて、関節を設定するイメージ
ジョイント
「ポリゴンをジョイント呼ばれるノードで拘束する
ジョイントとポリゴン頂点の間で親子関係のような動きをさせる仕組み」
👆 ( ゚Д゚)ハァ? という感じ
球体関節人形の球体部分と理解
スキンウェイトの調整
各頂点に対するジョイントの影響度合いを調整すること
メニューセットをリギングに切り替える
ジョイントを作成
人型の場合
上半身
- 骨盤
- 腰
- 首の付け根
- 首の頭蓋骨の付け根
- 末端の頭蓋骨中心部
腕
- 鎖骨
- 上腕
- 前腕手首
- 末端
足
- 腿の付け根
- 膝
- 足首
- つま先
- 末端
ジョイントを子供にする:マウス中ボタンでD&D
👇こうなる
COG:上半身と足を繋ぐ、下半身を制御するジョイントを作る
COG = Center of Gravity(重心位置)の略
動画では、
Spine(背骨)ジョイントの時に作成したSpine01を複製(Shift+D)して
子どもを全て削除してCOGとしていた
右メニュー チャネルボックス/レイヤエディタで
半径を1⇒1.5 にしてわかりやすくする
👇背骨(腕付き)と足を 作ったCOGの子供にする(選択後、中ボタンで)
この時、一番上の親のみ選択して子供にする
子供含め、全選択するとなんかぐっちゃぐちゃな繋がり方する(経験済み(´;ω;`)ブワッ)
👇こうなればおk👍
原点の位置にジョイントを作成する:rootの作成
名前をrootとし、COGをrootの子供にする
トランスフォームのフリーズ
ジョイントを一通り打ったら
ジョイントの配置の際に回転を使って、トランスフォームに回転の値が残っているので
トランスフォームのフリーズをする
ローカル回転軸の調整をする前に必ずやろう
ジョイントを全て選択し
メニュー上部 修正 - トランスフォームのフリーズ、オプション
ローカル回転軸の調整
主軸:神殿のジョイントがつながっている方向の軸
腕がどっちの方向に向ててほしいのか⇒X方向に伸びてるからOK
補助軸:そのジョイントが主に回転する軸のこと
腕の関節に針金をぶっ刺したとして、うまく曲がる方向とでもいえばいいのか…
※この動画では、主軸をX、補助軸をZとして調整していく
各ジョイントの回転軸の表示
- ジョイントを全て選択
- 上部メニュー ディスプレイ - トランスフォームディスプレイ - ローカル回転軸
- 各ジョイントの回転軸が表示される
ジョイントの方向付けオプション
メニュー上部 スケルトン - ジョイントの方向付けオプション
⇒補助軸がZになってて補助軸のワールド座標がZだと
人形の腕が上下に曲がる形になっておかしいので
補助軸のワールド座標をYにして、腕がZj軸が上方向を向くようにする
選択したジョイントの子の方向付けは、この動画ではチェックを外す
肘だけを変更するため。付けたままだと肘以降の子供の方向付けも変わってしまう。
ちなみに、ワールド座標の+-は、
関節を自然な方向に曲げた時に回転値が+になる方向、と覚えておけばよさそう
フム*1フム
ジョイントのミラーオプション
- ジョイントを選択
- スケルトン - ジョイントミラー オプション
ミラー平面:YZ(YZ平面に垂直な形でミラーコピーするから)
ミラー対象:動作
検索する文字列:L_
置換後の文字列:R_
バインド
ジョイントにキャラクターのモデルをバインドする
バインドとは
ポリゴンモデルを動かすためにジョイントとの関連付けを行う作業
意訳:骨を入れたので、その骨を可動させたときに側(肉体・ぬいぐるみの肉の部分)がついてくるようにする
- ジョイントのrootとポリゴンモデルを選択し
- 上部メニュー ー スキン - スキンのバインド オプション
- 複数のバインドポーズを許可:チェックを外す
他はデフォルトでおk
ポリゴンモデルがジョイントにバインドされ
ジョイントを回転させるとモデルも動くようになるも、このままだと色々おかしいので以降の作業で調整する👈のことをスキンウェイトの調整、という
スキンウェイトの調整
スキンウェイトペイント
- メッシュを選択
- 上部メニュー - スキン - スキンウェイトペイント オプション
- 👇こうなる
リスト表示されているのがジョイント
0~1の数字で表現されているウェイトの値が色で表現されている
👇ツール設定ウィンドウ、右上アイコンで
インフルエンスの表示サイズを上下幅を変更することができる
ツール設定
- グラディエントタブを開き
- カラーランプの仕様に☑
- カラープリセット:真ん中を選択
- プロファイル:ぼかし部分の無い鉛筆
- 不透明度:1
- 値:1
カーソルサイズ:Bキー+マウス左ボタンドラッグ
カーソルをメッシュの上に持っていくとカーソルがブラシの形になり
サークル上のブラシ範囲が表示される
Bキーを押しながら
マウス左ボタンを左右にドラッグすることでサイズ調整できる
👇ちな、ツール設定 - ストロークタブ ー 半径(U)からも可
スキンウェイトペイント塗ってくよ
下準備
- COGを選択
- 「塗り潰し」選択
- 全ての頂点のウェイトがCOGに100%割り振られる
- 👆を各ジョイントに割り振っていく
- ペイントの操作を「追加」にする
- 「スキンウェイトは基本的にそのジョイントの子供の方向にある頂点にウェイトを与えていく
ちょっと子供の方向にはみ出すくらいに塗ろう」とのこと ( ゚Д゚)ハァ?イミワカンネ 👆〇のジョイントにウェイトペイントするときは子供ジョイント方向に塗ってく
+ 子供のジョイント〇にはみ出すぐらい塗っておkという認識
確認とペイントモード
ツール設定:選択
にしてジョイントを選択、回転ツールでぐりぐり動かすと
割り振ったウェイトがどのように動くのか確認できる
戻りたいときは、画像赤枠のペイントモードクリックして
モード:ペイント
でまたウェイトペイントに戻れる
ウェイトの境目をなじませる
ペイント操作を置き換えに変更し
値の数字を調整しながら塗っていく
ジョイントと同じ位置にある頂点に
そのジョイントとその親のジョイントで0.5ずつのウェイトを与える
ウェイトの塗り方のコツ
ウェイトを塗るときはすでに塗られているウェイトに対して必ず増やす方向で調整する
減らす方向に塗ってしまうと、減らされたウェイトがさまざまなジョイントに分散してしまう…らしい
ウェイトのミラーコピー
上部メニュー スキン - スキンウェイトのミラーオプション
*1: ˘ω ˘ *