Since | 17.0 |
Pose-Space Deformation(PSD)は、いわゆるポーズ形状であるジオメトリサンプルをBlendShapesと同様の方法でブレンドします。 各ポーズ形状に適用されるブレンドウェイトは、PSDによって自動的に調整されて、駆動側の値が変化した時にポーズ形状間を補間します。 例えば、PSDを使用することで、キャラクタの上腕を基準として前腕の角度を変化させた時に二頭筋を収縮させることができます。 前腕が上腕の方に曲がれば、その角度が大きくなります。その前腕角度を使用して、静止(まっすぐな)ポーズ形状と前腕を曲げて筋肉が収縮したポーズ形状間の補間を駆動させます。 指定したポーズに現行ポーズが合致すると、その結果の現行ジオメトリは、その指定したポーズ形状のジオメトリに合致します。 現行ポーズが2つ以上のポーズ形状の範囲内にあれば、その現行ジオメトリは、それらのジオメトリをブレンドした結果になります。
Pose-Space Deform SOPは、一連のPose-Space Edit SOPsによって生成されたパックプリミティブを2番目の入力として受け取ります。 各Pose-Space Edit SOPは、Stash Pose CHOPと関連付けます。 このCHOPは、Extract Pose Drivers SOPで生成されたドライバとExtract Bone Transforms SOPで生成されたトランスフォームを保持します。 各Pose-Space Edit SOPと差分ジオメトリとそれらのSOPに関連付けたドライバとトランスフォームから、ポーズ形状が作られます。
Pose-Space Deform SOPの1番目の入力がNullの場合、このSOPは、Pose-Space Deform Combine SOPを使って入力ジオメトリに結合された追加分を差分ジオメトリとして生成します。
それ以外の場合、その結果はポーズ固有のジオメトリになります。
Pose-Space Deform SOPは、Bone Deform SOPの前でも後でも配置することができます。
キャラクタリグを作成する時は、いわゆる Rigging PSD である変形前のPSDが使用され、アニメーション中では、いわゆる Shot Finaling PSD である変形後のPSDが使用されます。
Rigging PSD は、キャラクタのポーズに関連付けられたドライバを使用するのに対して、 Shot Finaling PSD は現行フレームの$F
または現行時間の$T
をドライバとして使用します。
ポーズ固有の変更を必要とするジオメトリの領域毎に1つのPSDを作成してください。 そうすることで、作成する必要のあるサンプルの全体的な総数を効率的に減らすことができます。
パラメータ ¶
Weighted Pose-Space Deformation
このオプションを使用すると、ボーンはスキニングの役割を持つポイントのみを駆動するようになります。 つまり、プラスのボーンキャプチャーアトリビュートウェイトを持ったポイントのみが駆動します。 ウェイトを付けたPSDでは、各ポイントを駆動させて作成する必要のある同じサンプルのバリエーション数は、スケルトンを使用するよりも親ボーンを使用した方が全体として大幅に減らすことができます。 例えば、ウェイトを付けたPSDを手に適用すれば、指の色々な組み合わせの屈伸に対して複数のバリエーションを作成する必要がありません。 指の間接のシワは、お互いに関係しないことがほとんどなので、すべての指の屈伸には、2つのバリエーションだけを作成すれば済みます。 しかし、ウェイトを付けたPSDは、計算的には重いです。 そのPSDの係数の解を求めるのも各フレームをレンダリングするのも時間がかかります。
Deform Normals
ポイントの変形に合わせて法線を変形させます。
Deform Vector Attributes
ポイントの変形に合わせてベクトルアトリビュートを変形させます。
Vector Attributes
変形させるベクトルアトリビュート。
Deform Quaternion Attributes
ポイントの変形に合わせてクォータニオンアトリビュートを変形させます。
Quaternion Attributes
変形させるクォータニオンアトリビュート。
Allow Negative Blend-Shape Weights
PSDが各ブレンド形状サンプルのマイナス量を合成できることを許可します。
Extrapolate Beyond Examples
有効にすると、ソース入力外のデータの外挿に対してBest Fitメソッドが使用されます。
Best Possible Extrapolation
このオプションは、Extrapolate Beyond Examplesが有効な時にのみ使用されます。 これを有効にすると、まず最初にBest Fitの平面を使って補間を最大限にしてから、放射基底関数を使って残りの差分を補間します。 これによって、超平面メソッドにより近くフィットするようになります。特に減衰を指定したカーネル関数がそうです。 これらのカーネル関数では、このオプションを有効にすることで、クックが高速になります。 このオプションは、サンプル内に高い空間的な相関性があるほど結果が良くなります。
Kernel
ここには、放射基底関数による補間で使用するカーネル関数を指定します。 カーネル関数が変われば、そのフィットの結果も変わります。
Exponent
Thin Plateカーネル関数に使用する指数を指定します。値が大きいほど滑らかな結果になります。
Fall Off
Gaussian, Multiquadric, Inverse Multiquadric, Exponential Bumpのカーネル関数の減衰係数を指定します。
値が大きいほど滑らかな結果になります。
Solver
補間に使用するソルバメソッドを指定します。
Fast
Choleskyソルバは高速ですが、そんなに安定性はありません。
Robust
SVDソルバは遅いですが、高品質な補間を生成します。
Damping
Choleskyソルバで使用する減衰率を指定します。 普段では、これは、ソルバが失敗しない限りは不要です。 ソルバが失敗した場合、例えば0.00001などの非常に小さい減衰率から始めてください。 そして、ソルバが成功するまで次々に0.0001, 0.001, 0.01のように値を大きくしていってください。
Maximum Iterations
SVDソルバが実行する反復の最大回数を指定します。 SVDソルバが失敗したら、ソルバが成功するまでこの値を上げてください。
See also |