| On this page | |
| Since | 21.0 |
このツールは、ジオメトリ変形を作成し、時間の経過に伴ってその変形の変化やブレンドの仕方を管理することができます。 このノードのビューポートステートでは、Sculpt SOPのブラシ一式にアクセスできるため、インタラクティブに変形をスカルプトすることができます。
PoseとClip ¶
このツールのメインインターフェースはShot Sculptペインです。 これは、タイムライン内で変形を整理するエディタです。 スカルプトの編集内容は Pose として保存され、それぞれのPoseが単一フレームに割り当てられます。 Pose は、そのフレームで変形した結果のジオメトリがどのように見えるべきか示したスナップショットであり、形状/変形を表現したキーフレームと考えることができます。
Clip は、 Pose のメインコンテナとして機能します。 Clip には複数のPoseを含めることができ、隣接する Pose 間のフレーム範囲において、左端の Pose が右端のPoseにブレンドされます。 Clip は、最初と最後の Pose の前後に決められたフレーム範囲を持っているので、それぞれのPoseのイーズインおよびイーズアウトを制御することができます。
Note
各 Clip は、入力ジオメトリに1つの変形を適用します。
この変形は、常にこの Clip 内の Pose に関連付けられた形状の線形結合となります。
Clip レベルでは、変形が適用される参照フレームを指定することができます(指定可能なオプションは World Space 、 Tangent Space 、 Joint Space です)。
Note
Joint Space を動作させるには、入力ジオメトリにboneCaptureアトリビュートが設定されていて、且つ、 Animated Pose 入力が接続されている必要があります。
Track ¶
Tracks は、 Clip をグループ化するための整理ツールです。 Track レベルには、 Clip が適用する変形全体のウェイトを調整するアニメーション可能な浮動小数点パラメータが用意されています。
Trackのタイプ
-
Sculpt タイプのTrackは、Sculpt SOPのブラシ一式にアクセスすることができ、 Pose にベイクされるポイント位置をインタラクティブに操作することができます。
-
Mask タイプのTrackは、ビューポート操作を Attribute Paint ブラシに制限します。このブラシは、ジオメトリ上に浮動小数点Pointアトリビュートをペイントします。このアトリビュートの値も Pose にベイクされるため、時間の経過に伴って補間されます。 このアトリビュートは出力ジオメトリにも存在するため、時間依存のPointアトリビュートを使用して下流のエフェクトを駆動させることができます。
-
Blendshape タイプのTrackは、 Blendshape Target を指定する必要があります。 これは、Shot Sculptの対象となるジオメトリと同じ数のポイントを持つジオメトリであれば何でも構いません。 ビューポート操作が Attribute Paint ブラシに制限されるという点では、 Mask Tracks と同様です。 ただし、ペイントされたアトリビュート値は、出力ジオメトリ上に存在するわけでなく、現在の位置と Blendshape Target 内の呼応位置との間でポイントをブレンドするために直接使用されます。
Shot Sculptの動作の仕組み ¶
このノードには、 deformation_stash という名前の非表示のStashパラメータがあります。 この詳細データには、このノード内に存在する Pose 毎に1個のパックプリミティブが含まれています。 各パックプリミティブは、この Pose に関連付けられた形状/変形を表現しています。
形状へのアクセス
Note
Shot Sculptの内部実装では、パフォーマンスの最適化のために、ジオメトリがクラスタとして処理されています。 そのため、各形状は、入力ジオメトリを表現したクラスタのサブセットとして格納されています。
deformation_stash 内のエントリをアンパックすると、 Pose の形状を表現したこのクラスタのサブセットが得られます。
各クラスタは、それ自体がパックプリミティブです。
これらのクラスタをアンパックしてマージすると、スカルプトされた形状よりも少し大きめの形状が得られます。
また、diffアトリビュートが{0, 0, 0}のポイントを削除すると、最小限の表現の形状が得られます。
クラスタ内のポイント上の_idxアトリビュートは、それらを入力ジオメトリ内の元のポイント番号にマッピングします。
クラスタをアンパックしてマージした後、連続したサーフェスが必要であれば、_idxの値が一致するポイントをすべて結合してください。
クックの工程
Shot Sculptはまず最初に再生ヘッドが現在どの Clip と交差しているかを判定し、このデータを辞書アトリビュート内にエンコードします。 各エントリは、変形を適用すべき Clip を示しています。
各エントリを順に処理し、それぞれについて、 deformation_stash 内でアンパックすべき形状を特定し、入力ジオメトリに対してこれらの形状の適切な線形結合を適用します。
Clip は Track の順序で適用され、 Track 内では、( Clip の左端を使用して) Clip の順序を左から右へ適用します。
Tips ¶
-
Track Weight が1未満の状態でスカルプトすると、内部に記録される変形は、実際に行なったスカルプトよりも拡大されたバージョンの変形となります。こうすることで、 Track Weight を適用して変形の存在感を弱めた際、ビューポート内での後処理の結果は、先ほどスカルプトした形状と一致するようになります。
後で Track Weight を上げると、その拡大されたバージョンの形状が表示されます。 これが望ましくない場合は、 Blend To Rest ビューポートスライダを使用してその変形の存在感を弱めてみてください。 その結果は、内部に記録されるデータにも反映されます。
非スカルプト変形用オプション
-
変形を作成するための主な手段はSculpt SOPですが、中にはスカルプトでは作成しにくい編集もあります。 そのような場合のために、他のSOPで作成した変形をShot Sculptの補間スキームに取り込むための2つのオプション( Blendshape Tracks と Imported Poses )が用意されています。
Note
Blendshape Tracks と Imported Poses の主な違いは、Shot Sculptが別の変形を提供するSOPに依存する期間です。
Blendshape Tracks
Blendshape Tracks 内では、ペイントされたアトリビュート値は、現在値と Blendshape Target 内の呼応する値との間のポイント位置を補間するために使用されます。 この補間は、Shot Sculptがクックされる度に動的に行なわれます。
つまり、 Blendshape Target に加えられた変更は、 Clip および Pose が作成された後であっても、 Blendshape Track の結果の変形に反映されます。 さらに、 Blendshape Track 内で Clip を移動させると、その Clip の新しいフレーム範囲にわたって、 Blendshape Target 内のポイント位置が実際に照会されます。 これは、Shot Sculptがクックされる度に Blendshape Targets もクックされることを意味し、パフォーマンスの低下を招く可能性があります。
Imported Poses
逆に、 Pose をインポートする場合、Shot Sculptの入力とインポート先との間の形状差分は、この操作が行なわれる時点でのみ計算されるため、静的なものとなります。
インポート先に対する今後の編集はShot Sculptには反映されず、 Clip を移動しても、新しいフレーム範囲にわたる形状の差分は再計算されません。 実質的に、インポートされた変形は、手動でスカルプトしたものと同様に内部で扱われます。
参照フレーム
-
Animated Pose 入力および
boneCaptureアトリビュートを指定すると、既存の変形には Joint Space を使用することはできません。この機能を利用できるのは、今後の編集のみとなります。 -
Tangent Space は、ジオメトリの折り目がある領域周辺でパフォーマンスが低下し、相互貫通などのアーティファクトが発生する可能性があります。最善の代替手段は Joint Space を使用することですが、 Animated Pose が利用できない場合は、 Blendshape Tracks も選択肢の一つとなります。
例えば、キャラクタの脇の下にSmooth Brushを使用した場合、隣接するフレーム間で Tangent Space による変形がうまく反映されないことがあります。 Blendshape Target がSmooth SOPである Blendshape Track を使用すると、この挙動を再現できますが、3D変位をトランスフォームするのではなく、各フレームで平滑化されたポイントの位置を照会することで、 Tangent Space のアーティファクトを排除します。
Rest Pose(静止ポーズ)
-
Rest Pose は Pose と同一ですが、いかなる変形とも関連付けられていません。 これらは、 Clip の補間スキーム内で隣接する Pose がフェードアウトすべきフレームを指定する手段として機能します。
Clip は、 Rest Pose によって自動で区切られていると考えてください。 これによって、最初と最後の Pose がそれぞれイーズインおよびイーズアウトするようになります。
カスタムブレンドカーブ
-
現時点では、 Clip の Frames In 、 Frames Out 、または Pose の Blend To Next にまたがるカスタムブレンドカーブを管理する手段はありません。 選択可能なプリセットカーブは複数ありますが、より詳細な制御が必要な場合は、Clipの Blend In と Blend Out を Hold に設定し、 Track Weight を手動でアニメーションさせるのが最善の選択肢となります。
パラメータ ¶
General ¶
Selected Track
現在選択されている Track 。 ビューポート操作によって作成された編集内容は、この Track 内の Pose に割り当てられます。 同様に、コピーしたオブジェクトのペースト、 Pose のインポート、 Rest Pose の作成は、すべて Selected Track に適用されます。
Create Rest Pose
Selected Track 内の再生ヘッドの位置に Rest Pose を作成します。 再生ヘッドが既存の Clip と交差している場合、 Rest Pose はその後に追加されます。 そうでない場合は、新しい Clip が作成されます。 再生ヘッドが既存の Pose と交差している場合、 Rest Pose がそれを置換します。
Note
Rest Pose は他の Pose と同一ですが、いかなる変形とも関連付けられていません。 これらは、 Clip の補間スキーム内で隣接する Pose がフェードアウトすべきフレームを指定する手段として機能します。
Import Pose
Shot Sculptノード外で作成された変形をインポートすることができます。 このボタンをクリックすると、ノード選択ダイアログが開きます。 Shot Sculptの入力ジオメトリと同じポイント数を持つSOPを選択すると、両者の形状の差分が再生ヘッドの位置および Selected Track 内に Pose として挿入されます。
再生ヘッドが既存の Clip と交差している場合、 Imported Pose はその後に追加されます。 そうでない場合は、新しい Clip が作成されます。 再生ヘッドが既存の Pose と交差している場合、 Imported Pose がそれを置換します。
Note
これによって、Shot Sculpt SOPのブラシセットでは作成が不可能/望ましくない変形をShot Sculptの補間スキーマを用いて管理できるようになります。
Mode
色は、 Track 、 Clip 、 Pose の各レベルで割り当てられます。 このメニューでは、ジオメトリに適用される変形をビューポート上でどのように色付けするか指定することができます。 Shot Sculptペイン 内のエンティティの色も、このメニューから選択されたオプションに合わせて変更されます。
Track Color
すべての変形は、呼応する Track の色を使用して着色されます。
Clip Color
すべての変形は、呼応する Clip の色を使用して着色されます。
Pose Color
各変形は、その Pose の色を使用して着色されます。 隣接する Poses 間のフレーム範囲では、左端の色が右端の色へと徐々に変化します。
Selected Track
このトグルは、現在選択されている Selected Track による変形をビューポート内で色付けして表示するかどうかを指定します。
Other Tracks
このトグルは、現在選択されていない Tracks による変形をビューポート内で色付けして表示するかどうかを指定します。
Enable
このトグルは、この Track による変形をジオメトリに適用するかどうかを指定します。
Name
Track にタイトルを付けることができます。 Track の名前は固有である必要はありません。
Color
この Track に関連付ける色。
Type
この Track のタイプ。 Track Types に関しては、上記のセクションを参照してください。
Note
Sculpt Tracks 内に作成された Poses は、ポイント位置を操作するためのものとみなされます。 これらを Blendshape Tracks または Mask Tracks に移動すると、エラー状態となり、ジオメトリには適用されません。 同様に、 Blendshape Tracks または Mask Tracks 内に作成された Poses は、 Sculpt Tracks に移動することはできません。 ただし、 Blendshape Tracks および Mask Tracks 内の Poses は、相互に置き換えることができます。
Note
Blendshape Tracks および Mask Tracks 内において、再生ヘッドが Clip のオーバーラップ領域と交差した場合、それがどの Clip に起因するかにかかわらず、ポイント毎の最大アトリビュート値が適用されます。
Locked
このトグルは、この Track をロックするかどうかを指定します。 ロックされた Tracks は編集できません。 つまり、ロックされた Track が選択されている間にビューポートで行なわれた操作はすべて拒否されます。 同様に、 Selected Track がロックされている場合、コピーしたオブジェクトのペースト、 Poses のインポート、 Rest Poses の作成はすべて拒否されます。
Weight
この Track 上のすべての変形、およびビューポート内の関連する色にウェイトを付ける浮動小数点パラメータ。
Note
Weight が1未満の状態でスカルプトすると、内部に記録される変形は、実際に行なったスカルプトよりも拡大されたバージョンの変形となります。 こうすることで、 Weight を適用して変形の存在感を弱めた際、ビューポート内での後処理の結果は、先ほどスカルプトした形状と一致するようになります。
後で Weight を上げると、その拡大されたバージョンの形状が表示されます。 これが望ましくない場合は、 Blend To Rest のビューポートスライダを使用してその変形の存在感を弱めてみてください。
Name
Clip にタイトルを付けることができます。 Clip の名前は固有である必要はありません。
Color
この Clip に関連付ける色。
Blend In
このメニューでは、この Clip 内の最初の Pose をフェードインさせる際に使用するカーブを指定することができます。 この関数は、 Frames In で指定された最初の Pose より前の特定のフレーム数にわたって評価され、その結果得られた値が最初の Pose のウェイトに使用されます。
Linear
Hold
Smooth
Ease In
Ease Out
Blend Out
このメニューでは、この Clip 内の最後の Pose をフェードアウトさせる際に使用されるカーブを指定することができます。
この関数は、 Frames Out で指定された、最後の Pose の後の特定のフレーム数にわたって評価され、その結果得られた値が最後の Pose のウェイトに使用されます。
メニューのオプションは、 Blend In パラメータ内のものと同一です。
Frames In
最初の Pose より前に Blend In が適用されるフレーム数。
Frames Out
最後の Pose より後に Blend Out が適用されるフレーム数。
Edit Reference Frame
他のフレームでスカルプト編集が適用される範囲を決定します。
スカルプト編集がキャプチャされると、ポイント毎の3D変位は、そのフレームにおけるジオメトリの状態を基準にします。 そのため、この変形を隣接するフレームに適用する際、より一貫性のある結果を得るために3D変位をトランスフォームしたい場合があります。
Note
どの参照フレームを使用している場合でも、再生ヘッドが Pose の真上に位置しているときは、それに関連する3D変位はトランスフォームされません。
World Space
デルタはトランスフォームされません。
Tangent Space
デルタは、ポイントの接平面/法線ベクトルに生じた変化によってトランスフォームされます。
Note
接平面空間は、ジオメトリの折り目がある領域周辺では性能が低下し、相互貫通などのアーティファクトが発生する可能性があります。 これらの領域における法線データは変動が激しく、3D変位のトランスフォームの基準として用いるには信頼性が低くなります。
Joint Space
デルタは、ポイントに関連付けられたジョイントに生じた変化によってトランスフォームされます。
Note
Joint Space を使用するには、入力ジオメトリにboneCaptureアトリビュートが設定されていて、且つ、 Animated Pose 入力が接続されている必要があります。
このデータを指定しても、既存の変形には Joint Space を使用することはできません。
この機能は、今後の編集に対してのみ有効となります。
Note
ワールド空間とタンジェント空間の比較
ジョイント空間と接空間の比較
Blend To Next
このメニューでは、この Clip 内で次の Pose をブレンドするために使用するカーブを指定することができます。
このメニューは、 Clip 内の最後の Pose については無効になります( Pose が1つしかない Clips に適用されます)。 これは、最後の Pose がどのようにイーズアウトするかを決定するのは、 Clip レベルにある Blend Out パラメータであるためです。
メニューのオプションは、 Clip レベルにある Blend In パラメータ内のものと同一ですが、 Hold を除きます。 これは Blend To Next メニューでは利用できません。
Sculpt Frame
この Pose が割り当てられるフレーム。 再生ヘッドがこのフレームにある場合、関連付けられたシェイプのウェイトは100%になります。
Color
この Pose に関連付けられる色。
Note
このパラメータは Rest Poses では非表示になります。 Rest Poses の色は白に設定されます。
Jump to Frame
押すと、再生ヘッドがこの Pose の Sculpt Frame にジャンプします。
Sculpt ¶
このタブには、Sculpt SOPのパラメータ一式が含まれています。
Sculptパラメータの詳細は、Sculptのヘルプをご覧ください。
Defaults ¶
このタブには、 Track 、 Clip 、 Pose のマルチパラメータ内に存在する特定のパラメータが含まれています。 ここでは、新しく作成されるすべてのオブジェクトに適用される好みのデフォルト値を設定することができます。
Tracks
Type
Clips
Blend In 、 Blend Out 、 Frames In 、 Frames Out 、 Edit Reference Frame
Poses
Blend To Next
その他 ¶
Viewport Sliders ¶
これらのビューポートスライダは、どのフレームでも使用でき、アニメーションツールバーのスライダと似ていますが、ショットスカルプティング用に調整されています。
各スライダは、現在のフレームにおいて、 Selected Track 内に Pose を作成します。 このフレームに既に Pose が存在する場合、それは上書きされます。 各スライダにおいて、その値はソースとターゲット間のブレンドウェイトとして機能します。
Bias From Current
Source: 現在のフレームにおけるジオメトリ。
Target: 隣接する Pose 。値がプラスの場合、タイムライン上の次の Pose を指します。値がマイナスの場合、前の Pose を指します。
Bias From Rest
Source: Rest Pose 。
Target: 隣接する Pose 。値がプラスの場合、タイムライン上の次の Pose を指します。値がマイナスの場合、前の Pose を指します。
Blend To Rest
Source: 現在のフレームにおけるジオメトリ。
Target: Rest Pose 。
入力 ¶
Geometry to Deform
ショットスカルプティングを実行するジオメトリ。
Note
スカルプト編集の参照フレームを Joint Space に設定するには、変形対象のジオメトリにboneCapture Pointアトリビュートが含まれている必要があります。
Animated Pose
ジオメトリの Animated Pose 。 スカルプト編集の参照フレームとして Joint Space を使用する場合にのみ必要です。
出力 ¶
Deformed Geometry
すべての変形が適用された状態の入力ジオメトリ。