COMP共通- Layout ページの章を参照して下さい。
COMP共通- Panel ページの章を参照して下さい。
COMP共通- Look ページの章を参照して下さい。
COMP共通- Children ページの章を参照して下さい。
COMP共通- Drag/Drop ページの章を参照して下さい。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
COMP共通- Layout ページの章を参照して下さい。
COMP共通- Panel ページの章を参照して下さい。
COMP共通- Look ページの章を参照して下さい。
COMP共通- Children ページの章を参照して下さい。
COMP共通- Drag/Drop ページの章を参照して下さい。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Engine COMPは、.toxファイル(コンポーネント)を別のプロセスで実行します。TouchEngine API を使用してこれらのプロセスを管理し、ロードされたコンポーネントとメイン プロジェクトの間でデータを渡します。
Ins and Outs 選択されたコンポーネントのトップレベルの Ins and Outs は、Engine COMP 上の Ins and Outs として公開されます。
カスタム パラメーター トップレベルのコンポーネントのカスタム パラメーターは、エンジン COMP のパラメーターに追加されます。読み取り専用のパラメーターは追加されません。
パラメータは一方向にしか機能しません。ロードされた .tox の中からパラメータを設定することはできません。
制限事項
現在のところ、以下の制限事項があります。
– TOP、CHOP、DATの入出力のみサポートしています。
TouchEngineはTouchDesignerの一部としてインストールされ、指定された.toxをロードするには現在実行中のバージョンが使用されます。別のバージョンのTouchEngineを使用したい場合は、.toxと一緒に`TouchEngine`という名前のフォルダに入れてください(別のインストール先へのリンクを使用することもできますので、リンクの名前を`TouchEngine`にしてください)。
.toxファイルをリロードし、TouchEngineインスタンスを再起動します。
何らかの理由でTouchEngineインスタンスが終了した場合は、再起動します。
TouchEngineインスタンスへの一時的な接続を設定します。
Engine COMPはTouchEngineから遅いフレームをドロップするのではなく、cook中に待機します。
TouchEngineインスタンスでのcookをON/OFFします。
キューイングされた入力フレームの数を自動的に管理することができます。
TouchEngine インスタンスに渡す以前にキューに入れておく入力フレームの数です。
TouchEngineインスタンスのタイムスライスの潜在的な変動に対応するために、CHOP入力は事前にいくつかのフレームを送信する必要があります。
キューイングされた出力フレームの数を自動的に管理します。
TouchEngine インスタンスからの受信以降にキューに入れる出力フレームの数。
Engine COMPのタイムスライスの潜在的な変動に対応するために、CHOP出力は先にいくつかのフレームを送信する必要があります。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Nvidia Flex Solver COMPは、Bullet Solver COMPと同様の物理ソルバーCOMPです。
Nvidia Flexシミュレーションでは、Nvidia Flex Solver COMPは、アクター/ボディ(すなわちActor COMP)が動作する世界/シミュレーションに相当します。Nvidia Flex Solver COMPには、任意の数のアクター/ボディ(Actor COMPs)またはフォースフィールド(Force COMP)が含まれ、その名の通り、Nvidiaの FleX particle physics を使用します。
Nvidia Flex Solver COMPは、いくつかのシミュレーション・パラメータ(パーティクルの半径や凝集力など)に基づいてNvidia Flexシミュレーションを実行し、シミュレーションの進行に合わせて、その中に含まれるActor COMPのトランスフォームを更新します。
Nvidia Flex Solver COMPが参照するActor COMPは、そのネットワーク内にある必要はありません。他のソルバーCOMP(Nvidia FlexまたはBullet)からすでに参照されていなければ、どこにあっても構いません。
注意:Nvidia Flex SolverはNvidia SDKを使用しているため、Nvidia GPUが必要です。macOSは現時点ではNvidia GPUをサポートしていないため、この機能はNvidia GPUを搭載したWindows OSでのみ利用可能です。
Flex、Nvidia Flex TOP、Actor COMP、Force COMP の各章も参照して下さい。
シミュレーションに含めるActor COMPを設定します。これらのアクターは、すでに他のソルバーCOMPの一部であってはなりません。
シミュレーションに含めるForce COMPsです。Flexではフォースフィールドのみがサポートされています。
シミュレーション内のすべてのアクターにかかる重力を設定します。(単位:m/s^2)重力は、アクターの質量に関係なく適用されます。
すべてのボディを初期状態(位置、向き、速度など)にリセットします。これはシミュレーションのステップを開始するものではなく、初期化するだけです。
シミュレーションを初期化して実行します。(ステッピングを開始する)
シミュレーションを再生します。オンにすると、シミュレーションを段階的に実行しますが、オフにすると一時停止します。
シミュレーションのサンプルレートです。サンプルレートは1/rateタイムステップに影響します。
シミュレーションのプリロールを有効にします。プリロールは、シミュレーションを任意の開始状態にまで進めるために使用します。プリロールは初期化フェーズで行われます。プリロールの状態についての情報は、ソルバーの Info CHOPのチャンネルを参照してください。
シミュレーションを開始前に進める時間(秒)を設定します。
プリロール時にTouchDesignerのフレームごとに行うステップ数。例:プリロールのシミュレーション時間が1秒で、プリロールステップが2の場合、プリロールに0.5秒かかります。
有効にすると、プリロールの結果が Actor COMP に表示されます(つまり、トランスフォームが更新されます)。無効にすると、プリロールが完了するまで Actor COMP は初期状態のままになります。
シミュレーションの1ステップの間に行うサブステップの数を設定します。
各サブステップのイタレーション数を設定します。
有効にすると、シミュレーションは常に前進します。
シミュレーションの境界を有効にします。境界線は、バウンディングボックスまたは個々のプレーンで設定できます。
バウンディングボックスの計算に使用されるSOPを設定します。
Rotate the default plane. Default plane is a +Z XY plane (same as Grid SOP).
デフォルトのプレーンを回転させます。デフォルトのプレーンは、+Z XY プレーン(Grid SOP と同じ)です。
デフォルトプレーンを移動させます。デフォルトの平面は、+Z XY平面(Grid SOPと同じ)です。
シミュレーション内のパーティクルの半径を設定します。注:これはシミュレーション内のすべてのアクターが使用します。
動いているパーティクルと静止しているシェイプの間に生じる摩擦力を設定します。
動かないパーティクルと静止したシェイプの間に生じる摩擦力を設定します。
パーティクル間の動的摩擦を設定します。
パーティクルの反発係数を設定します。
パーティクルが当たった表面や形状にどれだけ強く付着するか設定します。
速度がこのしきい値よりも小さいパーティクルは、動いていないみなされます。
速度のクランピングを有効にします。
パーティクルの速度の倍率はこの値に固定されます。
Enable acceleration clamping.
加速度のクランピングを有効にします。
パーティクルの加速度の倍率はこの値に固定されます。
パーティクルの接触回数に応じて、パーティクルの速度にダメージを与えます。
粘性抵抗力を設定します。パーティクルの速度に比例して逆方向の力がかかります。
パーティクル同士の保持力をコントロールします。
パーティクルが表面積を最小にしようとする力をコントロールします。
XSPHの粘度を用いてパーティクルの速度を滑らかにします。
流体パーティクルの重力スケールを設定します。
パーティクルが形状に衝突したときに維持する距離を設定します。
シェイプに対する接触判定の際、パーティクルの半径を大きくします。
レンダリング用パーティクルのラプラシアン・スムージングの強さをコントロールします。
パーティクルに回転力を与えて渦度を高めます。
レンダリング用の楕円体に含まれる異方性の度合いを制御します。
異方性のスケールを半径のこの分数に合わせてクランプします。
異方性のスケールを半径のこの分数に合わせてクランプします。
有効にすると、シミュレーションに拡散パーティクルが作成されます。拡散パーティクルの位置/速度は、Nvidia Flex TOPを使用してフェッチすることができます。
シミュレーション内に同時に存在できる拡散パーティクルの最大数を設定します。注意:最大値が低すぎたり、Diffuse Lifetimeが高すぎたりすると、シミュレーションで必要なパーティクルをすべて作成できない場合があります。ただし、拡散パーティクルの数が多すぎると、パフォーマンスにも影響します。
運動エネルギー+発散量がこの閾値以上のパーティクルは、新しい拡散パーティクルを産み出します。
拡散したパーティクルの重力スケールを設定します。
拡散したパーティクルが隣の流体パーティクルの方向に受ける力をスケーリングします。
拡散粒子が弾道と見なされる近傍の数を設定します。
拡散パーティクルが生まれてされてから存続する時間を秒単位で指定します。
COMP共通- Xform ページの章を参照して下さい。
COMP共通- Pre-Xform ページの章を参照して下さい。
COMP共通- Render ページの章を参照して下さい。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
FBX COMPは、Maya、3DS Max、Cinema4D、HoudiniなどのFBXファイル形式を使用して、ジオメトリ、アニメーション、シーンをインポートします。 FBX COMPは現在、FBX SDKの2019.0バージョンを使用しています。
FBXは、アプリケーション間でモデル、アニメーション、および画像/テクスチャデータを交換するために使用されるオートデスクのファイル形式とライブラリのセットです。 FBX COMPはFBXファイルを読み取り、その機能のほとんどをサポートします。 .fbxをTouchDesignerネットワークにドラッグアンドドロップするか、File > Import File…メニューからインポートできます。 File Typesの章も参照してください。
FBXファイルのアセットは、.toe ファイルと同じ階層に作成されるTDImportCacheフォルダー内のFBXファイルと同じ名前の .tdc ファイルに保存されます。 アセットは、Import Select OP(Import Select TOP / Import Select SOP / Import Select CHOP)を使用して .tdc ファイルから読み取られます。 .toe ファイルをリロードすると、アセットは .tdc キャッシュから直接インポートでき、FBXファイルを再インポートする必要はありません。 ただし、既存の .tdc がない場合(たとえば、toeファイルがコンピューターを変更した場合)、FBXファイルが再度開かれてアセットを取得し、新しい .tdc が保存されます。
FBX COMPでFBXファイルを開くには:
1)FBX Fileパラメーターで.fbx拡張子を持つファイルの名を含む、有効なファイルパスを指定します。
2)このステップは、FBX COMPが作成されたばかりかどうか、およびパラメーターのデフォルト値の変更が必要かどうかによって異なります。 ファイルがネットワークで初めてロードされ、デフォルトのパラメーター値が受け入れられる場合、Import ボタンを押してFBXネットワークを生成し、アセットをインポートします。 Import Method を他のモード(作業が少ない)に変更することをお勧めします。これにより、パフォーマンスが大幅に向上します。 Import ボタン上にあるパラメータを変更するには、ネットワークを再構築する必要があります。
3)Import Method メニューを Merge with Existing に設定すると、Importパルスにより内部アセット(メッシュなど)が再ロードされます。これは、ファイルが別の場所に移動して、.toe ファイルを開いたときに、アセットが見つからず、適切にリロードする場合に特に便利です。
4)Import Method メニューをImport Assets(Import Selects)に設定すると、FBXファイルにいくつかの変更を加えたときにImport ボタンを使用し、それらの変更を再構築せずに現在のネットワークにマージします 。
FBXファイルにアニメーションがある場合、Playページのコントロールを使用して、アニメーションを初期化、開始、およびガイドします。 また、Info CHOPをFBX COMPに接続して、アニメーションのタイミングを確認します。 Info CHOPチャンネルは、Timer CHOPのチャンネルに似ています。
参照:FBX、Import Select CHOP、Import Select TOP、Import Select SOP、USD COMP
注:以下のパラメータへの変更は、Build Network または Update のいずれかによってFBXファイルが再構築されるまで適用されません
インポートするFBXファイルを指定します。
既存のネットワークに変更を加えることなく、ファイルからアセットのコンテンツをリロードするパルスを送ります。
有効にすると、FBX COMPはFBXファイル内のすべてのライトをインポートします。
有効にすると、FBX COMPはFBXファイル内のカメラをインポートします。
有効にすると、Import Select SOPの親としてGeometry COMPの代わりにActor COMPを生成します。 これは、インポートしたジオメトリを使用してBullet Dynamicsシステムを操作するのに便利です。
有効にすると、FBX COMPはジオメトリCOMPをマージします。 ジオメトリCOMPは、transform以外のデフォルトパラメータのみがある場合にマージされます。 同じ素材を使用している場合は、Import Select SOPがマージされます。
有効にすると、FBX COMPは目的の level までマージしようとします。 level は、ルート(FBX COMP)からのノード階層のステップ数です。 レベルがマージレベルよりも高く、マージ可能な場合、上の階層にマージされます。
有効にすると、FBX COMPはマージされた各SOPを独自のプリミティブグループに入れ、必要に応じて後で分割できるようにします。
このパラメーターよりも多くの子ノードを持つCOMPは、COMP内部に変換された子ノードを持ちます。 これにより、ペアレントは維持され、ネットワークをクリーンアップできます。
ジオメトリをGPUに直接ロードします。
FBXファイルのクリーンインポートを実行します。 上記のパラメーターを使用して、インポートされたファイルからネットワークを構築します。 FBX COMP内にノードがある場合、それらはインポートの前に削除されます。
有効にすると、更新中にパラメーターが競合すると、ユーザーの変更が保持されます。 無効にすると、パラメーターに対するユーザーの変更が上書きされる可能性があります。
有効にすると、更新中の配線/接続の競合がユーザーの変更を保持します。 無効にすると、配線/接続に対するユーザーの変更が上書きされる場合があります。
上記のパラメーターと上記のマージ条件を使用してFBXファイルをインポートし、現在FBX COMP内にあるネットワークとマージして、変更を維持します。 FBXファイルが変更され、それらの変更をTouchDesignerに反映する必要がある場合、このパラメーターを使用する必要があります。
Callbacks DATはインポートまたは更新中に実行され、インポートされたオペレーターと結果のネットワークの変更とカスタマイズが可能になります。
このページには、TouchDesigner内のFBXのアニメーションコントロールパラメーターが含まれています。
インポートされたFBXから再生するアニメーション名(指定されている場合)を指定します。
インポートファイルに示されているアニメーションの開始位置にアニメーションをシフトするかどうかを指定します。
FBXファイルに埋め込まれた File FPS を使用するか、Custom でサンプルレートを設定するかを指定します。
上記のSample Rate ModeパラメータがCustomに設定されている場合、サンプルレートを設定します。
アニメーションの再生方法を指定します。
アニメーションを初期状態にリセットします。
アニメーションを初期状態にリセットし、再生を開始します。
1に設定すると、キューポイントにジャンプして保持します。Play ModeがSequentialの場合にのみ使用できます。
パルスを送るとキューポイントにジャンプします。 Play ModeがSequentialの場合にのみ使用できます。
アニメーションのインデックスをジャンプするポイントを設定します。 Play ModeがSequentialの場合にのみ使用できます。
Cue Pointで使用する単位を選択します。
オンのときにアニメーションが再生され、オフのときに停止します。 このアニメーション再生コントロールは、Play ModeがSequentialの場合にのみ使用できます。
このパラメーターは、Play ModeがSpecify Indexに設定されている場合に、アニメーションの位置を明示的に設定します。 右側の単位メニューで、次の単位でインデックスを指定できます:インデックス、フレーム、秒、分数(パーセント)
これは、Play ModeがSequentialの場合にのみ機能する速度乗数です。 値1はデフォルトの再生速度です。 値2は倍速、0.5は半速などです。 負の値は逆方向に再生されます。
Trim StartおよびTrim Endパラメータを有効にします。
アニメーションのインポイントを設定し、アニメーション開始インデックスをトリミングできるようにします。 右側の単位メニューで、インデックス、フレーム、秒、または分数(パーセンテージ)でこの位置を指定します。
トリムスタートの単位タイプを指定します。 これを変更すると、変更前の単位が選択した単位に変換されます。
アニメーションのアウトポイントを設定し、アニメーション終了インデックスをトリミングできるようにします。 右側の単位メニューで、インデックス、フレーム、秒、または分数(パーセンテージ)でこの位置を指定します。
トリムエンドの単位タイプを指定します。 これを変更すると、変更前の単位が選択した単位に変換されます。
アニメーションの開始前のアニメーションアニメーションの動作を指定します(使用されている場合は、開始位置をトリムします)。
アニメーションの終了後のアニメーションの動作を指定します(使用されている場合は、終了位置をトリムします)。
COMP共通- Xform ページの章を参照して下さい。
COMP共通- Pre-Xform ページの章を参照して下さい。
COMP共通- Render ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Force COMPは、物理ソルバーのシミュレーションに力を加えるために使用します。Bulletは線形/回転力とインパルスフォースをサポートし(Forceの章を参照)、Flexはフォースフィールドをサポートしています(Force Fieldの章を参照)。
アクティブな力を有効にするには、ForceページのActiveトグルパラメータを使用します。
アクティブフォースは、シミュレーションに時間経過とともに適用される力を作り出します。アクティブフォースは、Bullet Solver COMPを参照してグローバルに適用することも、個々のActor COMPを参照してローカルに適用することもできます。アクティブフォースはフレームごとに力を加えるので、1秒かけて加えられる力は、1フレームで加えられる同じ値のインパルス力に相当します。
フォースとトルクのパラメータの単位はニュートン(N)で、kg*m/s^2に相当します。つまり、質量が5kgで初速のないアクターに10Nの力を加えた場合、1秒後のアクターの速度は2m/sとなります。もし、すべてのパラメータが同じで、代わりにインパルスフォースだったとしたら、速度はやはり2m/sになります。しかし、インパルスフォースの速度は瞬間的に変化し、(再度パルスを与えない限り)増加しなくなるのに対し、アクティブフォースでは1秒後も速度は増加し続けます。
質量の中心は、質量のバウンディングボックスの中心と見なされます。デフォルトでは、ボディが拘束されておらず、衝突もしていない場合、Relative Positionパラメータが0以外の値に設定されていない限り、フォースはボディを回転させません。Relative PositionがXで+1に設定されていて、Force がYで+1の場合、ボディはZ軸を中心に反時計回りに回転し、Yで平行移動します。
トルクが Z で +1 に設定されていると、ボディは Z 軸で反時計回りにしか回転せず(正の Z 回転)、平行移動はしません。
特定のボディにフォース/トルクを適用するには、Feedback CHOP(Bullet Solver COMP またはActor COMP の章を参照)とforce[xyz]およびtorque[xyz]チャンネルを使用します。
インパルスフォースは、Impulse Force pulseパラメータによって適用されます。
インパルスフォースパルスは、シミュレーションに1フレームの間適用される力を生成します。現実世界では、インパルスフォースは非常に短い時間で適用される力ですが、Bulletではこれをやや単純化して、瞬時に(1フレームの間)適用されます。インパルスフォースの例としては、ボールを蹴ったり、大砲を撃ったりすることが挙げられます。インパルスフォースによって、影響を受けた体の速度は一瞬で変化し、その瞬間以降は、再び力を加えない限り、その力は影響を受けなくなります。
インパルスフォースを加えた後のボディの結果としての速度は、アクティブな力を正確に1秒間加えた場合、同じ値のアクティブな力と同じになります。例えば、質量5kgの物体に10Nのインパルス力を加えた場合、結果として得られる速度は10N / 5kg * 1sec = 2m/sとなります。
フォースフィールドは、Force FieldページのActiveパラメータで有効になります。フォースフィールドは、Radiusパラメータで定義された半径を持つ球形です。正の力は物体を外側に押し出し、負の力は物体を内側に引き寄せます。
Flex、Bullet Dynamics、Bullet Solver COMP、Actor COMP、Constraint COMP、Bullet Solver CHOP、Nvidia Flex TOP、Nvidia Flex Solver COMPの各章も参照してください。
シミュレーションでのアクティブフォースのオン/オフを切り替えます。
適用されるリニアフォース(ニュートン)を設定します。
ボディの中心(注:質量の中心ではなく、物体の物理的な中心)に対して、直線的な力を加える位置です。相対的な位置がゼロでないと、トルクが加わって体が回転することになります。
The rotational force in Newtons that will be applied.
適用される回転力(ニュートン)を設定します。
上記のパラメータで1フレーム分のシミュレーションにインパルスフォースを与えます。
シミュレーションにおけるフォースフィールドのオン/オフを切り替えます。
フォースフィールドの強さを設定します。正の強さはボディを外側に押し出し、負の強さはボディを内側に引き寄せます。
フォースフィールドの半径を設定します。
中心からの距離に応じて、フォースフィールドの強さに線形のフォールオフを適用します。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Constraint COMPは、Actor COMPのセット内のボディの動きをコンストレイントするために使用されます。現在、これはいくつかの方法で行うことができます:point to point、hinge、slider。コンストレイント は、1つのボディにも、2つのボディの間にも適用できます。コンストレイントは、ボディ間のコネクティビティを生み出すため、または、動くことはできるがその動きを何らかの方法で制限する必要があるボディを生み出すために使用することができます。現実世界でのコンストレイントの例としては、電車、ドア、腕などがあります。
point to point コンストレイントが1つのボディに適用された場合、そのボディは3自由度(DOF)に制限されます。回転に関する3つの自由度(すなわち、3軸すべて)は維持されますが、移動に関する3つの自由度はすべて制約されます。もし、2つのボディの間に点から点へのコンストレイントが適用されると、2つのボディは同様に3自由度に拘束されます。ただし、3軸すべての移動(平行移動)が可能ですが、それはピボットポイントで連結された状態で行われます。この拘束方法を使うことで、ボディの連鎖を作ることができます。例えば、point to point コンストレイントを利用して、列車の車両が互いに接続されている状態をシミュレートすることができます。
hingeコンストレイントが1つのボディに適用された場合、そのボディは他のボディに対して1DOFに制限されます。その軸はConstraint COMPのAxisパラメータを使って定義されています。Point to Pointコンストレイントと同様に、ヒンジもまた、回転するピボットポイントとして機能します。2つのボディの間にhingeコンストレイントが適用されると、2つのボディは3自由度で動くことができますが、ピボットポイントで互いに接続された状態で動くことになります。しかし、2つのボディはそれぞれの軸の周りを回転することしかできません。hingeコンストレイントの最も簡単な例はドアです。
sliderコンストレイントが1つのボディに適用された場合、そのボディの移動/回転はその軸だけに制約されます。言い換えれば、ボディはその軸に沿って(どちらの方向にも)しか移動できず、その軸に沿って(どちらの方向にも)しか回転できません。
Bullet Dynamics、Bullet Solver COMP、Actor COMP、Force COMP、Impulse Force COMP、Bullet Solver CHOPの各章も参照して下さい。
シミュレーションでの拘束のオン/オフを切り替えます。
作成するコンストレイントのタイプを設定します。
Body to Bodyモードのオン/オフを切り替えます。Body to Bodyモードは、2つのボディ(Actor 1 BodiesとActor 2 Bodies)の間にコンストレイントを作成します。オフにすると、ボディを個別に拘束します。Actor 1 BodiesとActor 2 Bodiesに同じ数の参照ボディがある場合、このモードはそれぞれのペアの間にコンストレイントを作成します。
例えば、Actor 1 Bodiesに文字列「0 1 2」が含まれており、Actor 2 Bodiesに文字列「3 4 5」が含まれている場合、3つのコンストレイントが発生します。0->3, 1->4, 2->5.この2つのパラメータの間には1対1の関係があります。しかし、Actor 1 BodiesがActor 2 Bodiesよりも多くのボディを持っている場合、Actor 1 Bodiesの残りのマッチしていないボディは、代わりに個別にコンストレイントを受けることになります。例えば、Actor 1 Bodiesが文字列「0 1 2」を含み、Actor 2 Bodiesが文字列「3 4」を含む場合、ボディ間に2つのコンストレイントが作られます。ボディ2は個別にコンストレイントされます。Actor 2 BodiesがActor 1 Bodiesよりも多くのボディを含む場合、Actor 2 Bodies内のマッチしないボディは単に無視されます(それらに対してコンストレイントは作成されません)。
ボディとボディの間のコリジョン(衝突)をオン/オフします。
ビューアでのコンストレイントガイドの表示をオン・オフします。
Actor COMPへの参照です。コンストレイントしたいActor COMPを指定します。
コンストレイントするアクター1のボディのIDのリスト(正規表現)です。Actor COMPにN体のボディが含まれている場合、ボディIDはそのActor COMPの0からN-1までとなります。ボディの数はBullet Solver のCHOPを使って確認できます。
コンストレイントするピボット・ポイントを設定します。
ヒンジとなる軸を設定します。各値は通常、0から1の間の数値です。例えば、Z軸を中心に回転させたい場合は、0、0、1を設定します。
sliderコンストレイントの軸の回転を設定します。デフォルトでは、sliderコンストレイントはX軸に適用されます。
Actor COMPへの参照です。コンストレイントしたいActor COMPを指定します。このActor COMPは、body to bodyモードがトグルされているときにのみ使用されます。
コンストレイントするアクター2のボディのIDのリスト(正規表現)です。Actor COMPにN体のボディが含まれている場合、ボディIDはそのActor COMPの0からN-1までとなります。ボディの数はBullet Solver HOPを使って確認できます。
コンストレイントするピボット・ポイントを設定します。
ヒンジとなる軸を設定します。各値は通常、0から1の間の数値です。例えば、Z軸を中心に回転させたい場合は、0、0、1を設定します。
sliderコンストレイントの軸の回転を設定します。デフォルトでは、sliderコンストレイントはX軸に適用されます。
コンストレイントの制限を有効にします。制限がなければ、ボディは360度フル回転したり、任意の距離を移動することができます。
制約に沿ったボディの移動の下限値を設定します。sliderコンストレイントでのみ使用されます。
制約に沿ったボディの移動の上限値を設定します。sliderコンストレイントでのみ使用されます。
ボディの軸周りの回転の下限値を設定します。sliderコンストレイントやhingeコンストレイントで使用される。
ボディの軸周りの回転の上限値を設定します。sliderコンストレイントやhingeコンストレイントで使用される。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Bullet Dynamicsシステムでは、Bullet Solver COMPはアクター/ボディ(Actor COMPなど)が動作する世界/シミュレーションに相当します。Bullet Solver COMPは、アクター/ボディ(Actor COMP)やフォース(ForceCOMP/Impulse Force COMP)を任意の数だけ含み、その名の通りBullet Physics APIを使用してシミュレーションを実行します。
Bullet Solver COMPは、いくつかのシミュレーションパラメータ(線形乗数や角度乗数など)に基づいてBulletシミュレーションを実行し、シミュレーションの進行に合わせて、その中に含まれるアクターCOMPのトランスフォームを更新します。シミュレーションは、COMP上のパラメータを使って、一時停止、スローダウン、スピードアップ、再開することができます。
Bullet Solver COMPのシミュレーションは真空中で行われるため、シミュレーション中のアクターに空気抵抗はかかりません。シミュレーションは指定されたサンプルレートでステップされ、それに応じてアクターCOMPのトランスフォームが更新されます。これらのトランスフォームは、Bullet Solver CHOPで表示される結果と同じです。
Bullet Solver COMPが参照するActor COMPは、そのネットワーク内にある必要はありません。他のBullet Solver COMPから参照されていなければ、どこにあっても構いません。
以下の章も参照してください。Bullet Dynamics、Actor COMP、Force COMP、Impulse Force COMP、Constraint COMP、Bullet Solver CHOP。
シミュレーションに含めるActor COMPを設定します。これらのアクターは、他のBullet Solver COMPで指定されていてはなりません。
シミュレーションに含めるForce COMPを設定します。これらのフォースはグローバルな力であり、シミュレーション内のすべての非静的なアクターに適用されます。
シミュレーション内のすべてのアクターにかかる重力を設定します。(単位:m/s^2)重力は、アクターの質量に関係なく適用されます。
シミュレーションのディメンションを設定します。このメニューのオプションは、Linear/Angular Multiplierパラメーターを使って再現することもできます。
シミュレーション内のアクターの線形速度を表す乗数を設定します。例えばlinmultが(0, 1, 1)の場合、アクターはY軸とZ軸方向には通常の速度で直線的に移動できますが、X方向には移動できません。これらの値は、内部でディメンションからの値と掛け合わされます。例えば、ディメンションが2Dで、linmultが(0, 1, 1)の場合、2DはZ軸に制約があり、このパラメータはY軸に制約があるため、アクターが動ける方向はY軸のみです。
シミュレーション内のアクターの角速度の乗数を設定します。例えば、angmultが(1, 0, 0)の場合、アクターはX軸でのみ回転することができます。これらの値は、内部的にdimensionの値と掛け合わされます。つまり、dimensionが2Dでangmultが(1, 0, 0)の場合、アクターはどの方向にも回転できません。2Dでは回転がZ軸にしか制約されず、このパラメータではX軸にしか制約されないからです。
すべてのボディを初期状態(位置、向き、速度)にリセットし、コリジョンシェイプを再作成します。このパラメータは、各Actor COMPの「Initialize Actor」をパルスするのと同じです。コリジョンシェイプの作成には時間がかかる場合がありますので、必要がない場合は、代わりに Initialize Sim を使用してください。コリジョンシェイプの作成に使用されたSOPが変更された場合や、インスタンス化OPが変更された場合は、コリジョンシェイプを再作成する必要があります。
すべてのボディを初期状態(位置、向き、速度など)にリセットします。これはシミュレーションのステップを開始するものではなく、初期化のみを行います。注意:これはActor COMPのコリジョンシェイプをリセットしません。上記の Initialize Sim and Collision Shapes または Actor COMP の Initialize Actor を使用してください。
シミュレーションを初期化して実行します。(ステッピングを開始する)
シミュレーションを再生します。オンにするとシミュレーションを再生しますが、オフにすると再生しません。(一時停止します)
シミュレーションのサンプルレートを設定します。サンプルレートは1/rateタイムステップに影響します。
シミュレーションの速度です。タイムステップの大きさに対する乗数で、シミュレーションを遅くしたり、速くしたりします。
Bullet Solver CHOPの章を参照してください。 フィードバックする CHOP を設定します。Bullet Solver COMPは、CHOPからトランスフォームやベロシティのチャンネルを受け取り、次のシミュレーションステップの最初に、それぞれのアクタのトランスフォームやベロシティを上書きします。
チャンネル値を変更していないBullet Solver CHOPをフィードバックすると、何も上書きされていないので、シミュレーションは通常通り行われます。これにより、以下の例のようなことが可能になります。たとえば、シミュレーション内のすべてのアクタのベロシティをネガティブにするには、Bullet Solver CHOPをSwitch CHOPに入れて、2番目の入力をベロシティチャンネルをネガティブにしただけの同じCHOPにします。次にボタンパルスをスイッチインデックスにエクスポートして、Switch CHOPをFeedback CHOPパラメータに入れます。すると、ボタンが1フレーム押されたとき(パルス状)に、ベロシティが上書きされてネガティブになります。フィードバックに必要なチャンネルは、actor_id と body_id チャンネルだけで、他のチャンネルはすべてオプションです。チャンネル名はすべてBullet Solver CHOPと同じにしてください。Bullet Solver CHOPで出力されるチャンネルに加えて、フォースとトルクも使用できます。チャンネル名は force[xyz] と torque[xyz] です。注:スケールはフィードバックには使用できません。
シミュレーション内のすべてのボディに対して接触テストを有効にします。接触テストはBullet Solver CHOPのcollidingおよびtotal_collisionsチャンネルに使用されます。このパラメータを有効にしないと、これらのチャンネルの値は更新されません。NOTE: ボディの数が多いと接触テストに時間がかかることがあります。
この機能を有効にすると、Bullet Solver COMPはすべてのフレームをシミュレート(つまりcook)します。
pythonのコールバックを持つDATへの参照です。利用可能なコールバックは、onCollision(solverComp, collisions)、onFrameStart(solverComp)、onFrameEnd(solverComp)、onInit(solverComp)、onStart(solverComp)です。
これらのコールバックを持つDATは、Bullet Solver COMPの作成時に自動的に作成され、参照されます。
onCollision(solverComp, collisions)は、発生したすべてのコリジョンのリストを渡し、Perform Contactテストを有効にする必要があります。
collisionsは、名前の付いたタプル(bodyAとbodyB)のリストです。
bodyAとbodyBは衝突に参加している2つのボディです。bodyAとbodyBはPythonのBodyオブジェクトです(Bodyクラス参照)。
COMP共通- Xform ページの章を参照して下さい。
COMP共通- Pre-Xform ページの章を参照して下さい。
COMP共通- Render ページの章を参照して下さい。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Actor COMPは、物理システムのボディ(複数可)に相当します。Actor COMPは、物理ソルバー(Bullet Solver COMPまたはNvidia Flex Solver COMP)と組み合わせて使用する必要があり、物理ソルバーは、アクター/ボディが動作するワールド/シミュレーションに相当します。Actor COMPは、シミュレーション内の力の影響を受けず、動かない(つまり、質量が無限大)静的なものと、力によって動き、ワールド内の他のボディ(静的または動的)と衝突する動的なものがあります。
以下の各章も参照してください。Flex、Bullet Dynamics、Bullet Solver COMP、Force COMP、Constraint COMP、Bullet Solver CHOP、Nvidia Flex Solver COMP、Nvidia Flex TOP。
静的物体は凹形状でも凸形状でもよいのですが、動的物体は凸形状でなければなりません。しかし、動的なコリジョンシェイプは複合的に構築することができます。つまり、凹型のコリジョンシェイプは、動的なケースでは、凸形状を組み合わせて作成することができます。これは複数のSOPを使って構築ことができます。各SOPは凸形状である必要がありますが、SOPの組み合わせは凸形状である必要はありません。Automaticモードを選択すると、これらのSOPから複合コリジョンシェイプが作成されます。
Actor COMP内のすべてのボディには、対応するコリジョンシェイプがあります。コリジョンシェイプは、オブジェクト同士がどのように衝突するかを決定するもので、ビューア/レンダーで表示されるものが必ずしもコリジョンシェイプと一致するわけではないことに注意する必要があります。
コリジョンシェイプは、SOPを使って作成されます。Collision SOPs パラメータを使用するか、Actor COMP自体の中にSOPを入れることで作成されます。Collision SOPs パラメータにパスが設定されている場合、Actor COMPはそのパスにある全てのSOPから単一のボディを作成します(パスがCOMPの場合は、COMP内の全てのSOPを再帰的に取り込みます)。Collision SOPs パラメータに何も記入されていない場合、Actor COMPは自身の中のdisplayフラグとrenderフラグの両方がオンになっているSOPを自己内部で再帰的に検索します。
Actor COMPでは、これらのSOPから1つのボディとそれに対応するコリジョンシェイプを作成します。
SOPからコリジョンシェイプを作成する際には、いくつかのオプションがあります。これらのオプションは、Collision Shape パラメータから選択できます。例えば、Oriented Bounding Box というオプションは、選択されたSOPの周りに最小体積のバウンディングボックスを作成します。
複数のボディを作成するには、Actor COMPの Instance ページにあるインスタンシングを使用します。これにより、それぞれが同一のコリジョン形状を持つ同一のボディがいくつでも作成されます。現在のところ、1つのActor COMPで複数の非同一ボディを作成する方法はありません。
ボディは Initialize Actor パラメータを使用して初期化されるため、ボディを作成するSOPに変更があった場合は、Actor COMPを再初期化する必要があります。ボディは、Kinematic State、Shape、またはCenter of Massが変更されると、自動的に再初期化されます。
トランスフォームは、Geometry COMPやCamera COMPと同様に、XformおよびPre-Xformページを使用してActor COMPに適用できます。XformおよびPre-Xformページのトランスフォームは、シミュレーションにおけるアクターの初期トランスフォームを作成しますが、シミュレーション中にアクターのトランスフォームを変更するのにも使用できます。どちらのページでもスケールを変更すると、コリジョンの形状自体が変更されるため、アクターの再初期化が必要になります。インスタンス化中にいずれかのトランスフォームを変更すると、自動的にアクターが再初期化されます。
Actor COMP はネストできませんが、Actor COMP を Geometry COMP の中にネストすることは可能で、その逆も可能です。Actor COMP がネストされた Geometry COMP は、スケールトランスフォームを持つことができませんが、Actor COMP の中にネストされた Geometry COMP は、スケールを持つことができます。Geometry COMP の中にネストされた Actor COMP は、初期化されたときにのみそのトランスフォームを使用します。したがって、これらのGeometry COMPのトランスフォームを変更した場合は、Actor COMPの再初期化が必要になります。
Flexのアクターは、流体パーティクル、流体パーティクルエミッター、または静的形状のいずれかになります。
Flexの静的形状は、Bulletでの凹型(つまり静的)形状と同じ方法で構築されます。静的形状は、そのコリジョン形状を構築するためにTriangle mesh SOPを必要とします。ただし、ボックス/球のコリジョンシェイプオプションを使用して、コリジョンシェイプSOPのバウンディングボックス/球を作成することもできます。
流体パーティクルは、Bulletアクターのインスタンス化と同じように動作します。流体パーティクルの数は、インスタンスOPから作成されるインスタンスの数と同じです。インスタンスパラメータはパーティクルに初期トランスフォームを与えるために使用されますが、シミュレーションが実行されると、トランスフォームはシミュレーション結果から更新されます。
流体パーティクル Actor COMPの主な違いは、Nvidia Flex Solver COMP上のシミュレーションパラメータによって流体パーティクルのサイズや挙動が定義されるため、流体パーティクルを作成するためのSOPが必要ないことです。Actor COMP内のSOPを使用して、パーティクルの位置をレンダリング/表示することができます。また、Nvidia Flex TOPを使用してパーティクルの位置をフェッチすることもできます。
流体エミッタは、エミッションポイント(Actor COMPのトランスフォーム)でシーンにパーティクルを追加します。パーティクルはエミッショ ンの最大値に達するまで追加されますが、その時点でエミッショ ンパーティクルは既存のパーティクルからリサイクルされます。
Actor COMPを作成する際には、いくつかの重要な確認事項があります。
2つの物体が衝突しない理由を解明するには、Bulletシミュレーションが離散的であることを理解することが重要です。速度、位置、拘束、衝突などは、連続的にではなく、フレームごとに計算されます。Bulletの場合、衝突は1フレームの最初と最後に計算されます。これはどういうことかというと、ボディが毎フレーム大きな距離を移動している場合、衝突が計算されるフレームの最初と最後で衝突が判定されず、他のボディを切り抜ける可能性があるということです。これと同じように、オブジェクトが非常に薄い場合、他のボディは奥行きのあるものよりも簡単に切り抜ける可能性があります。
Continuous collision detection(パラメータ参照)は、動きのベクトルに沿って(フレームの開始/終了の間)衝突検出を行なって、フレームの開始/終了の間に発生する衝突を捕捉することで、この問題を解決します。これは直線速度の速いボディには非常に有効ですが、角速度の速いボディにはあまり有効ではありません。
ボディのすり抜けを修正するために、他にもいくつか変更すべき点があります。
1. 手動でボディの速度を制限したり、加える力の強さを下げたりする。
2. 非常に薄いコリジョンサーフェスに厚みを追加します。衝突面として Grid SOP を使用している場合は、代わりに Box SOP を使用することを検討してください。また、Box SOPをコリジョンシェイプとして使用し、その中にボディを入れるような場合は、6つの個別のBox SOP(箱の各面に1つずつ)を組み合わせてコリジョンシェイプを作ることを検討してください。
Actor COMP内のすべてのボディのコリジョンシェイプを再作成します。また、すべてのベロシティとポジションをデフォルトの状態にリセットします。Initialize Actorは、コリジョンシェイプを作成するために使用するSOPに変更があった場合や、インスタンス化するためのOPに変更があった場合にイニシャライズ パルスを送信する必要があります。
有効にすると、Actor COMPはコリジョンシェイプを自動的に更新します。これは Collision SOP や Collision Shape のパラメータが変更された場合や、コリジョンシェイプを作成するために使用するSOPが変更された場合(クック数が増加した場合など)に発生します。
これをクリックすると、瞬時にコリジョンシェイプが更新されます。
アクターのオン/オフを切り替えます。アクターがアクティブであれば、シミュレーションの進行に合わせて更新されます。しかし、非アクティブの場合は、シミュレーションから削除され、他のアクター/ボディと衝突しなくなります。その結果、トランスフォームも更新されなくなります。
kinematic Stateは、Actor COMP が外力で動くかどうかを設定します。オブジェクトがDynamicであれば、シミュレーションの中で動かすことができますが、Staticであれば動かすことはできません。
コリジョンシェイプに使用するSOPまたはCOMPを指定します。SOP を参照した場合は、その SOP だけがコリジョンシェイプに使用されます。COMP を参照した場合は、その中にあるすべての SOP(再帰的)がコリジョンシェイプに使用されます。このパラメータを空白にした場合、選択されるSOPはActor COMP内のdisplay/render フラグがオンになっているすべてのSOPになります。
選択されたSOPから作成するコリジョンシェイプのタイプを設定します。コリジョンシェイプはActor COMPのビューアーでガイドを使って見ることができます
最小体積の外接楕円体の許容範囲。言い換えれば、どれだけ最適解に近いかということです。
アクターに無限の質量を与えます。オブジェクトが動的な場合、これは動かせない静的なものになります。Infinite Massをオンまたはオフにしても、Kinematic Stateパラメータの変更とは異なり、コリジョンシェイプの再現は必要ありません。
アクターの質量(キログラム)を設定します。
直線速度と角速度を保持し、linvelとangvelで与えられる値を保持します。このオブジェクトは、シミュレーション内の他のボディと衝突します。
直線速度と角速度を Linear Velocity と Angular Verocity で指定された値をパルス送信します。これにより、次のフレームの開始時に、速度が指定された値に設定されます。
アクターの初期直線速度(単位:m/s)。このパラメータは、シミュレーション中にアクターの線形速度を変更するためにも使用できます。また、Cue Velocity および Cue Velocity Pulse パラメータと組み合わせて使用します。
アクターの初期角速度(単位:度/秒、単位:m/s)。このパラメータは、シミュレーション中にアクター の角速度を変更するのにも使用できます。さらに、Cue Velocity および Cue Velocity Pulse パラメータと組み合わせて使用することもできます。
ローカルフォースのリストで、このアクターにのみ適用されるフォース(Force COMPなど)を意味します。
Bullet Solver COMPの重力(グローバル)を使用するか、独自のローカル重力を使用するかの設定します。
アクターのローカル重力を設定します。(単位:m/s^2)アクターがBullet Solver COMPのグローバル重力を使用していない場合(上記の Use Global Gravity パラメータがオフになっている場合)にのみ適用されます。
アクターの動摩擦を設定します。2つのボディが擦れる/滑る間の抵抗です。全体の摩擦は、2つのボディが触れているときの積です。例えば、一方のボディの摩擦が0で、もう一方のボディの摩擦が1の場合、2つのボディの間の全体的な摩擦は0となります。
アクターの転がり摩擦を設定します。ある物体(球体や円錐体など)が別の物体の上を転がるときの抵抗/引きずりです。
アクターの反発係数を設定します。返還係数とは、2つのボディ/アクターが衝突したときの、最終的な相対と初期の相対の比率です。言い換えれば、反発とは、衝突後に保存される運動エネルギーの割合です。2つの物体が100%(つまり1)の返還率で衝突した場合、両方の体は衝突した時と同じ速度で互いに跳ね返ることになります。
このアクターの連続的なコリジョン検出をオン/オフします。通常、衝突検出は離散的に行われます。つまり、フレームの最初と最後に衝突が確認されます。しかし、ボディの速度が速すぎると、1フレーム内での移動距離が大きくなり、サーフェイスをすり抜けてしまいます (つまり、コリジョンが検出されない)。連続的な衝突検出では、この問題を改善するために、フレーム内のボディの初期位置と最終位置の間の間隔で衝突検出を行います。連続的な衝突検出はパフォーマンスに影響を与えるため、このパラメータをオンにしても常に使用されるわけではありません。ある速度閾値以上で動いているボディに対してのみ使用されます。
COMPビューアーでのコリジョンシェイプの表示をトグルします。
コリジョンシェイプの重心を指定します。質量中心とは、ボディが回転するポイントのことです。質量中心は、Actor COMPのビューアのガイドを使って見ることができます。赤色の軸で表示されます。
フィードバック元となるCHOPを設定します。Actor COMP は CHOP からトランスフォームとベロシティのデータ(詳しくはBullet Solver CHOP の章を参照)を読み込んで、次のフレームの最初に現在の値を上書きします。このパラメータとBullet Solver CHOPでフィードバックループを作ることができます。Bullet Solver CHOP の章を参照してください。注意: スケールをフィードバックすることはできません。 force[xyz]および torque[xyz]を使用して、特定のボディにフォースを加えることができます。
Flexアクターのダイナミックのタイプを設定します。
有効にすると、Actor COMPはパーティクルを放出します。
2Dエミッショングリッドのサイズです。サイズはエミッショングリッドの各辺のパーティクル数を表します。例えば、2×5のエミッションサイズでは、幅2パーティクル、高さ5パーティクルのグリッドを発光します。
パーティクルがエミッターから出る速度を設定します。
Actor COMP内のパーティクルの最大数を設定します。この数に達すると、パーティクルの排出はActor COMP内の既存のパーティクルをリサイクルして行われます。
位置をフィードバックするためのTOPを設定します。TOPには、シミュレーションでポジションを上書きして使用される、ポジションデータをエンコードする必要があります。テクスチャデータは、Flex TOPのポジションテクスチャに対応するように読み込まれます。
速度をフィードバックするためのTOPを設定します。TOPには、シミュレーションでベロシティを上書きして使用される、ベロシティデータをエンコードする必要がある。テクスチャデータは、Flex TOPのベロシティテクスチャに対応するように読み込まれます。
COMP共通- Xform ページの章を参照して下さい。
COMP共通- Pre-Xform ページの章を参照して下さい。
COMP共通- Instance ページの章を参照して下さい。
COMP共通- Instance 2 ページの章を参照して下さい。
COMP共通- Instance 3 ページの章を参照して下さい。
COMP共通- Render ページの章を参照して下さい。
COMP共通- Extensions ページの章を参照して下さい。
COMP共通- Common ページの章を参照して下さい。
Xformパラメータページは、ワールド空間でのオブジェクトコンポーネントのトランスフォームを制御します。
このパラメーターのメニューを使用すると、コンポーネントのトランスフォームの順序を指定できます。トランスフォームの順序を変更すると、ブロックを進んで東に曲がるのと、東に曲がってブロック進むのでは、別の場所に移動するように、移動する場所が変更されます行列の数学用語では、「右側の乗算ベクトル」(列ベクトル)規則を使用すると、Scale、Rotate、Translateの変換順序はT * R * S * Positionとして記述されます。
このオプションをクリックすると表示される回転行列により、コンポーネントの回転順序を設定できます。 Transform Order(上記)と同様に、コンポーネントの回転順序を変更すると、コンポーネントの最終位置が変更されます。 Rx Ry Rzの回転順序は、次のように最終的な回転行列を作成します `R = Rz * Ry * Rx`
3つのフィールドでは、3つの軸のいずれかに沿った移動量を指定できます。これらのフィールドに値を直接入力する代わりに、ビューポートのコンポーネントを選択して移動状態で操作することにより、値を変更できます。
3つのフィールドでは、3つの軸のいずれかの周りの回転量(度単位)を指定できます。これらのフィールドに値を直接入力する代わりに、ビューポートのコンポーネントを選択おして回転状態で操作することにより、値を変更できます。
3つのフィールドでは、3つの軸に沿った不均一なスケーリングを指定できます。 これらのフィールドに値を直接入力する代わりに、ビューポートのコンポーネントを選択してスケーリング状態で操作することにより、値を変更できます。
ピボットポイント編集フィールドを使用すると、コンポーネントがスケーリングおよび回転するポイントを設定できます。 コンポーネントのピボットポイントを変更すると、コンポーネントで実行されるトランスフォームに応じて異なる結果が生成されます。
たとえば、スケーリング操作中に、コンポーネントのピボットポイントが「-1、-1、0」にあり、コンポーネントを「0.5」(サイズを50%縮小)スケーリングする場合、コンポーネントは ピボットポイントに向かって拡大縮小し、左下にスライドするように見えます。
上記の例では、異なるピボットポイントを持つコンポーネントで実行された回転で異なる結果を生成します。
このフィールドを使用すると、3つの軸に沿ってコンポーネントのサイズを均一に変更できます。
一般的に、カメラのチャンネルのスケーリングは推奨されません。 ただし、そうする場合で、縮尺が関係している場合、レンダリングされた出力はビューポートに可能な限り一致します。
オブジェクトの位置を、このパラメーターで指定されている他のオブジェクトに拘束することができます。
LookAtさせたいコンポーネントの名前を設定することで、コンポーネントの向きを決めることができます。 コンポーネントをLookAtするように設定すると、コンポーネントを動かしても、設定したコンポーネントを直面し続けます。 これは、カメラが別のコンポーネントの動きを追跡する場合に便利です。 Look Atパラメーターは、コンポーネントを他のコンポーネントの原点に向けます。
シーンに表示されないカメラの注視点を指定するには、Nullコンポーネントを作成し、そのdisplayフラグを無効にします。 次に、新しく作成されたNullコンポーネントにカメラをペアレント化し、Look Atパラメーターを使用してこのコンポーネントを向くようカメラを設定します。 Nullコンポーネントを選択状態に移動することにより、カメラを向けることができます。 カメラとNullコンポーネントの両方を表示する場合は、Nullコンポーネントの表示フラグを有効にし、TouchDesignerウィンドウの右上隅にあるアイコンのいずれかをクリックして、追加のビューポートで選択状態を使用します。
Look Atを指定する場合、lookatのアップベクトルを指定できます。 アップベクトルを使用しないと、lookatコンポーネントがターゲットコンポーネントのY軸を通過するときに、アニメーションがフリップする可能性があります。
このコンポーネントが移動するパスとして機能するSOPを指定します。 たとえば、カメラが沿うスプラインパスのSOP名を設定することができます。
制作のヒント:
パスに沿ったスムーズなモーションを作成する場合-コンポーネントをアニメーションパスに追従させるのは簡単です。 ただし、NURBSカーブをパスとして使用する場合、コンポーネントがパスに沿って移動すると、予期せずに移動が高速化および低速化することがあります。 これは、CVの間隔が不均等であるためです。 そのような場合は、Resample SOPを使用して、曲線に沿って等間隔になるようにCVを再配置します。 ただし、パスカーブがアニメーションする場合、Resample SOPの使用で処理が遅くなる可能性があります。
別の方法は、Basis SOPをパスカーブに追加して、Uniform Curveに変更することです。 このようにして、コンポーネントは曲線の下を均一に移動し、Resample SOPと不要に生成されるポイントは必要なくなります。
角度コントロールを使用すると、コンポーネントがパスに沿ってアニメートする際のコンポーネントの回転を指定できます。
このパラメーターを使用すると、パスに沿ったコンポーネントの位置を指定できます。 このパラメーターに入力できる値の範囲は0〜1で、0はパスの開始点、1はパスの終了点です。 スライダーでは、パスに沿った複数の「パス」に対して最大10の値を使用できます。
このオプションを選択すると、コンポーネントはパスに沿って配置されます。 コンポーネントの正のZ軸は、パスを下向きにしています。
コンポーネントの方向を決めるとき、アップベクトルを使用して、正のY軸が指す方向を設定します。
Auto-Bank Factorは、現在の位置でのパスの曲率に基づいてコンポーネントをロールします。 オートバンキングをオフにするには、バンクスケールを「0」に設定します。
コンポーネントのマテリアルとレンダリング設定を制御します。
ジオメトリに適用するMATを選択します。
コンポーネントのジオメトリがRender TOPに表示されるかどうか。 このパラメーターは、コンポーネントのRenderフラグと連動(論理AND)します。
コンポーネントが描画される順序を決定します。 大きな値の後に(上に)小さな値が描画されます。
Render Pick CHOPまたはRender Pick DATを使用する場合、Search Areaを設定するオプションがあります。 Search Area内で複数のオブジェクトが見つかった場合、pick priorityを使用して、あるオブジェクトを別のオブジェクトよりも優先して選択させることができます。 低い値よりも高い値が選択されます。 これは、描画順序、または同じピクセル上で互いに描画されるオブジェクトには影響しません。 ピクセルごとに1つのピックのみが表示されます。
R、G、Bフィールドを使用して、ワイヤフレームシェーディングモードで表示されるときのコンポーネントの色を設定します。
デフォルトでは、Render TOPで使用されるすべてのライトはジオメトリレンダラーに影響します。 このパラメーターを使用して、この特定のジオメトリに使用するライトのサブセットを指定できます。 ライトは、Render TOPにリストする必要があります。