
概要 📖 – 線や点で形を描画する
Line MATは、ジオメトリをライン・ポイント・ベクトルの 3 形態で描画し、カメラ距離に応じた太さや色を制御できる専用マテリアルです。通常の MAT が面 (サーフェス) を描画するのに対し、Line MAT は 線・点・ベクトル という 3 種類のプリミティブを同時に描き分けられる特殊な MAT です。線の太さは カメラからの距離 によって補間モデル (Inverse Distance / Near-Far Range / S Curve) に従って変化し、Near/Far の 2 色を補間したカラーグラデーションも可能です。端点キャップ (Round / Square / Triangle / Arrow) や接合部 (Miter / Bevel / Round) も詳細に制御でき、テクニカルイラスト・データ可視化・デバッグ描画など幅広い用途で活躍します。
主な用途 🎯
- カメラ距離に応じた太さ変化を持つラインレンダリング (Near/Far 補間)
- 各頂点のベクトル属性 (法線・速度等) の可視化を Vector 描画で実現
- ポリゴンエッジの描画に Wire Frame では得られない太さ・色・端点キャップ制御を提供
- テクニカルイラスト風レンダリング (図解・ブループリント・ネットワーク図) の主軸 MAT
- ポイントクラウド・パーティクル風表現を Round / Square / Triangle / Arrow ポイントタイプで描画
データフロー 🔄
入力: Geometry COMP に格納された SOP (Line / Polygon / Point)
↓
Line MAT が線分・点・ベクトル属性を抽出
↓
距離ベースの幅・色補間 (Depth Interpolation Model)
↓
出力: Render TOP 経由でフレームバッファへ描画
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Setup Page 📁
Depth Interpolation Model .depthinterpolationmodel 📏
カメラ距離に応じた線幅の補間モデルを選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Inverse Distance | .inversedistance |
距離 r に対して 1/r^exponent で幅が減衰 (実カメラの遠近感に近い) |
| Near-Far Range | .nearfarrange |
Distance Near 〜 Distance Far の範囲を sine カーブで補間 |
| S Curve | .scurve |
S 字曲線で幅補間 (Width Bias / Width Steepness / Width Linearize で形状調整) |
Distance & Width 設定 .distancewidth 📐
Near/Far 平面距離とそこでの線幅 (Width Affected by FOV/OrthoWidth でズーム連動も切替可能):
- Inverse Distance Exponent:
inversedistanceexponentInverse Distanceモードでの減衰指数。1 で1/r、2 で1/r^2 - Distance Near:
distancenearカメラからの近距離平面の距離 - Distance Far:
distancefarカメラからの遠距離平面の距離 - Width Near:
widthnearDistance Near 以内の位置における固定線幅 (近距離での太さ) - Width Far:
widthfarDistance Far 以遠の位置における固定線幅 (遠距離での細さ) - Width Affected by FOV/OrthoWidth:
widthaffectedbyfovオフ (デフォルト) では FOV を変えても線のピクセル幅は固定。オンにすると FOV やオルソ幅の倍率に応じて線幅が変化する (カメラズームのアニメーション時に使用)
S Curve 幅補間 .widthscurve 📈
S Curve モード選択時のカーブ形状調整:
- Width Bias:
widthbiasS Curve の中央位置を前後にシフト (S Curve モード時のみ有効) - Width Steepness:
widthsteepnessS Curve の急峻度。大きいほど急激な太さ変化、小さいほど線形に近づく - Width Linearize:
widthlinearizeS Curve の曲率を制御。値が大きいほど直線的なカーブになる
Color 補間 .colorinterp 🌈
Near Color と Far Color の補間カーブ形状:
- Color Bias:
colorbiasカラー補間の S Curve バイアス。中央位置を前後にシフト - Color Steepness:
colorsteepnessカラー補間の S Curve 急峻度 - Color Linearize:
colorlinearizeカラー補間の曲率調整
Lift (面からの浮上) .lift ↕️
ライン描画をポリゴン表面から浮かせて重なりによる欠落を回避
| 項目 | 内部名 | 説明 |
|---|---|---|
| Toward Camera | .towardcamera |
カメラ方向へラインを浮上 (汎用) |
| Along Normal | .alongnormal |
ポリゴン法線方向へラインを浮上 (面の傾斜を尊重) |
| Lift Scale | .liftscale |
Lift Direction 方向へどれだけラインを浮上させるかのスケール係数 |
Num Points in Circle .numptsincircle ⭕
円形描画の頂点解像度 (パフォーマンスと滑らかさのトレードオフ):
- Num Points in Circle:
numptsincircleCircle Polygon ポイント描画・端点キャップ・エッジ接合部の円弧を何点で近似するか。少ないほど高速、多いほど滑らか
Line Page 📁
Draw Lines .drawlines ✏️
ライン描画自体の ON/OFF:
- Draw Lines:
drawlinesライン (線分) ポリゴンの描画を有効化
Line Joint Type .linejointtype 🔗
連続するラインセグメントの接合部 (Joint) の形状
| 項目 | 内部名 | 説明 |
|---|---|---|
| Miter | .miter |
尖った接合 (角度が浅い場合に過度に長くなる可能性あり) |
| Bevel | .bevel |
斜めにカットした接合 (Miter Threshold 超過時の自動フォールバック) |
| Round | .round |
円弧で滑らかに接合 |
| None | .none |
接合処理なし (線分が独立) |
| Miter Threshold (deg) | .miterthreshold |
Miter 接合をベベルに切替える角度閾値 (度)。線分の角度がこの値より大きいと Bevel になる |
Line Caps .linecaps 🎯
ラインの始点・終点のキャップ (端点形状) を選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| None | .none |
キャップなし (鋭利な切断面) |
| Round | .round |
半円形キャップ |
| Square | .square |
矩形キャップ (線幅と同サイズ) |
| Triangle | .triangle |
三角形キャップ |
| Arrow | .arrow |
矢印形キャップ (Arrow Tail Length で形状調整) |
Line Color (Near/Far) .linecolor 🎨
Near/Far 距離それぞれのカラー・アルファ (距離に応じて補間):
- Line Near Color:
linenearcolorDistance Near 平面およびそれより手前のラインカラー (RGB) - Line Near Alpha:
linenearalphaDistance Near 位置でのアルファ値 - Specify Line Far Color:
specifylinefarcolorFar Color を独立に指定して Near から Far への色補間を有効化するトグル - Line Far Color:
linefarcolorDistance Far 平面およびそれより奥のラインカラー (RGB) - Line Far Alpha:
linefaralphaDistance Far 位置でのアルファ値
Point Page 📁
Draw Points .drawpoints 🔵
ポイント描画の ON/OFF:
- Draw Points:
drawpoints頂点位置にポイントを描画するトグル
Point Type .pointtype 🟣
ポイントの形状タイプ
| 項目 | 内部名 | 説明 |
|---|---|---|
| None | .none |
ポイント描画なし |
| Round | .round |
円形ポイント |
| Square | .square |
矩形ポイント |
| Triangle | .triangle |
三角形ポイント |
| Circle Polygon | .circlepolygon |
Num Points in Circle で指定した頂点数の多角形 (円近似) |
Point Size .pointsize 📏
ポイント半径の倍率 (基準は同距離での線幅):
- Point Size Multiplier:
pointsizemultiplierポイントサイズへのスケール係数。デフォルトではその位置の線幅と同じ半径
Point Color (Near/Far) .pointcolor 🎨
Near/Far 距離それぞれのポイントカラー・アルファ:
- Point Near Color:
pointnearcolorDistance Near でのポイントカラー (RGB) - Point Near Alpha:
pointnearalphaDistance Near でのポイントアルファ - Specify Point Far Color:
specifypointfarcolorFar Color を独立指定して Near→Far の色補間を有効化 - Point Far Color:
pointfarcolorDistance Far でのポイントカラー (RGB) - Point Far Alpha:
pointfaralphaDistance Far でのポイントアルファ
Point Lift .pointlift ↕️
ポイントを面から浮上させて Z-fighting を回避
| 項目 | 内部名 | 説明 |
|---|---|---|
| Toward Camera | .towardcamera |
カメラ方向へ浮上 |
| Along Normal | .alongnormal |
ポリゴン法線方向へ浮上 |
| Point Lift Scale | .pointliftscale |
ポイント浮上量のスケール係数 |
Vector Page 📁
Draw Vectors .drawvectors ➡️
頂点ベクトル描画の ON/OFF + 長さ倍率:
- Draw Vectors:
drawvectors各頂点におけるベクトル (法線・速度等) の描画を有効化 - Scale:
scaleベクトルの長さに対するスケール係数
Vector Caps .vectorcaps 🎯
ベクトルの始点・終点キャップ
| 項目 | 内部名 | 説明 |
|---|---|---|
| None | .none |
キャップなし |
| Round | .round |
半円形 |
| Square | .square |
矩形 |
| Triangle | .triangle |
三角形 |
| Arrow | .arrow |
矢印形 |
Vector Taper .vectortaper 📐
ベクトル先端のテーパー (細り) 強度:
- Vector Taper Strength:
vectortaperstrengthベクトル終端部分の幅を始端に対してスケールする係数 (1.0 = テーパーなし、0.0 = 完全に尖った形状)
Vector Color (Near/Far) .vectorcolor 🎨
Near/Far 距離それぞれのベクトルカラー・アルファ:
- Vector Near Color:
vectornearcolorDistance Near でのベクトルカラー (RGB) - Vector Near Alpha:
vectornearalphaDistance Near でのベクトルアルファ - Specify Vector Far Color:
specifyvectorfarcolorFar Color を独立指定し色補間を有効化 - Vector Far Color:
vectorfarcolorDistance Far でのベクトルカラー (RGB) - Vector Far Alpha:
vectorfaralphaDistance Far でのベクトルアルファ
Caps Page 📁
Cap サイズ調整 .capsizes 📐
各キャップ形状ごとの幅・高さ・尾長スケール (Cap Type に応じて該当値が反映):
- Round Width:
roundwidthRound キャップの幅スケール - Round Height:
roundheightRound キャップの高さスケール - Square Width:
squarewidthSquare キャップの幅スケール - Square Height:
squareheightSquare キャップの高さスケール - Triangle Width:
trianglewidthTriangle キャップの幅スケール - Triangle Height:
triangleheightTriangle キャップの高さスケール - Arrow Width:
arrowwidthArrow キャップの幅スケール - Arrow Height:
arrowheightArrow キャップの高さ (矢印の根本から先端まで) スケール - Arrow Tail Length:
arrowtaillengthArrow キャップの尾の長さスケール (長いほど鋭利な矢印になる)
Cap 共通スケール .capcommon 📏
ライン幅に対するキャップサイズ倍率と引き戻し量:
- End Cap Width Multiplier:
endcapwidthmultiplier通常はキャップ幅 = ライン幅。この値で広く / 狭く調整可能 - End Cap Height Multiplier:
endcapheightmultiplier通常はキャップが線端から線幅の半分だけ突出。この値で突出量を調整 - Start Caps Pullback:
startcappullbackデフォルト 0 で始点キャップは線の始点を越えて配置。1 にすると始点ぴったりにキャップ先端が来る - End Caps Pullback:
endcappullbackデフォルト 0 で終点キャップは線の終点を越えて配置。1 にすると終点ぴったりにキャップ先端が来る
Attributes Page 📁
Line/Point Attribute .linepointatt 🏷️
頂点単位で位置・幅・色をオーバーライドする属性名 (空欄ならパラメータ値を使用):
- Line Position Attribute:
lineposattライン頂点位置を取得する属性名 (通常P) - Line Width Attribute:
linewidthattライン幅を頂点ごとに変化させたい場合の属性名 - Line Color Attribute:
linecolorattライン色を頂点ごとに変化させたい場合の属性名 (通常Cd) - Point Position Attribute:
pointposattポイント位置を取得する属性名 - Point Size Attribute:
pointsizeattポイントサイズを頂点ごとに変化させたい場合の属性名 - Point Color Attribute:
pointcolorattポイント色を頂点ごとに変化させたい場合の属性名
Vector Attribute Type .vectoratttype 🧭
ベクトル成分の取得元と参照空間
| 項目 | 内部名 | 説明 |
|---|---|---|
| SOP Attribute (World) | .sopworld |
SOP の頂点属性 (ワールド空間) |
| SOP Attribute (Local) | .soplocal |
SOP の頂点属性 (Geometry COMP のローカル空間) |
| Instance Attribute (World) | .instanceworld |
インスタンス OP の属性 (ワールド空間) |
| Instance Attribute (Local) | .instancelocal |
インスタンス OP の属性 (ローカル空間) |
Vector Attribute 指定 .vectorattspec 🏷️
ベクトル取得用の属性名・インデックス:
- Vector Attribute:
vectorattベクトル描画に使う属性名。標準はN(法線) /P/Cd/uv等、カスタム属性も指定可。大文字小文字を区別する - Vector Instance Custom Attribute Index:
vectorcusattribidxインスタンス OP のカスタム属性から X 値のインデックスを指定 (Y/Z は連番)
Deform Page 🦴
Deform .dodeform 🦴
ボーンによるジオメトリ変形を Line MAT 上で有効化:
- Deform:
dodeformこのマテリアル上でスケルトン変形を有効化
Get Bone Data .deformdata 📍
デフォームボーンデータの取得元
| 項目 | 内部名 | 説明 |
|---|---|---|
| From SOP | .fromsop |
SOP の capture 属性から取得 |
| From MAT | .frommat |
別の参照元 MAT (capture 属性を持つ SOP 由来) からデフォームデータを継承 |
Bone Capture 設定 .bonecapture 🦴
Capture 属性とスケルトンルートの指定:
- SOP with Capture Data:
targetsoppCaptPath/pCaptData属性を持つ SOP のパス - pCaptPath Attrib:
pcaptpath使用する pCaptPath 属性名 (Bone Group SOP 通過後はpCaptPath0/pCaptPath1等に分割される) - pCaptData Attrib:
pcaptdata使用する pCaptData 属性名 (pCaptPath と対になる) - Skeleton Root Path:
skelrootpathスケルトンのルート COMP のパス - MAT:
matGet Bone DataがFrom MAT時に参照する、capture データを保持した MAT のパス
Common Page 🔧
Blending .blending 🎨
色のブレンディング (透過合成) に関する設定群
| 項目 | 内部名 | 説明 |
|---|---|---|
| Add | .add |
ソースとデスティネーションを加算 |
| Subtract | .subtract |
ソースからデスティネーションを減算 |
| Reverse Subtract | .revsubtract |
デスティネーションからソースを減算 |
| Minimum | .minimum |
両者の最小値を採用 |
| Maximum | .maximum |
両者の最大値を採用 |
| Blending (Transparency) | .blending |
透過効果のためのカラーブレンディングを有効化するトグル |
| Separate Alpha Function | .separatealphafunc |
アルファチャンネルのブレンド設定を RGB と独立させる |
| Blend Constant Color | .blendconstant |
constantcol 系オプション選択時に使用する RGB 定数カラー |
| Blend Constant Alpha | .blendconstanta |
constanta 系オプション選択時に使用する定数アルファ値 |
| Legacy Alpha Behavior | .legacyalphabehavior |
旧バージョンのアルファ処理との後方互換を有効化 |
| Post-Mult Color by Alpha | .postmultalpha |
ブレンド演算完了後に RGB を計算後アルファで乗算 |
Depth Test .depthtest 📏
デプステスト (Z 比較) によるオクルージョン制御
| 項目 | 内部名 | 説明 |
|---|---|---|
| Less Than | .less |
新ピクセルのデプスが既存より小さい (手前) なら描画 |
| Less Than or Equal | .lessorequal |
新ピクセルが既存以下なら描画 |
| Equal | .equal |
デプスが完全一致時のみ描画 |
| Greater Than | .greater |
新ピクセルが既存より大きい (奥) なら描画 |
| Greater Than or Equal | .greaterorequal |
新ピクセルが既存以上なら描画 |
| Not Equal | .notequal |
デプスが一致しない場合のみ描画 |
| Always | .always |
デプス比較を行わず常に描画 |
| Depth Test | .depthtest |
デプスバッファとの比較によるオクルージョンを有効化 |
| Write Depth Values | .depthwriting |
デプステストを通過したピクセルのデプス値をデプスバッファに書き込む |
Alpha Test .alphatest 🔍
アルファ値に基づくピクセル単位の破棄判定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Less Than | .less |
アルファが閾値より小さいピクセルを残す |
| Less Than or Equal | .lessorequal |
アルファが閾値以下のピクセルを残す |
| Greater Than | .greater |
アルファが閾値より大きいピクセルを残す |
| Greater Than or Equal | .greaterorequal |
アルファが閾値以上のピクセルを残す |
| Discard Pixels Based on Alpha | .alphatest |
ピクセル単位でアルファによる破棄判定を有効化 |
| Alpha Threshold | .alphathreshold |
アルファ比較の閾値。条件外のピクセルは破棄される |
Wire Frame .wireframe 🕸️
ジオメトリをワイヤーフレーム表示する設定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Off | .off |
通常のソリッド描画 (ワイヤーフレーム無効) |
| OpenGL Tesselated Wire Frame | .tesselated |
OpenGL が三角形分割した状態でワイヤーを描画 |
| Topology Wire Frame | .topology |
元のポリゴントポロジ (四角形等) のままワイヤーを描画 |
| Line Width | .wirewidth |
ワイヤーフレームの線の太さ (ピクセル単位) |
Cull Face .cullface 🔺
ポリゴンの表裏どちらを描画するか (カリング) の選択
| 項目 | 内部名 | 説明 |
|---|---|---|
| Use Render Setting | .userender |
Render TOP 側の設定に従う |
| Neither | .neither |
両面とも描画 (カリングなし) |
| Back Faces | .backfaces |
裏面をカリング、表面のみ描画 |
| Front Faces | .frontfaces |
表面をカリング、裏面のみ描画 |
| Both Faces | .bothfaces |
両面をカリング (= 何も描画されない) |
Polygon Depth Offset .polygonoffset ↔️
Z-fighting 対策としてポリゴンのデプス値をオフセット
| 項目 | 内部名 | 説明 |
|---|---|---|
| Polygon Depth Offset | .polygonoffset |
ポリゴンのデプス値オフセット機能を有効化 |
| Offset Factor | .polygonoffsetfactor |
デプス勾配に対するオフセットの乗数 |
| Offset Units | .polygonoffsetunits |
デプス単位の固定オフセット量 |
Color Space .parmcolorspace 🌈
カラーパラメータの色空間 / 基準白色の解釈
| 項目 | 内部名 | 説明 |
|---|---|---|
| sRGB | .srgb |
SDR sRGB トランスファ関数 (一般的なディスプレイ標準) |
| sRGB – Linear | .srglinear |
SDR リニアトランスファ |
| Rec.601 (NTSC) | .rec601ntsc |
SDR NTSC 規格 (旧テレビ放送) |
| Rec.709 | .rec709 |
SDR ビデオ規格 (HD テレビ) |
| Rec.2020 | .rec2020 |
HDR 放送規格 (4K/8K UHD) |
| DCI-P3 | .dcip3 |
HDR シネマ規格 (D65 ホワイトポイント) |
| DCI-P3 (D60) | .dcip3d60 |
HDR シネマ規格 (D60 ホワイトポイント) |
| Display-P3 (D65) | .displayp3d65 |
HDR sRGB ガンマ (Apple ディスプレイ等) |
| ACES2065-1 | .aces2065-1 |
HDR リニアシネマ規格 (アーカイブ用) |
| ACEScg | .acescg |
HDR リニアシネマ作業用色空間 |
| Passthrough | .passthrough |
色空間変換を行わずそのまま渡す |
実践アイデア 💡
Example 1: ポリゴンエッジを太さ・色付きで描画する (テクニカルイラスト風) ✏️
SOP (Box / Sphere 等) → Geometry COMP → Line MAT (Draw Lines = on, Wire Frame=Topology) → Render TOP → 表示
Wire Frame パラメータの初期値ではエッジは 1 ピクセル固定で味気ない描画になりますが、Line MAT を使うとエッジに太さ・端点キャップ・距離による色補間を持たせた本格的なテクニカルイラスト調描画ができます。建築パース・図解・ブループリント風レンダリングに有効です。
- Box SOP や Sphere SOP をジオメトリ入力として Geometry COMP 内に配置
- Line MAT を作成し、Geometry COMP の
Materialパラメータに割当て - Line MAT の
Draw Linesをオン、Width Near=3.0、Width Far=0.5程度に設定 - Common Page の
Wire FrameをTopology Wire Frameに変更し、元のポリゴンエッジに沿って描画 Line Near Colorを黒、Line Far Colorを白に設定して距離フェード効果を確認
Example 2: 法線ベクトルを矢印で可視化 (デバッグ・データ可視化) ➡️
SOP (Normal 属性付き) → Geometry COMP → Line MAT (Draw Vectors = on, Vector Attribute=N) → Render TOP
ジオメトリの法線ベクトルや速度フィールド等の頂点属性を矢印として可視化したい場合、Line MAT の Vector 描画機能が最も簡潔な方法です。Vector Attribute に属性名を指定するだけで、各頂点から該当ベクトルが矢印として描画され、向きと大きさを直感的に把握できます。
- ジオメトリ SOP の出力に Facet SOP を接続し
Compute Normalsをオン (N属性を生成) - Geometry COMP に格納し Line MAT を Material に割当て
- Line MAT の
Draw Vectorsをオン、Vector AttributeにNを入力 Vector End Cap TypeをArrow、Vector Taper Strengthを0.3程度に設定して矢印形に整えるScaleパラメータで矢印の長さを調整 (法線は単位長なので0.1〜0.5程度が見やすい)
Example 3: ポイントクラウドを Circle Polygon で描画する 🔵
Particle SOP / Add SOP (頂点のみ) → Geometry COMP → Line MAT (Draw Points = on, Point Type=Circle Polygon) → Render TOP
パーティクルや頂点クラウドを色付きポイントとして描画したい場合、Line MAT の Point 機能を使うと距離による色補間・サイズ補間・端点形状の選択がすべて可能になります。Circle Polygon タイプを選べば滑らかな円形ポイント、Square なら矩形タイル、Triangle なら方向感のあるドットになります。
- Particle SOP または Add SOP で頂点のみのジオメトリを生成し Geometry COMP に格納
- Line MAT を作成し Geometry COMP に割当て、
Draw Linesをオフ、Draw Pointsをオン Point TypeをCircle Polygon、Num Points in Circleを16〜24に設定Point Near ColorとPoint Far Colorでグラデーションを設定し、Specify Point Far Colorをオン- Common Page の
Blendingをオン、Source Color *=Source Alpha/Destination Color *=One Minus Source Alphaで透過合成を有効化
関連オペレータ 🔗
類似機能OP 🔍
- Wireframe MAT — ジオメトリをワイヤーフレームのみで描画するシンプルな MAT。Line MAT より機能は限定的だが軽量
- Constant MAT — ライティング非依存の単色マテリアル。Line MAT の色だけ使う用途の代替として軽量
- Point Sprite MAT — テクスチャ付きポイントスプライト専用 MAT。Line MAT の Point 描画より画像表現に特化
組み合わせ推奨OP 🔄
- Geometry COMP — Line MAT を Material として割当てる先のコンテナ。必須の組み合わせ
- Render TOP — Line MAT で描画されたシーンを最終フレームバッファへ出力
- Camera COMP — Depth Interpolation Model でカメラ距離を利用するため、距離フェード制御の起点となる
- Facet SOP — 法線属性
Nを生成。Vector 描画の Vector Attribute 参照元として頻用 - Add SOP — 頂点のみのジオメトリ生成。Line MAT の Point 描画と組み合わせてポイントクラウド表現
前処理・後処理MAT 🎯
- 前処理: Constant MAT、Wireframe MAT
- 後処理: PBR MAT、Phong MAT、GLSL MAT
Info情報 📊
MAT は Info CHOP / Info DAT に接続することで、シェーダコンパイル状況・クック時間・GPU メモリ使用量等を取得できます。
汎用オペレータ情報 🔄
total_cooks: プロセス開始からの累計クック回数cook_time: 直近クックに要した時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 現在の警告数 (シェーダコンパイル警告含む)errors: 現在のエラー数 (シェーダコンパイルエラー含む)
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: ラインが描画されない / 何も表示されない
✅ Solution:
Draw Linesがオンになっているか確認。3 つの描画 (Lines / Points / Vectors) はそれぞれ独立トグルで、すべてオフの場合は何も描画されない- ジオメトリ側に線分プリミティブが存在するか確認。Box SOP 等の閉じたサーフェスのみだと
Wire Frame=TopologyまたはTesselatedを Common Page で有効化する必要がある Width Near/Width Farが極端に小さい値 (0 や 0.01 等) になっていないか確認。デフォルトの 1.0 程度から調整する
❌ Problem: 距離による太さや色の変化が反映されない
✅ Solution:
Distance NearとDistance Farの値がシーンスケールに合っているか確認。シーンが原点付近 (1m スケール) なのに Near=100 / Far=1000 を指定すると常に Far 値が使われるSpecify Line Far Color(または Specify Point/Vector Far Color) のトグルがオンになっているか確認。オフだと Near Color のみ使われるDepth Interpolation ModelをNear-Far RangeまたはS Curveに切替えて補間が機能するか確認 (Inverse Distance は exponential 減衰のため極端な値で見えづらいことがある)
❌ Problem: Vector 描画でベクトルが見えない / 方向がおかしい
✅ Solution:
Vector Attributeに指定した属性名がジオメトリに存在するか確認。大文字小文字を区別するためNとnは別物- 前段に Facet SOP 等を挿入して
Compute Normalsをオンにし、法線属性Nを確実に生成する Vector Attribute Typeがワールド空間 / ローカル空間を正しく選択しているか確認。Geometry COMP に Transform がかかっている場合 World と Local で見え方が変わるScaleが 0 や負の極小値になっていないか確認
❌ Problem: ライン同士の接合部 (Joint) でギャップや異常な突出が起きる
✅ Solution:
Line Joint TypeをRoundに切替えると接合部が円弧で滑らかに繋がり、Miter 特有の急激な突出を回避できるMiter Threshold (deg)を小さくする (例 90 → 30) と急角度で自動的に Bevel にフォールバックし、過度な Miter 突出を抑えられるNum Points in Circleを増やすと Round 接合・端点キャップの滑らかさが向上 (代わりに描画コストも上がる)
❌ Problem: ポリゴン表面に描いたラインが Z-fighting で点滅する / 一部が欠ける
✅ Solution:
Lift DirectionをToward Cameraに設定し、Lift Scaleを0.001〜0.01程度に上げてラインをわずかに浮かせる- Common Page の
Polygon Depth Offsetをオンにして、面側のポリゴンを少し奥に押し込む方法も併用可能 - Geometry COMP のレンダリング順序を見直し、ライン側を後から描画するように調整 (Render TOP の Display Mode で確認)
参考資料 📚
その他 🔗
- TouchDesigner Wiki — MAT 概要
- TouchDesigner Wiki — Category:MATs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Line MAT
- Wireframe MAT (ワイヤーフレーム専用の軽量代替)
- Geometry COMP (Material を割当てる対象コンテナ)
- Render TOP (Line MAT 描画結果の最終出力)


