.
テクニック / 考察モデリング関連 ポリゴン 生物の造形ウェイトマップについて
トップページ

テクニック / 考察

3DCG Workstation


3DCG-WSに関する説明

取り扱いショップ

補足 : LightWave 3D ~ ウェイトマップに関して

モデリング関連

補足 : ウェイトマップについて

これまでのモデリング作業で活用したウェイトマップは、Vertex Paint で一括して得られたものでしたが、ここからはここで得られたウェイトマップをベースにウェイトの修正作業と造形を平行して行なっていく作業に移行します。

この作業に移行するタイミングは、求めるスキニングの品質に必要と思われる頂点数は確保出来ていると判断した段階です。具体的な作業例を示す前に抑えておきたいポイントについて説明します。

LightWave のウェイトマップ.

LightWaveのウェイトマップは Vertex Color(RGB情報) や UVMap (Uv位置情報) と同じ頂点マップ情報の一つです。値は±%で頂点毎に記録し一つのグループにまとめたものをウェイトマップと呼び、入力パラメーターとして使用します。

ウェイトマップの用途.

ウェイトマップはボーンウェイトのための頂点マップ情報と思われるかも知れませんが、Lightwave におけるウェイトマップは(Node)マテリアル、パーティクル、APS、ダイナミクス、ボリュームメトリクス(HV)などの入力パラメーターとしても使用します。

UVマップを利用してウェイト付けを行なう方法(UV ウェイト変換)や画像からウェイトを得る方法(テクスチャポイント)などウェイト値を得る機能は幾つか提供されていますが、ウェイトマップの用途によってウェイトの作成、編集アプローチを考える必要もあります。

本能ではBone スキニングを目的としたウェイトマップ作成アプローチの一例を紹介していることになります。

ウェイトマップのスキニングで出来る事と出来ない事

Boneスキニングは一つのBone(スケルゴン)に一つのウェイトマップを関連づける事で、頂点がどの程度 Boneに拘束されるか、別の言い方をすれば Bone の動きに追随するかを定義してポリゴンメッシュの変形を実現しています。

Boneに対して割り当てるウェイトマップは一つですが、頂点には複数のBoneに関連づけられたウェイトマップ(値)を持つ構造になります。

そのため、一つの頂点に対して一つのウェイトマップで値が100%の時は完全に追随し、一つの頂点に対して複数のウェイト値が適用されている場合は、ぞれぞれウェイトマップと関連づけられたBone との間で頂点の綱引き状態になります。

端的に言えば Bone の動きに対して頂点がどの程度追随するかという話に過ぎません。実際には筋肉の収縮や伸張によって直径自体が変化したり、表面の起伏も複雑に変化します。このような表現は Bone ウェイトだけでは表現する事は出来ません。

関節を動かした時にに生じる形状変化を表現するアプローチは幾つか考えられますが、Bone プロパティにある簡単な補正機能もその一つです。特に初めて取り組まれる方はどこまでがウェイトマップの仕事で、どこからが補正機能の仕事か意識されると LW のインターフェイスを理解し易いのではないかと思います。

関節としての Bone で出来る事と出来ない事

動物の骨、関節部は複雑な形状をしており、回転の中心位置は厳密には一定ではありません。また、一見、自由に動くように思える関節でも姿勢によっては曲げられる角度に違いもあります。(肩部の動作はよく話題になる)

例えば手の指の場合、親指を除く4本の指は、指の股を広げた状態で握り拳を作る事は出来ません。これは 3DCG のような球体関節ではない事を示しており、Bone や中心の回転角度制限だけでは表現できない事を意味します。

VPで取得したウェイト値を修正する方法

本稿では Vertex Paint の Falloff Distance で得たウェイト値に対してウェイトを修正するワークフローを紹介しています。一定の精度が求められるキャラクターなど生物をモチーフにしたBoneスキニングにおいて生産性の高い方法です。

Vertex Paint の Falloff Distance で得たウェイト値の修正には以下の方法を使います。それぞれに特長があるので使い分けるようにします。

  • Vertex Paint を使う
    • Vertex Paint でウェイトマップを修正するメリットは、変形具合をリアルタイムに確認しながらウェイト値をペイント出来る点です。しかし、SubDiv サーフェイス表示には対応していないので本稿のような限られた頂点数で作成する SubDivisionサーフェイスの場合、予測が難しいデメリットがあります。
  • 数値入力
    • “情報パレット” (ショートカットi)でウェイト値を直接修正する方法です。特に分岐する箇所で複数のBone に対して正確に綱引きをさせたい場合など狙ったスキニング結果を得るのに有効な方法です。
  • “ウェイトツール” を使う .
    • ウェイトシェード表示で視覚的に確認しながら、といった使い方をします。100%を超える極端に高いウェイト値が適用されるため、最終的には Normalize 処理を前提としたアプローチになります。(後述) 広範囲に調整したい、頂点数が多い場合に有効な方法です。また、ウェイトの強さを視覚的に確認しながら修正出来るメリットもあります。
  • “エアブラシ” ツールを使う
    • “エアブラシ” ツールを使ってウェイト値を修正する方法です。CPU 負荷が高いデメリットがありますが、ペイント感覚でウェイト値を設定できます。ただしマイナス方向へは指定できません。(あげる事は出来ても落とせない) 微調整に有効です。

UVマップを利用してウェイト付けを行なう方法(UV ウェつみイト変換)や画像からウェイトを得る方法(テクスチャポイント)などありますが、Bone ウェイト作成に関わりが深いのは上記方法になります。具体的な修正手順は追って説明します。

LightWave におけるウェイトマップ修正と確認作業.

一般的な統合型3DCGソフトと違い、モデラー上でウェイト値を修正しながらリアルタイムにSubDivサーフェイスのスキニング結果を確認する事は出来ません。レイアウトで頂点ウェイトを直接編集出来れば良いのですがそのような機能は提供されていません。

ウェイト修正の結果を確認するためには修正の度にHubシステムを使ってレイアウトと切り換えて確認する、というのが従来のアプローチで、「キャラクターセットアップにおいてLWの生産性が低い」 と言われる要因の一つとなっています。

現在開発が進んでいる後継の Lightwave Core ではこの問題は解消される筈です

WeightPaintTool.

WeightPaintTool

Mac OS-X 版の LightWave をお使いであれば、WeightPaintTool というプラグインを使う方法があります。

このプラグインはレイアウト上でウェイトマップをペイント感覚で編集する事が出来るので、スキニング結果をリアルタイムに確認しながらウェイト値を修正する事が出来ます。

しかも、無償で公開されています。ありがたや!!

配布元 => Three-Dimensional Cel

私は Windows & Linux 64bitなCG制作環境なので未検証なのですが、とおもったら つい先日、Win32 版も公開されています。まだ試していませんが、試したらウェイトマップ修正アプローチの章で紹介したいと思います。本稿で紹介しているワークフローを変える可能性がありますので、是非、試してみて下さい。

ウェイト値の合計に関して.

ウェイトツールで視覚的にウェイトマップを修正するアプローチでは、極端な値のウェイト値が適用される事があるため、他の入力パラメーターとして使用する際には有効ですが Boneウェイトとして使用する場合、予期せぬ結果を招きます。

具体的にはヒデブ、アベシ状態の事

これを回避するためには、頂点に割り当てられるウェイト値の合計が 100% になるようにNormalize (正規化)処理を行なう必要があります。

Bone ウェイトに適したウェイトマップ

ポイント情報-適用されるウェイトが一つの場合

Bone ウェイトに適したウェイトマップは、一つの頂点(Vertex)に対して適用されるウェイトマップが一つの場合、値は 100%である必要があります。


ポイント情報-適用されるウェイトが複数ある場合

もし、一つの頂点に3つのウェイトマップが適用されている場合、その合計値は 100%になっている必要があるという事です。

ウェイトツールを使ってウェイト値を修正すると合計が 100%を超えてしまうため、数値入力によるウェイトのバランス修正が困難になります。

ウェイト値の正規化(Normalize)処理は、ウェイトマップによるBoneスキニングの品質を高める上で、また、本稿で紹介しているワークフローにおいて重要な意味を持ちますので、次のページで詳しく説明します。


あけぶれ公式サイト

モデリング / TIPS / 考察

  1. モデリング ~ 目次 (一覧)
    1. NURBS モデリング 関連
    2. ポリゴン モデリング 関連

手のモデリング (SubDiv)

  1. このドキュメントの概要
  2. 制作をはじめる前に
  3. 造形 ~ ベース形状の作成
    1. スケルゴンに関する注意点
  4. 造形 ~ "指" を作る
    1. LightWave の Bone 設定
    2. モーションと細分化タイミング
  5. 造形 ~ 掌部のモデリング
  6. 造形 ~ 甲部 / 指の接続
  7. 造形 ~ 全体のモデリング
  8. ウェイトマップについて
    1. ウェイトの正規化(Normalize)
  9. 前準備 ~ シーン作成
    1. 前準備 ~ スケルゴン修正
  10. ウェイト修正アプローチ 1
    1. ウェイト修正アプローチ 2
    2. ウェイト修正アプローチ 3
  11. 造形 ~ 形状の作り込み
    1. ウェイト修正後の頂点追加
  12. UVマップに関して
    1. UVマップを作成する
  13. まとめ ~ 要点の整理
    1. 本稿で使用したツール他

関連ドキュメント

ポリゴン系 3Dモデラの特徴

スプライン系 3Dモデラの特徴

ポリゴン系 3Dモデラの特徴

工業 と 建築デザイン

Lightwave 3D 概要

Alias Maya 7 概要


主要 統合型 3DCGソフト

書籍の出版数は人気のバロメーター。価格帯も分かります。

ドスパラBTO パソコン

Quadro搭載パソコン


3DCG ワークステーション

3DCG/CAD制作に特化したお勧めのワークステーション

ドスパラBTO パソコン

Quadro搭載パソコン


独学・学習の手引き ? ?

書籍 DVD ソフト ハード


CG 制作資料室 ? ?

建築 人・動物 メカ 自然

ライティング・レンダリング考察

アニメーション関連 考察

テクスチャ / 表面材質


3DCG検索 | コンテンツ検索 | 書籍・ソフト検索 | 国内検索 |
bottom_mark
ページ最上部
ページ最上部 前のページ