SOPs」カテゴリーアーカイブ

ZED SOP

概要

ZED SOP は、ZED カメラを使用してジオメトリをスキャンします。詳細とインストールするZED SDKについては、ZEDの章を参照してください。
参照:ZED TOP、ZED CHOP

パラメータ
Camera / camera

使用するZEDカメラを選択します。

Sample / sample

有効にすると、ZEDカメラは空間内の点をサンプリングします。無効にすると、点からサーフェスを生成し、法線やテクスチャ属性も生成します。

Reset / reset

抽出したジオメトリをクリアし、空間マッピングをリセットします。

Reset Pulse / resetpulse

ボタンリリース(ボタンアップ)時にすぐにリセットをトリガーします。これは python の pulse() メソッドを使ってアクセスできます。

Preview / preview

Select level of detail of the preview when camera samples.
カメラサンプリング時のプレビューの詳細レベルを設定します。

  • No Preview / nopreview
    カメラのサンプリング時にはプレビューは表示されません。
  • Limited Preview / limited
    プレビューの詳細レベルは制限されています。
  • Full Preview / full
    プレビューで利用可能なすべてのポイントが表示されます。
Maximum Memory / maxmemory

空間マッピングに使用する最大メモリを設定します。

Resolution / resolution

カメラで使用する空間マッピングの解像度を設定します。解像度を小さくすると詳細なジオメトリが作成され、解像度を高くするとジオメトリ内の大きな空間のみが保持されます。

Range / range

空間マッピング後に抽出されるオブジェクトの距離範囲を設定します。奥行きの範囲を小さくするとカメラに近いオブジェクトが使用され、奥行きの範囲を大きくするとカメラから遠いオブジェクトが使用されます。

Normals / normals

この機能を有効にすると、抽出されたジオメトリは法線を持つようになります。

Texture / texture

有効にするとメッシュの空間マッピングテクスチャとテクスチャ座標が作成されます。空間マッピングテクスチャは、ZED TOPで取得できます。

Filter / filter

メッシュのフィルタリングレベルを設定します。

  • Low / low
    ジオメトリの小さな穴は除去されます。
  • Medium / medium
    ジオメトリが滑らかになります。
  • High / high
    ジオメトリのトライングルの数が減り、ジオメトリが滑らかになります。
Consolidate Points / consolidatepts

有効にすると、一緒に閉じている冗長ポイントがマージされます。

Raster SOP

概要

イメージやムービーをラスタライズしてラインメッシュ化します。

Parameters – Raster Page
TOP / top

ソースとなるTOPのパスを設定します。

Direction / direction

ラスタライズする方向を設定します。

  • Horizontal / horizontal
    水平方向にラスタライズします。
  • Vertical / vertical
    垂直方向にラスタライズします。
Download Type / downloadtype

GPUからの遅延データダウンロードのためのオプションを提供し、これははるかに高速で、レンダリングを停止させません。

  • Immediate (Slow) / immediate
  • Next frame (Fast) / nextframe

Import Select SOP

概要

Import Select SOPは、USD COMPおよびFBX COMPで定義されたジオメトリタイププリミティブをインポートおよびロードするために使用されます。 これは基本的に、メッシュ、ポイント、NURBSカーブまたはパッチ、基底カーブなど、USD COMPまたはFBX COMPがサポートできるすべてのジオメトリタイプをロードします。 各ジオメトリは、ロードファイルからの1つのプリミティブを表すか、パフォーマンスを向上させるためにマージされたプリミティブのセットにすることができます。
USD COMP および FBX COMP では、Import Select SOP がマージされたジオメトリをレンダリングする場合、この SOP の次に Info DAT オペレータが接続され、インポートファイル内またはインポートファイルからのプリミティブの元のパスを表します。Import Select SOP は、Playback ページ内で独自のアニメーションコントロールを持つことができます。また親COMPの設定を使用することもできます。
インポートされたジオメトリは、親COMPノードでStraight To GPUトグルがONに設定されているかどうかによって、GPUまたはCPUから直接ロードすることができます。

パラメータ – Playback ページ
Use Parent Animation / useparentanim

親COMPのアニメーションコントロールを使用するか、このSOPのカスタム設定を使用するかを指定します。

Shift Animation Start / shiftanimationstart

インポートファイルに表示されているアニメーションの開始位置にアニメーションをシフトするかどうかを指定します。

Sample Rate Mode / sampleratemode

FPSを選択するか、カスタムサンプルレートを使用するかを指定します。

  • File FPS / filefps
    インポートファイルで定義されているFPSを使用します。
  • Custom / custom
    サンプルレートパラメータで指定された値。
Sample Rate / samplerate

アニメーションのサンプルレート(FPS)を指定します。このパラメータはデフォルトでは無効になっており、Sample Rate ModeパラメータでCustomを選択すると有効になります。

Play Mode / playmode

アニメーションの再生方法をメニューで設定します。

  • Locked to Timeline / lockedtotimeline
    このモードは、アニメーションの位置をタイムラインにロックします。 このモードでは、タイムラインがアニメーションの位置に直接関連付けられているため、パラメーターPlay、Speed、Index、Cue、Cue Pointは無効になっています。
  • Specify Index / specifyindex
    このモードは以下のIndexパラメーターを使用してアニメーションの特定のインデックス(位置)を指定できます。 アニメーション内の任意の場所にランダムアクセスするには、このモードを使用します。
  • Sequential / sequential
    このモードでは、タイムラインの位置に関係なく継続的に再生されます(Index パラメータは無効)。以下の Play、Speed、Cue、Cue Point パラメータを有効にすると、ある程度のコントロールが可能になります。デフォルトはこの再生方法に設定されています。
Initialize / initialize

アニメーションを初期状態に戻します。

Start / start

アニメーションを初期状態に戻し、再生を開始します。

Cue / cue

ONに設定するとキューポイントにジャンプし、その位置に留まります。Play Mode パラメータがSequentialの場合のみ使用可能です。

Cue Pulse / cuepulse

押すとキューポイントにジャンプし、そこからアニメーションが続きます。

Cue Point / cuepoint

アニメーション内の任意のインデックスをジャンプ先のポイントとして設定します。

Cue Point Unit / cuepointunit

Cue Point パラメータの単位を設定します。これを変更すると、前の単位が選択された単位に変換されます。

  • Frames / frames
  • Seconds / seconds
  • Fraction / fraction
  • Index / indices
Play / play

ON に設定するとアニメーションを再生します。このパラメータは、Play ModeパラメータがSequential Modeに設定されている場合にのみ使用可能/有効になります。

Index / index

このパラメーターは、Play Mode が Specify Index に設定されている場合、アニメーションの位置を明示的に設定します。 右側の単位メニューでは、次の単位でインデックスを指定できます:インデックス、フレーム、秒、および分数(パーセント)。

Index Unit / indexunit

インデックスの単位を指定します。 これを変更すると、前の単位が選択した単位に変換されます。

  • Frames / frames
  • Seconds / seconds
  • Fraction / fraction
  • Index / indices
Speed / speed

これは、Play ModeパラメータがSequentialの場合にのみ機能するスピード倍率です。1はデフォルトの再生速度です。2を指定すると倍速、0.5を指定すると半速などになります。

Trim / trim

Trim Start と Trim End パラメータを有効にするかどうか設定します。

Trim Start / tstart

アニメーションの開始位置からのインポイントを設定し、アニメーションの開始インデックスをトリミングすることができます。右側の単位メニューでは、インデックス、フレーム、秒、分数(パーセンテージ)でこの位置を指定することができます。

Trim Start Unit / tstartunit

Trim Start パラメータの単位を設定します。これを変更すると、前の単位が選択された単位に変換されます。

  • Frames / frames
  • Seconds / seconds
  • Fraction / fraction
  • Index / indices
Trim End / tend

アニメーションの終了点を設定し、エンディングインデックスをトリミングすることができます。右側の単位メニューでは、インデックス、フレーム数、秒数、分数(パーセンテージ)で指定することができます。

Trim End Unit / tendunit

Trim End パラメータの単位を設定します。これを変更すると、前の単位が選択された単位に変換されます。

  • Frames / frames
  • Seconds / seconds
  • Fraction / fraction
  • Index / indices
Extend Left / textendleft

親COMPが、Trim Startの前にあるアニメーション位置をどのように処理するかを決定します。例えば、Trim Startが1に設定されていて、アニメーションのカレントインデックスが-10の場合、Extend Leftメニューでアニメーションの位置がどのように計算されるかを決定します。

  • Hold / hold
  • Cycle / cycle
  • Mirror / mirror
Extend Right / textendright

親COMPが、Trim Endの位置の後にあるアニメーション位置をどのように処理するかを決定します。例えば、Trim Endが20に設定されていて、アニメーションの現在のインデックスが25の場合、Extend Rightメニューでアニメーションの位置がどのように計算されるかを決定します。

  • Hold / hold
  • Cycle / cycle
  • Mirror / mirror

Oculus Rift SOP

概要

Oculus Rift Touchコントローラーのジオメトリをロードします。

パラメータ
Model model –

ロードするコントローラーモデルを選択します。

  • Left Controller / leftcontroller
  • Right Controller / rightcontroller

CPlusPlus SOP

概要

CPlusPlus SOPを使用すると、C ++を使用して独自のプラグインを作成して、カスタムSOPオペレータを作成できます。
注意:CPlusPlus SOPは、TouchDesigner CommercialおよびTouchDesigner Proでのみ使用できます。
このSOPで使用する.dllの作成方法の詳細については、Write a CPlusPlus DLL の章とWikiのC++ カテゴリーを参照してください。
C ++コードは、GPUまたはCPUの読み込み用に記述することができます。 これらの2つのオプションのいずれかでC ++コードの開発の容易さはかなり似ています。 それにもかかわらず、C ++コード内で “directToGPU”フラグをセットすることで、これらのモードの1つを有効モードとして認識します。。 “directToGPU”フラグを “true”または “false”に設定すると、execute()または&executeVBO()のいずれかで呼び出される異なるクラスと関数が必要になることに注意してください 。
CPUモードでは、ジオメトリデータを1つずつ、またはすべて一度に追加できます。 同様に、CPUモードでは、CPlusPlus SOPは有線SOP入力とSOP to DAT、SOP to CHOP、またはSOP出力OPを使用することができます。 さらに、DAT、CHOP、およびTOPの「配線されていない」入力オペレータをカスタムパラメータとして使用できます。 この場合、他のオペレータからの入力を受け入れるには、カスタムパラメータをC ++コードで最初に処理する必要があります。
GPUダイレクトモードはCPUモードに似ていますが、SOP to DATまたはSOP to CHOPのオペレータを使用することはできません。 GPUダイレクトモードでは、すぐにVBOバッファにデータが追加され、高速な更新によってパフォーマンスが向上しますが、バッファを満たす前に頂点と面配列インデックスのサイズを知る必要があります。
WindowsのVisual StudioプロジェクトとしてのCPlusPlus SOPの例は、C:/ Program Files / Derivative / TouchDesigner099 / Samples / CPlusPlus / SimpleShapesSOPまたはカスタムTouchDesignerインストールフォルダで利用できます。 (注:MacOSでは、ここにあります:TouchDesigner.app/Contents/Resources/tfs/Samples/CPlusPlus/SimpleShapesSOP)

カスタムパラメータ – カスタムパラメータは、C ++ SOP .dllによって自動的に作成されます。 このカスタムパラメータページは、SimpleShapes.cppのsetupParameters()関数内から削除、編集、または追加できます。 定義されたカスタムパラメータは、特定のタスクに対して有効かどうかによって有効または無効にすることができます。

ジオメトリデータ – C ++ SOPコード内のジオメトリは、任意のアルゴリズムで定義することも、外部ファイルからインポートすることもできます。 可能なジオメトリは、三角メッシュとパーティクルシステムです。 元のジオメトリに3つ以上の頂点を持つポリゴンがある場合は、リストに追加する前に有効な頂点インデックスを持つ三角形に変換する必要があります。
TouchDesignerにエクスポートするためのジオメトリデータには、ポイント、ノーマル、テクスチャ座標、RGBAカラー、メッシュやパーティクルシステムの場合は三角形情報、任意の名前、浮動小数点型または整数型のカスタム属性、最大 4成分(Cd0、Cd1、Cd2、Cd3)です。

パラメータ – Load ページ
Plugin Path / dll

ロードするプラグインのパス。

Re-init Class / reinit

このパラメータが1を超えると、プラグインによって作成されたクラスのインスタンスが削除され、新しいインスタンスが作成されます。

Re-Init Class / reinitpulse
Unload Plugin / unloaddll

このパラメータが1以上になると、プラグインによって作成されたクラスのインスタンスが削除され、プラグインがアンロードされます。 複数のSOPが同じプラグインをロードしている場合、それらをアンロードしてファイルを解放する必要があります。

Alembic SOP

概要

Alembic SOPは、Alembicのファイルジオメトリシーケンスを読み込みます。
サポートされているAlembicプリミティブは、ポリメッシュ、カーブ、ジオメトリのポイントです。 同様に、Alembicへの変換もサポートします。
Alembicアーカイブには、1つまたは複数のジオメトリに対して1つ以上のオブジェクトパスが含まれる場合があります。 これらのオブジェクトを一度に表示することも、Object Pathパラメータを使用して個別に選択することもできます。
Alembicファイルスキーマの各オブジェクトは、標準属性またはカスタム属性を持つことができます。 標準属性はノーマル(N)、ベロシティ(V)、テクスチャ座標(UV)です。 カスタム属性は、より柔軟な名前とタイプのAlembicスキーマを使用できます。 カスタム属性のタイプは、次のいずれかです。

  • 浮動小数配列
  • 整数配列
  • フロートの2Dベクトルまたは3Dベクトル
  • 16の浮動小数点数を持つ行列

AlembicジオメトリスコープからTouchDesignerアトリビュートタイプへの変換は、以下の表の通りです。

| Alembic                    | TouchDesigner |
| —————–             | ————-            |
| Varying, Vertex       | Point                   |
| Facevarying             | Vertex                |
| Uniform, Constant | Primitive            |

Alembic SOPでは、ジオメトリをCPUまたはGPUに読み込むことができます。 GPUの使用ははるかに高速ですが、いくつかの制限があります。

GPUダイレクトモードでは、ダウンストリームにSOPを追加接続することはできません。
GPUダイレクトモードでは、属性のセットが異なる複数のオブジェクトがある場合、各オブジェクトの欠落している属性にデフォルト値が使用されます。 たとえば、1つのジオメトリが通常のデータを持ち、もう1つがジオメトリを持たない場合、ノーマルアトリビュートがないジオメトリの法線ベクトルのx、y、z要素は、それぞれ0、0、1に設定されます。

パラメータ
Alembic File / file

Alembicファイルへのファイルパス

Object Path / objectpath

ロードするジオメトリオブジェクトを指定します。 各ジオメトリ・オブジェクトは、複数のジオメトリの階層を表すことができます。 オブジェクトのリストから「すべてのオブジェクト」オプションを選択することもできます。 このオプションはデフォルトで選択されています。

Time / time

Alembicサンプルシーケンスのどの部分をロードするか指定します。 time unit メニューは、時間単位を選択された単位に変換します。 使用可能なオプションはFrames Seconds Fractionです。

Time Unit / timeunit
Transform / xform

入力データファイルから変換データを使用できる場合に適用する変換を選択します。

  • None / none
    変換が適用されず、原点に存在します。
  • Static Local Transformation / transform
    静的ローカル変換を適用します。
  • Static World Transformation / transform
    ジオメトリオブジェクトの静的ワールド変換をオブジェクトパスから親変換に適用します。
  • Dynamic Transformation / transform
    alembicファイルに動的またはアニメーションジオメトリが含まれている場合、変換は選択されたジオメトリに適用されます。 このオプションは、指定されたジオメトリに対してローカルおよびワールド変換を実行します。
Interpolation / interp

alembicファイル内のサンプル/キーフレーム間を補間します。 このパラメーターは、選択されたジオメトリが動的と定義され、変換情報が入力されたalembicファイルから使用可能な場合にのみ機能します。

  • None / none
    各サンプル間で補間は行いません。
  • Smooth Interpolation / interpT
    各2つのサンプル間を滑らかな補間で計算します。
Straight to GPU / straightgpu

ジオメトリをGPUに直接ロードします。 このオプションは、CPUへのデフォルトのロードよりもはるかに高速ですが、ジオメトリ出力を他のSOPに使用したり、SOP to CHOPまたはSOP to DATでジオメトリデータにアクセスすることはできません。 Alembicファイルには、TouchDesignerのSOP経由で追加することができないので、ファイルにベイクされた法線とUVがあることをお勧めします。

Compute Normal / compnml

入力したジオメトリオブジェクトの法線ベクトルを計算します。

Unload / loadfile

アンロードを「オン」に切り替えると、ファイルをアンロードして閉じます。 これを「オフ」に設定すると、ファイルが再度ロードされます。 ファイルがアンロードされると、他のアプリケーションによって上書きされるか、または削除されます。

OpenVR SOP

概要

OpenVR SOPは、インストールされたデバイスのOpenVRドライバが対応するモデルを読み込みます。デバイスはコントローラ、ヘッドセット、その他の周辺機器になります。ドライバが返す挙動は完全に製造元のものであり、ドライバのバージョンで変更される事があります。
参照:OpenVR、OpenVR TOP、OpenVR CHOP

パラメータ
Model model –

出力するモデルを選択します。 OpenVRドライバーが提供するモデルがリストアップされますされます。

Kinect SOP

概要

Kinect SOPは、Kinectセンサーを使用してジオメトリをスキャンして作成します。

パラメータ
Hardware Version / hwversion

現時点ではKinect v1センサーのみがサポートされています。

  • Version 1 / version1
Sensor / sensor

Kinect 1デバイス専用です。 フルスケルトンと着席スケルトンのどちらを追跡するかを設定します。

Skeleton / skeleton

Kinect 1デバイスでのみ使用されます。 フル・スケルトンを追跡するか、着席状態のスケルトンを追跡するかを指定します。

  • Full / full
  • Seated / seated
Near Depth Mode / neardepthmode

Kinect 1デバイス専用です。 カメラが(デフォルトの80cmの代わりに)カメラから40cm近いところにあるオブジェクトを見ることができるニアモードを有効にします。

Compute Normals / normals

ジオメトリに法線を作成します。

Script SOP

概要

Script SOPはScript SOPがクックされる毎に、スクリプトを実行します。デフォルトで、Script SOPは、cook、onPulseとsetupParameters、3つのPythonメソッドを収めたドックに入ったDATを作成します。Script SOPがクックされる毎に、クック・メソッドが実行されます。setupParametersメソッドはScriptページのSetup Parameterボタンが押された時に実行されます。onPulseメソッドはカスタム・パルス・パラメータがONになった時に実行されます。
Help -> Python ExamplesとHelp -> Operator Snippetsを参照してください。
注釈:Script OPが実行するタイムごとに、オペレーター、パラメータ、ノードその他のリストを作成します。そして、それらが更新されると、Script OPは再Cookされます。
参照:Script CHOP、Script

パラメータ – Script ページ
Callbacks DAT / callbacks

コールバックを保持するDATを指定します。 使用法については、scriptSOP_Classを参照してください。

Setup Parameters / setuppars

ボタンをクリックすると、setupParameters()コールバック関数が実行されます。

Default Functions

これらの関数は、ドッキングされたノードscript1_callbacksにあるデフォルトスクリプトに含まれています。

# me is this DAT.
# scriptOP is the OP which is cooking.

# press ‘Setup Parameters’ in the OP to call this function to re-create the parameters.
def setupParameters(scriptOP):
scriptOP.appendParFloat(‘ValueA’, page=’Custom’)
scriptOP.appendParFloat(‘ValueB’, page=’Custom’)
return

#called whenever custom pulse parameter is pushed
def onPulse(par):
return

def cook(scriptOP):
scriptOP.clear()
return

File In SOP

概要

File In SOPはModel Editorで作成してSOPから出力した、あるいは、Houdiniのような他のソフトウェアで作成したジオメトリ・ファイルを読み込みます。ジオメトリ・ファイルはディスクの他に、ウェブから読み込む事も可能です。http: // 〜でファイルを参照します。

パラメータ
Geometry File / file

読み込むジオメトリファイルの絶対パス名を設定します。
読み込めるジオメトリフォーマット:

  • TouchDesigner : .tog
  • Houdini : .classic, .bhclassic
Flip Primitive Faces / flipfacing

ジオメトリのプリミティブ面を反転させます。

Compute Normals if None Exist / normals

ジオメトリに法線がない場合は法線を作成します。

Refresh / refresh

ファイルを再読み込みします。

Refresh Pulse / refreshpulse

リフレッシュパルスを送ります。