TouchDesigner」タグアーカイブ

Phong MAT

概要

Phong MATは、Phong Shadingモデルを使用してマテリアルを作成します。テクスチャ、反射、バンプ、コーン・ライト、リム・ライト、アルファ・マップなどをサポートしています。そのGLSLシェーディングを2つのDATに出力し、Output Shaderパラメータを使って、GLSL MATでさらに適応させることができます。
Phong Shadingは、3種類の反射光をモデル化します。

– Ambient
Ambient(環境光)とは、特定の方向からの光ではなく、表面全体で一定の光であると考えられます。物理的な世界では、環境中の表面で光が反射することで環境光が発生します。

– Diffuse
Diffuse(ディフューズ)は、マットな表面で反射する光をモデル化したものです。この光はすべての方向に均等に反射されるため、観察者の位置が知覚される照度に影響を与えません。

– Specular –
Specular(スペキュラ)は、光沢のある表面で反射する光をモデル化したものです。この光は主に反射光線の方向に反射され、物体のshiny-nessによって減衰されます。表面からの反射光は主に反射光線の方向にあるので、観察者の位置によって、表面のスペキュラハイライトが決まります。

注:私たちが物の色を見ているのは、素材が反射する光の色によるものです。

Phongシェーディングは、物理的に正確ではないものの、非常に美しいスペキュラハイライトを生成します。各頂点でライティングを計算し、ポリゴン全体でその値を補間するグローシェーディングモデルとは対照的に、Phongは各ピクセルでライティングを計算します。
それぞれのパーツがどのようにして組み合わされるのかは、Phong Lighting Equationの章を参照してください。

パラメータ – RGB ページ
Ambient uses Diffuse / ambdiff

チェックすると、DiffuseパラメータをAmbientに使用します。

Diffuse / diff

素材から反射する拡散光の色を設定します。

  • Red / diffr
  • Green / diffg
  • Blue / diffb
Ambient / amb

素材から反射する環境光の色を設定します。

  • Red / ambr
  • Green / ambg
  • Blue / ambb
Specular / spec

素材から反射される鏡面反射光の色を設定します。光沢のある物体のハイライトの色を変えることができる。

  • Red / specr
  • Green / specg
  • Blue / specb
Emit / emit

光がない状態でも素材が発光する色を設定します。

  • Red / emitr
  • Green / emitg
  • Blue / emitb
Constant / constant

最終色に追加します。ポイントカラーがある場合、finalcolor += Point Color * Constant Colorとなります。これは、1 1 1 の環境照明があるように動作します。テクスチャや透明度の影響は受けません。

  • Red / constantr
  • Green / constantg
  • Blue / constantb
Shininess / shininess

オブジェクトのスペキュラハイライト(光沢感)をコントロールします。設定を高くすると、プラスチックや光沢のある金属のように、より光沢のある仕上がりになります。低い設定では、よりマットな仕上がりになります。

Color Map / colormap

すべてのライティング計算の結果を乗算するTOPテクスチャーを設定します。このマップのアルファは、オブジェクトのアルファを計算する際の一部として使用されます。マップフィールドの右側にある矢印をクリックすると、カラーマップのTexture Sampling パラメータが表示されます。以下の他のMapパラメータも同様に、それぞれのTexture Sampling パラメータを持ちます。
共通 Texture Sampling パラメータの章を参照してください。

Normal Map (Bump) / normalmap

TOPからのノーマルマップを使用して、凹凸効果を作り出します。バンプマップは、サーフェスのバンプやシワをシミュレートして、3Dの凹凸効果を与えるものです。この機能を使用するには、ジオメトリにタンジェント アトリビュートが作成されている必要があります(T[4])。これは Attribute Create SOP を使用して作成します。
共通 Texture Sampling パラメータの章を参照してください。

Bump Scale / bumpscale

Normal Mapパラメータで作成された「バンプ効果」の倍率を設定します。

Enable Height Map / heightmapenable

ハイトマップを有効にします。

Height Map / heightmap

ハイトテクスチャマップを設定します。ハイトマップはノーマル マップと併用してパララックスマッピングを行います。
共通 Texture Sampling パラメータの章を参照してください。

Parallax Scale / parallaxscale

ハイトマップに適用されるスケール値。効果を大きくしたり、誇張したりするのに使用できます。

Parallax Occlusion / parallaxocclusion

視差オクルージョンを有効にします。これは、ハイトマップで使用される視差マッピング技術の強化です。視差オクルージョンは、視差マッピングのテクスチャオフセットの品質を向上させ、ハイトマップの高い部分が低い部分を遮っているように見えるため、高さの錯覚が起こりやすくなります。

Displace Vertices / displaceverts

上記の Enable Height Map が On の場合、Displace Vertices を On に設定すると、Height Map テクスチャと以下のパラメータに基づいてジオメトリの頂点が変位する、真のディスプレイスメントマッピングが有効になります。

Displace Scale / displacescale

置換量の倍率を設定します。

Displace Midpoint / displacemid

ディスプレイスメントマップの中間点を、ディスプレイスメントエフェクトの開始位置として設定します。

Diffuse Map / diffusemap

Diffuse カラーパラメータに乗算されるTOPテクスチャを設定します。オブジェクトはテクスチャUVを持っている必要があります。このマップのアルファは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Specular Map / specmap

マテリアルのSpecularカラーパラメータに乗算されるTOPテクスチャを設定します。オブジェクトはテクスチャUVを持っている必要があります。このマップのアルファは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Emit Map / emitmap

マテリアルのEmitカラーパラメータと乗算されるTOPテクスチャを設定します。オブジェクトはテクスチャUVを持っている必要があります。このマップのアルファは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Environment Map / envmap

TOPテクスチャーを使用して、マテリアルの環境マップを定義します。環境マッピングは、オブジェクトが周囲の環境を反射するのをシミュレートします。このパラメータで設定されたTOPは、反射されるテクスチャです。環境マップは、通常の照明に追加されるので、オブジェクトを純粋に反射させるには、DiffuseとSpecularパラメータを0にしてください。球体マップの例はこちらをご覧ください。この入力は、Cube Map TOPまたはRender TOPのRender Cube Mapパラメータで作成されたキューブマップも受け付けます。
共通 Texture Sampling パラメータの章を参照してください。

Environment Map Color / envmapcolor

この色に上記のEnvironment Mapパラメータで設定したテクスチャが乗算されます。

  • Red / envmapcolorr
  • Green / envmapcolorg
  • Blue / envmapcolorb
Environment Map Rotate / envmaprotate

上記のEnvironment Mapパラメータで設定したテクスチャを回転させます。

  • X / envmaprotatex
  • Y / envmaprotatey
  • Z / envmaprotatez
Environment Map 2D Type / envmaptype2d

環境マップのタイプとして、SphereマップかEquirectangularマップかを選択します。

  • Sphere Map / spheremap
  • Equirectangular / equirect
Polygon Front Faces / frontfacelit

ポリゴンの法線を使って、ポリゴンの表面をどのようにライティングするか設定します。詳しくは、Tow-Sided Lightingの章を参照してください。

  • Use Per-Light(s) Parameter / uselight
  • Front Lit / frontlit
  • Back Lit / backlit
Polygon Back Faces / backfacelit

ポリゴンの法線を使って、ポリゴンの裏面をどのようにライティングするか設定します。詳しくは、Tow-Sided Lightingの章を参照してください。

  • Use Per-Light(s) Parameter / uselight
  • Front Lit / frontlit
  • Back Lit / backlit
Output Shader… / outputshader

このボタンをクリックすると、ダイアログが表示され、Phong MATが現在作成しているエフェクトにマッチするシェーダーコードを含むGLSL MATとText DATが作成されます。シェーダはライトの数や種類に依存するため、現在のシステムで使用されているライティング構成に基づいて、いくつかの異なるシェーダの選択肢が表示されます。ダイアログにシェーダーが表示されない場合は、TouchDesignerの現在のセッションでシェーダーがレンダリングされていないことを意味します。Phong MATのビューアをオンにするか、Render TOPでレンダリングをセットアップします。そうすると、いくつかのシェーダーが作成/コンパイルされ、リストが入力されます。例えば、シャドウマッピングを行うシェーダーを見たい場合は、シャドウマッピングを行うレンダリングをセットアップすると、リストに表示されます。

パラメータ – Alpha ページ

注意:オブジェクトにアルファを適用しただけでは、透明にはなりません。詳しくはTranceparencyの項目を参照してください。

Alpha Map / alphamap

このマップは、オブジェクトのアルファを乗算します。マップのrチャンネルを使用し、他のチャンネルは無視されます。
共通 Texture Sampling パラメータの章を参照してください。

Uniform Alpha / alphamode

これをオフにすると、各ポリゴンの法線のカメラに対する向きに応じて、アルファ値が変化します。カメラに向かっている法線は、ポリゴンのアルファ値が Alpha Front になります。カメラに対して垂直な方向(横や上下を向いている)の法線は、アルファ値が Alpha Side になります。

Alpha Front / alphafront

マテリアルの不透明度を指定します。このパラメータには、オブジェクトのポイントアルファが掛けられます(他のアルファソースも同様)。

Alpha Side / alphaside

これは、不均一なアルファに使用されます。 カメラの反対側を向いているポリゴンが取得するアルファ値です。

Alpha Rolloff / rolloff

Alpha Front から Alpha Side へのアルファの変化をコントロールします。

Post-Mult Color by Alpha / postmultalpha

すべての計算の最後に、カラー(RGB)に計算されたアルファが乗算されます。このトグルをオフにすることで、この現象を防ぐことができます。

Mult Alpha by Light Luminance / alphamultlight

これを有効にすると、ライティングの輝度にアルファ値を乗じて減少/増加させることができます。

パラメータ – Multi-Texturing ページ

PhongマテリアルのMulti-texturingページでは、最大4つのテクスチャマップを持ち、各マップに8つのテクスチャ座標を選択することができます。デフォルトでは、テクスチャマップは互いに乗算されますが、カスタムGLSLコードを使用するためのフィールドがあります。その仕組みは以下の通りです。
4つのテクスチャマップは、パラメータの中でそれぞれt0、t1、t2、t3と呼ばれています。つまり、4つのテクスチャマップがすべて使用されている場合のデフォルトの式は、「t0 * t1 * t2 * t3」となります。t0 * t1 * t2 * t3 定数やその他の演算子も使用できるので、例えばt0 + (t1 * 0.5) は有効です。存在しないマップを参照している場合、シェーダは正しくコンパイルされません(例:t3が設定されていない場合やTOPが存在しない場合にt3を使用する)。
また、.r .g .b と .a を使って、テクスチャの特定のコンポーネントを参照することもできます。たとえば、t1 の上に t0 を実行したい場合、表現は次のようになります。

t0 + (t1 * (1.0 – t0.a))

式からの出力はvec4でなければならないので、例えば次のようになります。

t0.rgb + t1.rgb // Error
vec4(t0.rgb + t1.rgb, 1.0) // Works

これらのマップの結果のアルファが使用されます。

Multi-Texturing (Disables Color Map) / multitexturing

マルチテクスチャーを有効にします。Color Mapパラメーターを無効にします。

Texture 1 / texture1

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

Texture 2 / texture2

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

Texture 3 / texture3

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

Texture 4 / texture4

マルチテクスチャには、最大4つのテクスチャを設定できます。
共通 Texture Sampling パラメータの章を参照してください。

GLSL Expression / multitexexpr

テクスチャイメージを合成するGLSLコード(詳細はこのセクションの冒頭を参照してください)。このパラメータは空白にすることもできます(つまり、マップは単に掛け合わされるだけです)。

パラメータ – Rim ページ

他のリムライトもパラメータは同じで、内部のパラメータ名が1ではなく違う数字になっているだけです。

Enable Rim Light 1 / rim1enable

このリムライトを有効にします。

Rim Color Map / rim1map

このマップでは、計算されたリムライトの色が複数になります。
共通 Texture Sampling パラメータの章を参照してください。

Rim Color / rim1color

リムライトの色を設定します。

  • Red / rim1colorr
  • Green / rim1colorg
  • Blue / rim1colorb
Rim Center / rim1center

360度の円上のどこかに位置する、リムライトの中心となる場所を設定します。

Rim Width / rim1width

リムライトがセンターからどれだけ離れているか設定します。

Rim Strength / rim1strength

リムライトの明るさを調整します。

Rim Strength Ramp / rim1strengthramp

水平方向のランプを設定して(v = 0.5でテクスチャをサンプリングします)、リムライトの強さをコントロールすることができます。

パラメータ – Advanced ページ
Shadow Strength / shadowstrength

このパラメータは、影の中にいることでライティングの色がどの程度変化するかを制御します。1の場合、オブジェクトは影の色のパラメータを受け継ぎ、0の場合は影があっても影がないかのように振る舞います。

Shadow Color / shadowcolor

影の部分に使用する色を設定します。

  • Red / shadowcolorr
  • Green / shadowcolorg
  • Blue / shadowcolorb
Darkness Emit / darknessemit

Phong MATは、ライト、リムライト、エミッションなどを考慮した上で、オブジェクトの現在の色の明るさを計算します。そして、この明るさ(0~1の間)を使用して、ダークネス・エミット・カラーをフェードインします。エリアが暗いほど、ダークネス・エミット・カラーが多く適用されます。

Darkness Emit Color / darknessemitcolor

暗くなっている部分に使用する色を設定します。

  • Red / darknessemitcolorr
  • Green / darknessemitcolorg
  • Blue / darknessemitcolorb
Darkness Emit Map / darknessemitmap

このマップは、Darkness Emit Colorを乗算します。このマップのアルファは 使用されません。
共通 Texture Sampling パラメータの章を参照してください。

Secondary Specular / spec2

ニ次的なスペキュラハイライトカラーを追加します。

  • Red / spec2r
  • Green / spec2g
  • Blue / spec2b
Secondary Shininess / shininess2

オブジェクトの二次的なスペキュラハイライト(光沢)をコントロールします。設定を高くすると、プラスチックや光沢のある金属のように、より光沢のある仕上がりになります。低い設定では、よりマットな仕上がりになります。

Write Camera Space Depth to Alpha / writecameradepthtoalpha

これにより、ピクセルのカメラス ペース デプスが、出力TOPのアルファチャンネルに書き込まれます。この値は、ポストプロセス効果に役立ちますが、もちろん、これをオンにした場合、すべてのアルファ計算の結果は得られません(ただし、Post-Mult Color by Alphaが有効になっている場合、出力色を乗算するために使用されます)。

Apply Point Color / applypointcolor

通常はSOPから送られてくるカラーアトリビュート(Cd[4])を照明計算に使用しますが、このパラメータのチェックを外すことでカラーアトリビュートの使用をオフにすることができます。

Instance Texture / instancetexture

Geometry COMPでインスタンスごとのテクスチャを設定する場合、このパラメータはインスタンスのテクスチャがどのマップとして適用されるかを設定します。

  • Color Map / colormap
  • Normal Map / normalmap
  • Diffuse Map / diffusemap
  • Specular Map / specmap
  • Emit Map / emitmap
  • Alpha Map / alphamap
  • Darkness Emit Map / darknessemitmap
  • Rim 1 Color Map / rim1map
Color Buffer 1 RGB / colorbuffer1rgb

法線やディフューズカラーなどを、1パスで異なるRender TOPのカラーバッファに送ることができます。

  • Zero / zero
  • One / one
  • World Space Position / worldspaceposition
  • World Space Normal / worldspacenormal
  • Camera Space Position / cameraspaceposition
  • Camera Space Normal / cameraspacenormal
  • Point Color / pointcolor
  • Texture Coord 0 / texturecoord0
  • Diffuse Map / diffusemap
  • Normal Map / normalmap
  • Spec Map / specmap
  • Emit Map / emitmap
  • Emit Color / emitcolor
  • Diffuse Color / diffcolor
  • Diffuse Lighting / difflighting
  • Final Diffuse Color / finaldiffcolor
  • Specular Color / speccolor
  • Specular 2 Color / spec2color
  • Specular Lighting / speclighting
  • Specular 2 Lighting / spec2lighting
  • Final Specular Color / finalspeccolor
  • Shadow Strength / shadowstrength
  • Normalized Shadow Strength / normalizedshadowstrength
パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

GLSL MAT

概要

GLSL MATを使うと、TouchDesignerにカスタムマテリアルを書き込んだり、インポートしたりすることができます。GLSLシェーダーにコンパイルエラーがあると、青/赤のチェッカーボードエラーシェーダーが表示されます。
シェーダーの書き方については、Write a GLSL Material、GLSL Categoryの章を参照してください。

パラメータ – Load ページ
GLSL Version / glslversion

シェーダーをコンパイルするGLSLのバージョンを設定します。

  • 1.20 / glsl120
  • 3.30 / glsl330
  • 4.00 / glsl400
  • 4.10 / glsl410
  • 4.20 / glsl420
  • 4.30 / glsl430
  • 4.40 / glsl440
  • 4.50 / glsl450
  • 4.60 / glsl460
Preprocess Directives / predat

このDATを使って、#extensionのようなプリプロセッサ・ディレクティブをシェーダーの最初に配置します。これはシェーダーの最初の行である必要があり、TouchDesignerはシェーダーの最初にユニフォームや関数を宣言するコードを追加します。

Vertex Shader / vdat

バーテックス・シェーダー・コードを格納するDATへのパスを設定します。

Pixel Shader / pdat

ピクセルシェーダのコードを格納するDATへのパスを設定します。

Load Uniform Names / loaduniformnames

これは、コンパイルされたGLSLシェーダで宣言された(そして使用された)すべてのユニフォームを読み込み、ユニフォームパラメータのさまざまなネームフィールドを埋めます。

Clear Uniform Names / clearuniformnames

ユニフォーム・パラメーターのネーム・フィールドがすべて消去されます。

Geometry Shader / gdat

ジオメトリシェーダのコードを格納するDATへのパスを設定します。

Input Primitive Type / inprim

ジオメトリシェーダに入力されるジオメトリの種類を設定します。

  • Points / points
  • Lines / lines
  • Triangles / triangles
Output Primitive Type / outprim

ジオメトリシェーダが出力するジオメトリの種類を設定します。

  • Points / points
  • Line Strip / linestrip
  • Triangle Strip / tristrip
Num Output Vertices / numout

Geometry Shaderが出力する最大の頂点数を設定します。

Two Sided Coloring / twocolor

両面カラーリングのサポートを有効にします。この機能を有効にすると、VertexシェーダやGeometryシェーダがgl_FrontColor、gl_BackColor、gl_FrontSecondaryColor、gl_BackSecondaryColorに書き込むことができ、Pixelシェーダのgl_Colorとgl_SecondaryColorには、プリミティブの表側と裏側のどちらがカメラに向いているかに応じて、正しい色が配置されます。これを無効にすると、gl_FrontColorとgl_FrontSecondaryColorに入れられた値は、プリミティブのどちらの面がカメラに向いているかにかかわらず、gl_Colorとgl_SecondaryColorに渡されます。

Inherit Uniforms/Samplers from / inherit

このマテリアルは、このパラメータで参照されているGLSLマテリアルのすべてのテクスチャとユニフォームを継承します。

Lighting Space / lightingspace

ライティングスペースを、現在のデフォルトのワールドスペースから、TouchDesigner 088で使用されていたレガシーカメラスペースに切り替えることができます。

  • World Space / worldspace
  • Camera Space (Legacy 088 shaders) / cameraspace
パラメータ – Samplers ページ
Sampler Name 0 / sampler0

これは、GLSLプログラムがこのTOPからのサンプリングに使用するサンプラー名です。サンプラーは、TOPと同じ次元で宣言する必要があります(2D TOPの場合はsampler2D、3D TOPの場合はsampler3D)。

TOP / top0

上記のサンプラー名で参照されるTOPです。
共通 Texture Sampling パラメータの章を参照してください。

Extend U / top0extendu
  • Hold / hold
  • Zero / zero
  • Repeat / repeat
  • Mirror / mirror
Extend V / top0extendv
  • Hold / hold
  • Zero / zero
  • Repeat / repeat
  • Mirror / mirror
Extend W / top0extendw
  • Hold / hold
  • Zero / zero
  • Repeat / repeat
  • Mirror / mirror
Filter / top0filter
  • Nearest / nearest
  • Linear / linear
  • Mipmap Linear / mipmaplinear
Anisotropic Filter / top0anisotropy
  • Off / off
  • 2x / 2x
  • 4x / 4x
  • 8x / 8x
  • 16x / 16x
パラメータ – Vectors ページ
Uniform Name 0 / uniname0

ユニフォームの名前を設定します。

Value / value0

ユニフォームに割り当てる値です。ユニフォームが float の場合は、4つのエントリーのうち最初のエントリーが使用され、ユニフォームが vec2 の場合は、最初の2つのエントリーが使用されるといった具合です。

  • Value / value0x
  • Value / value0y
  • Value / value0z
  • Value / value0w
パラメータ – Arrays ページ

CHOP Uniformsでは、CHOPチャンネルデータを配列としてGLSLシェーダに送ることができます。使用する配列タイプによっては、シェーダーに送信できる値の数が制限されることがあります。ユニフォーム配列を使用している場合は、組み込み変数$SYS_GFX_GLSL_MAX_UNIFORMSを使って、シェーダーに渡せる値の数を知ることができます。現在のGPUはvec4ベースのユニフォーム配列であるため、最大の配列サイズは$SYS_GFX_GLSL_MAX_UNIFORMS / 4となります。SYS_GFX_MAX_TEXTURE_BUFFER_SIZEは、この最大値を教えてくれます。テクスチャバッファの最大値は、テクスチャバッファごとのものであり、複数のテクスチャバッファを持っていても、各配列の最大値からは外れません。

Uniform Name 0 / chopuniname0

ユニフォーム名を設定します。

Type / chopunitype0

ユニフォームの種類です。1つのユニフォームで最大4つのチャンネルをGLSLシェーダに送ることができます。1チャンネルのCHOPではユニフォームをfloatと宣言し、2チャンネルのCHOPではユニフォームをvec2などと宣言します。データはユニフォームの中でインターリーブされます。例えば、.x成分は1つ目のチャンネル、.yは2つ目のチャンネル、といった具合です。

  • float / float
  • vec2 / vec2
  • vec3 / vec3
  • vec4 / vec4
CHOP / chop0

GLSLシェーダに送信されるチャンネルのCHOPを設定します。

Array Type / choparraytype0

GPUでは、ユニフォームアレイやテクスチャバッファを使って、配列データをGLSLシェーダに送ることができます。ユニフォーム配列は、データの保存に非常に限られたメモリを使用し、他の通常のユニフォーム値と同様にアクセスできます(ただし、配列内での話です)。テクスチャバッファは、テクスチャメモリとテクスチャフェッチを使ってデータにアクセスし、より多くの値を保存できます。
いずれの場合も、インデックスは、値を取得したい配列/バッファの0ベースのインデックス(整数)です。

  • Uniform Array / uniformarray
    ユニフォーム配列は、次のように宣言して使用します。

    // Array type is vec3, and it takes up to 20 values from the CHOP
    uniform vec3 arrayName[20];
    // Grab the value at index 10
    vec3 aValue = arrayName[10];

  • Texture Buffer / texturebuffer
    テクスチャバッファは以下のように宣言され、使用されます。

    // A texture buffer will also be a vec4, but only the first 1, 2, 3 or 4 component will contain data, depending on the type you choose.
    uniform samplerBuffer arrayName;
    // sampler the value at index 10. It be default returns a vec4, so change it to a vec3 in thisexample using .xyz
    vec3 aValue = texelFetch(arrayName, 10).xyz;

Channel Scope / chanscope0

CHOPからどのチャンネルを使用してアレイを埋めるかを選択できます。スコープされた最初の4チャンネルまでが使用されます(ユニフォームアレイのタイプによって異なります)。

  • * / *
パラメータ – Matrices ページ

Relative Xformsは、ポイントやベクトルをある空間から別の空間に変換する行列です。

Uniform Name 0 / matuniname0

ユニフォーム名を設定します。ユニフォームはmat4として宣言する必要があります。

Matrix 0 / matvalue0

マトリックスに割り当てる値です。有効な指定方法については、Matrix Parameters の章を参照してください。

Uniform Name 0 / unimatrixname0

ユニフォーム名を設定します。ユニフォームはmat4として宣言する必要があります。

Xform from / fromcomp0

Transform from this COMPs world transform.
設定したCOMPsのワールドトランスフォームから変換します。

To / tocomp0

設定したCOMPsのワールドトランスフォームへ変換します。

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

Depth MAT

概要

Depth MATは、Zで見えないバリアを作ることで、オブジェクトが描画されないようにすることができます。

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

Constant MAT

概要

Constant MATはマテリアルに単色をレンダリングします。

パラメータ – Constant ページ
Apply Projection Maps / applyprojmaps

Light COMPのプロジェクションマップのテクスチャカラーは、オブジェクトにも適用されます。これにより、プロジェクションマップの色にライティングの影響を与えることなく、プロジェクションマップを適用することができます。

Color / color

素材から反射する光の色を設定します。

  • Red / colorr
  • Green / colorg
  • Blue / colorb
Alpha / alpha

マテリアルの不透明度を設定します。このパラメータには、オブジェクトのポイントアルファが掛けられます。

Post-Mult Color by Alpha / postmultalpha

他のすべての処理が行われた後に色にアルファを乗算します。

Color Map / colormap

カラーマップとして使用するTOPテクスチャーを設定します。
参照:共通 Texture Sampling パラメータ

パラメータ – Deform ページ

参照:共通 Deform ページ

パラメータ – Common ページ

参照:共通 Common ページ

XML DAT

概要

XML DATは、任意のXMLやSGML/HTML形式のデータを解析することができます。フォーマットされたテキストは、選択された部分が出力され、さらに処理を行うことができます。
XML DATを使った解析の一つの方法は、Text DATやWeb DATでXMLを読み込んで、それをデフォルトのXML DATに渡すことです。そして、 match-allパターン(「*」)を、 出力される要素を減らすための文字列に変更することで、 選択範囲を狭めていきます。

XML と HTML バックグラウンド

XMLやHTMLのデータは、要素で構成されたツリー状の構造をしています。各要素には、タグを付けることも、任意のテキストを含めることもできます。要素は入れ子にすることもできます。タグ付けされた要素は、開始セクションで始まり、通常は終了セクションで終了します。


<greeting a=”1″ b=”2″ c=”3″> Hello there. </greeting>

上の例では、2つの要素があります。1つ目はgreetingという名前のタグ要素で、属性はa、b、cです。2つ目の要素は、”Hello there. “というテキスト要素です。

XML DAT オペレーション

XML DATは、まず入力を解析して、要素の内部ツリーを作成します。
次に、Element Scopeパラメータを使用して、不要な要素を除外します。残った要素を使って出力を作成します。出力の形式はFormatパラメータで設定されます。Outputパラメータを使用して、スコープされた各要素に表示される情報をさらに制限することができます。
解析された各要素には、いくつかの詳細情報が含まれています。

Label

各要素には、n0、n1、n2などと名付けられた任意のラベルが付けられています。すべての要素は
rooot と書かれた予約済みの要素の子供たちです。

Type

要素は主に tag または text のタイプですが、タグのタイプはさらにdoctype、declaration、comment、entityに分類できます。

Text

エレメントのテキストとは、エレメントのtag属性や、任意のテキストコンテンツのことを指します。上記の例では、最初の要素は tag 型で、greeting というテキストを含みます。2番目の要素は text タイプで、 Hello there のテキストを含みます。

Level

これはエレメントがどれだけ深く入れ子になっているかを表します。例えば、単一のルート要素のレベルは常に0です。

Parent

各エレメントは1つの親を持ちます。ルートのエレメントは親を持ちません。

Children

各エレメントは、任意の数の子エレメントを持つことができます。

Attributes

タグ付けされた各エレメントは,任意の数の属性を持つことができます。各属性は、名前と値で構成されます。上記の例では、greetingタグに3つの属性(名前はa、b、c、値はそれぞれ1、2、3)が含まれます。

パラメータ – Common ページ

参照:共通 Common ページ

Transpose DAT

概要

Transpose DATは、行を列に変換します。行の数が列の数になり、その逆も同様です。

パラメータ – Transpose ページ
パラメータ – Common ページ

参照:共通 Common ページ

TCP/IP DAT

概要

TCP/IP DATは、遠隔地にある2台のコンピュータ間のTCP/IP接続で情報を送受信するために使用されます。キューイングやバッファリングなしですべてのメッセージをキャプチャし、任意のメッセージを送信することができます。
tcpipDAT_Classを使用してメッセージを送信します。TCP/IP DAT にアタッチされたコールバック DAT を使用して、受信したメッセージを処理します。Network Protocolsの章を参照してください。
この DAT は、例えば Pipe Out CHOP から送信される生の情報をすべて受信するために使用できます。Pipe In CHOP とPipe Out CHOP は、特定の構文を使用していますが、TCP/IP 接続を介して通信しています。
UDP In DAT、UDP Out DAT の章も参照してください。
Tscript については Tscript の send コマンドの章を参照してください。

Windows OS の注意事項 – 接続に問題がある場合は、Windows ファイアウォールが無効になっていることを確認してください。

パラメータ – Connect ページ
Connection Mode / mode

オペレーターがクライアントとして通信するか、サーバーとして通信するか設定します。

  • This Operator is Client / client
  • This Operator is Server / server
Network Address / address

クライアントとして通信している場合、これはサーバーのIPアドレスを設定します。

Port / port

サーバーであるかクライアントであるかに応じて、リッスンまたは接続するネットワークポートを設定します。

Shared Connection / shared

同じネットワークプロトコルを使用する他のネットワークDATと同じ接続を共有します。

Row/Callback Format / format

着信データをテーブルに解析する方法を設定します。

  • One Per Byte / perbyte
    1バイト受信するごとに1行がテーブルに追加されます。
  • One Per Line / perline
    受信した行ごとに、テーブルに行が追加されます。1行の終わりは、\n, \r 或いはNULL文字(\0)で区切られます。
    注意:このフォーマットでは、これらの文字のいずれかを受信するまで、メッセージは記録されません。
  • One For All Received Data / all
    メッセージを受信するごとに、テーブルに1行追加されます。TCP/IPはストリームベースのプロトコルなので、「メッセージ」の終わり方は任意です。単に、ソケットからの最後の読み取り操作の内容を表しています。カスタムメッセージフォーマットを読み取る場合、Pythonでソケットからの複数の読み込みから完全なメッセージを構築する必要があります。
Active / active

接続を有効にします。

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

Callbacks DATがメッセージを受信するごとに1回実行されます。

Execute from / executeloc

スクリプトが実行される場所を設定します。

  • Current Node / current
    スクリプトは現在のノードの位置から実行されます。
  • Callbacks DAT / callbacks
    スクリプトは、Callbacks DATパラメータで指定されたDATの場所から実行されます。
  • Specified Operator / op
    スクリプトは、以下のFrom Operatorパラメータで指定したオペレータから実行されます。
From Operator / fromop

ExecuteがSpecifiedOperatorに設定されている場合、状態が変化するとDATがスクリプトを実行するようにトリガーするオペレーターを設定します。 このオペレータは、Execute FromパラメーターがSpecified Operatorに設定されている場合にスクリプトが実行されるパスでもあります。

Clamp Output / clamp

DATはデフォルトで100メッセージに制限されていますが、Clamp Outputでは無制限を含む任意の設定が可能です。

Maximum Lines / maxlines

メッセージ数を制限し、古いメッセージはリストから最初に削除されます。

Clear Output / clear

見出し以外の行をすべて削除します。pythonスクリプトでクリアするには`op(“*”opname”*“).par.clear.pulse()`

Bytes Column / bytes

メッセージの生のバイト数を別の列に出力します。

パラメータ – Common ページ

参照:共通 Common ページ

Switch DAT

概要

Switch DATは、Inputパラメータを使用して出力する入力を選択できるマルチ入力オペレータです。

パラメータ – Switch ページ
Index / index

どの入力を出力に渡すかを設定します。最初の入力は 0 です。

パラメータ – Common ページ

参照:共通 Common ページ

Substitute DAT

概要

Substitute DATは、パターンマッチングと置換文字列を使用して、受信DATのセルを変更します。これは、同じ行数と列数のテーブルを出力します。
以下の例を参照してください。また、2番目の入力を使用して、置換する文字列のテーブルを提供することもできます。

パラメータ – Substitute ページ
Before / before

置換する検索語。以下の特殊文字を使用することができます。

  • *
    任意の数の文字に一致します
  • ?
    単一の文字に一致する
  • []
    角かっこ内で定義された任意の文字に一致します

これらの特殊文字と正確に一致させるには、特殊文字の前にバックスラッシュ(\)をつけます。

After / after

置換語です。検索語にマッチしたものをすべて置き換えます。空白は許可されています。

Match / match

一致させる箇所を設定します。

  • Anywhere / anywhere
    文字列の任意の部分に一致させます。
  • Exact / exact
    検索語を正確に一致させます。
  • At Start / start
    検索語を文字列の先頭に一致させます。
  • At End / end
    検索語を文字列の最後に一致させます。
Case Sensitive / case

検索語の大文字小文字の区別する。

Expand the From String / expand

From文字列で変数とバッククォーテーションを展開します。

Expand the To String / expandto

To文字列の変数とバッククォーテーションを展開します。

First Match Only / first

一致する文字列の最初のインスタンスのみを置き換えます。

パラメータ – Scope ページ
Exclude First Row / xfirstrow

Select Rowsの設定で指定されていなくても、最初の行を強制的に無視します。

Exclude First Col / xfirstcol

Select Colsの設定で指定されていなくても、最初の列を強制的に無視します。

Select Rows / extractrows

スコープする行の指定方法を選択します。

  • All / all
    すべての行をスコープします。
  • by Name / byname
    Start Row NameとEnd Row Nameパラメータを使用して行をスコープします。
  • by Index / byindex
    Start Row IndexとEnd Row Indexパラメータを使用して行をスコープします。
  • by Start Name, End Index / bynameindex
    Start Row NameとEnd Row Indexパラメータを使用して行をスコープします。
  • by Start Index, End Name / byindexname
    Start Row IndexとEnd Row Nameパラメータを使用して行をスコープします。
  • by Values / bynames
    行の値を明示的に指定して行をスコープします。
  • by Condition / byexpr
    From Columnパラメータで評価される式で行をスコープします。
Start Row Name / rownamestart

スコープ範囲の開始となる行名を設定します。

Start Row Index / rowindexstart

スコープ範囲の開始となる行のインデックスを設定します。

End Row Name / rownameend

スコープ範囲の終了となる行名を設定します。

End Row Index / rowindexend

スコープ範囲の終了となる行のインデックスを設定します。

Row Select Values / rownames

スコープしたい実際の行名を設定します。パターンマッチを使用することができ、例えば row[1-4] は row1 から row4 までのすべての行名をスコープします。

Row Select Condition / rowexpr

評価される式を指定します。式が真と評価された場合、行が選択されます。
パラメータを展開すると、expressionモードになっていることがわかります。

デフォルトでは、Pythonの式はre.match(‘.*’,me.inputCell.val) != Noneとなっています。’.*’は任意の文字を複数回マッチさせることを意味するので、この式はすべての値にマッチします。親のオペレータ名の後に任意の数値を続けてマッチさせたい場合は、parent().name+'[0-9]*”を使用することで、'[0-9]*’は任意の数値文字列にマッチします。
‘.*’+parent().name+’.*’は、演算子の親名を含むセルにマッチします。Pythonの正規表現モジュールの使い方については、Regular Expression Operationsの章をチェックしてみてください。

From Column / fromcol

値で行を選択する場合、このパラメータは、セル値をSelected Row Valuesの値を参照して、どの行がスコープされているかを決定する際に使用する列を選択します。

Select Cols / extractcols

スコープする列の指定方法を選択します。

  • All / all
    すべての列をスコープします。
  • by Name / byname
    Start Col NameとEnd Col Nameパラメータを使用して列をスコープします。
  • by Index / byindex
    Start Col IndexとEnd Col Indexパラメータを使用して列をスコープします。
  • by Start Name, End Index / bynameindex
    Start Col NameとEnd Col Indexパラメータを使用して列をスコープします。
  • by Start Index, End Name / byindexname
    Start Col IndexとEnd Col Nameパラメータを使用して列をスコープします。
  • by Values / bynames
    列の値を明示的に指定して列をスコープします。
  • by Condition / byexpr
    From Rowパラメータで評価される式で列をスコープします。
Start Col Name / colnamestart

スコープ範囲の開始となる列名を設定します。

Start Col Index / colindexstart

スコープ範囲の開始となる列のインデックスを設定します。

End Col Name / colnameend

スコープ範囲の終了となる列名を設定します。

End Col Index / colindexend

スコープ範囲の終了となる列のインデックスを設定します。

Col Select Values / colnames

スコープしたい実際の列名を指定します。パターンマッチを使用することができます。例えば colvalue[1-4] は colvalue1 から colvalue4 までのすべての列をスコープします。

Col Select Condition / colexpr

評価される式を指定します。式が真と評価された場合、列はスコープされます。詳細はRow Select Condition の項目を参照してください。

From Row / fromrow

値で列を選択する場合、このパラメータは、セル値をSelected Col Valuesの値を参照して、どの列がスコープされているかを決定する際に使用する列を選択します。

パラメータ – Common ページ

参照:共通 Common ページ