
概要 📖 – 親トランスフォームの加重合成と制約
Blend COMPは、最大 4 つの親 Object のトランスフォームを加重合成・補間・制約することで、子オブジェクトに動的なブレンドトランスフォームを与える Object COMPです。ハンド IK のグラブ・リリース、キャラクター間の追従、複数カメラの位置補間など、階層の動的な切替が必要な場面で使われる構造的なヘルパー COMP です。
主な用途 🎯
- 複数の親 Object のトランスフォーム (Translate / Rotate / Scale) を加重合成し、子オブジェクトに単一のブレンド変換として適用
- Blend モード で最大 4 つの親の重み (Weight 1〜4) と要素マスク (Mask 1〜4) を制御し、位置・回転・スケールを個別にミックス
- Sequence モード で 1 つの Sequence 値を補間してアニメーション付きの親切替 (一方の親から他方へ滑らかに移動)
- Constrain モード で指定した親に追従し、Reset Frame でリセット可能な親制約 (キャラクターの掴み・離しなど)
- Short Rotation による四元数ブレンドで 2 親間の最短経路回転補間 (ジンバルロックや逆回転を回避)
データフロー 🔄
複数の親 Object (Geometry COMP / Camera COMP / Null COMP 等のトランスフォーム)
↓
Blend COMP (Type で Blend / Sequence / Constrain を選択し Weight + Mask で合成)
↓
単一のブレンドトランスフォーム
↓
子 Object に適用
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Blend Page 📁
Type .parenttype 🎛️
親トランスフォームの合成方法を選択するメニューパラメータ。Blend COMP の根幹となるモード切替
| 項目 | 内部名 | 説明 |
|---|---|---|
| Blend | .blend |
最初の 4 つの入力親トランスフォームを Weight 1〜4 と Mask 1〜4 で加重合成 |
| Sequence | .sequence |
Sequence パラメータの値で「どの入力親からどの入力親へ」を補間 (1.5 なら入力 1 と 2 の中間)。アニメーションで親を滑らかに切替 |
| Constrain | .constrain |
Sequence で指定した親に対して相対位置を維持し追従。親切替時もジャンプせず Reset Frame でリセット可能 |
Sequence / Reset .sequence 🎚️
Sequence / Constrain モードで使う親選択値とリセットフレーム:
- Sequence:
sequence— Type がsequenceまたはconstrainのときに、どの入力親のトランスフォームを使うかを決定する連続値 (整数で完全に 1 つの親、小数で隣接親との補間) - Reset Frame:
reset— Constrain モードでこのフレームに到達すると、最終トランスフォームを元の位置にリセット。制約対象の親が変わってもジャンプせずに相対関係を維持
Weight 1〜4 .blendw ⚖️
Blend モードで各入力親に掛ける重み (Weight 1〜4):
- Weight 1:
blendw1— 入力 1 の親トランスフォームに掛ける重み - Weight 2:
blendw2— 入力 2 の親トランスフォームに掛ける重み - Weight 3:
blendw3— 入力 3 の親トランスフォームに掛ける重み - Weight 4:
blendw4— 入力 4 の親トランスフォームに掛ける重み
Mask 1〜4 .blendm 🎭
各入力親から使うトランスフォーム成分のマスク (Mask 1〜4):
- Mask 1:
blendm1— 入力 1 の親からブレンドに使うトランスフォーム成分の選択マスク - Mask 2:
blendm2— 入力 2 の親からブレンドに使うトランスフォーム成分の選択マスク - Mask 3:
blendm3— 入力 3 の親からブレンドに使うトランスフォーム成分の選択マスク - Mask 4:
blendm4— 入力 4 の親からブレンドに使うトランスフォーム成分の選択マスク
3 親特殊オプション .tripletoptions 🔺
ちょうど 3 親入力時の特殊オプション (Normal Offset / Orient Axes):
- Normal Offset:
noffset— 3 つの親で形成される三角平面に対して垂直な方向に子の位置をオフセットさせる値 - Orient Axes:
axesorient— オンの場合、3 つの親に応じて子のローカル軸を整列 (第 1 親 = 軸中心、第 2 親 = +X、第 3 親 = +Y)
Short Rotation .shortrot 🔄
2 親ブレンド時の四元数最短経路補間:
- Short Rotation:
shortrot— オンの場合、2 入力のブレンドで四元数ベースの最短経路回転補間を行いジンバルロックや遠回り回転を回避
Xform Page 📁
Transform Order .xord 🎛️
Translate / Rotate / Scale の適用順序を選択するメニューパラメータ。行列計算順序を決定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Rotate Translate | .srt |
T * R * S * Position の順 |
| Scale Translate Rotate | .str |
R * T * S * Position の順 |
| Rotate Scale Translate | .rst |
T * S * R * Position の順 |
| Rotate Translate Scale | .rts |
S * T * R * Position の順 |
| Translate Scale Rotate | .tsr |
R * S * T * Position の順 |
| Translate Rotate Scale | .trs |
S * R * T * Position の順 |
Rotate Order .rord 🎛️
X / Y / Z 軸回転の適用順序を選択するメニューパラメータ。回転行列の合成順序を決定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Rx Ry Rz | .xyz |
R = Rz * Ry * Rx |
| Rx Rz Ry | .xzy |
R = Ry * Rz * Rx |
| Ry Rx Rz | .yxz |
R = Rz * Rx * Ry |
| Ry Rz Rx | .yzx |
R = Rx * Rz * Ry |
| Rz Rx Ry | .zxy |
R = Ry * Rx * Rz |
| Rz Ry Rx | .zyx |
R = Rx * Ry * Rz |
Translate / Rotate / Scale / Pivot .trs 📐
ブレンド結果に上乗せする Translate / Rotate / Scale / Pivot:
- Translate (t):
t (tx, ty, tz)— 3 軸方向の並進量 - Rotate (r):
r (rx, ry, rz)— 3 軸周りの回転量 (度) - Scale (s):
s (sx, sy, sz)— 3 軸方向の非一様スケール - Pivot (p):
p (px, py, pz)— スケール / 回転の基準ピボット点 - Uniform Scale:
scale— 3 軸を一様にスケールする倍率 (カメラのチャンネルへのスケーリングは非推奨)
Parent Transform Source .parentxformsrc 🌳
このオブジェクトの初期位置として使うトランスフォームソースを指定するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Parent (Hierarchy) | .parent |
通常のネットワーク階層 (親 COMP) から取得 |
| Specify Parent Object | .specify |
Parent Object パラメータで指定した任意の Object COMP から取得 |
| World Origin | .worldorigin |
ワールド原点を起点とする (親トランスフォーム継承を無効化) |
Parent Object / Look At .parentlookat 👀
指定親オブジェクト・Look At 制約:
- Parent Object:
parentobject— Parent Transform Source がspecifyのとき制約先となる任意 Object COMP のパス - Look At:
lookat— 指定した別 Object COMP を常に向くように向きを自動制御 (カメラ追従などに利用)
Forward Direction .forwarddir 🎛️
Look At 計算で「前方向」とみなす軸を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| +X | .posx |
+X 軸方向を前方向とみなす |
| -X | .negx |
-X 軸方向を前方向とみなす |
| +Y | .posy |
+Y 軸方向を前方向とみなす |
| -Y | .negy |
-Y 軸方向を前方向とみなす |
| +Z | .posz |
+Z 軸方向を前方向とみなす |
| -Z | .negz |
-Z 軸方向を前方向とみなす (TouchDesigner 既定) |
Look At Up Vector .lookup 🎛️
Look At の up vector 計算方式を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Don’t use up vector | .off |
up vector を使わない (ターゲットが Y 軸を通過しない場合に有効) |
| Use up vector | .on |
Up Vector パラメータの値で正確に回転を定義 |
| Use quaternions | .quat |
四元数ベースの最短経路補間 |
| Use Roll | .roll |
Roll パラメータの値で回転を補正 |
Path SOP / Roll / Position .pathsop 🛤️
パス SOP 沿い移動と Auto-Bank パラメータ:
- Path SOP:
pathsop— 移動経路として使う SOP のパス - Roll:
roll— パス上の進行中における Object の回転 (角度) - Position:
pos— パス上の位置 (0=始点、1=終点、最大 10 で複数周回可) - Orient along Path:
pathorient— オンの場合、パスに沿って Object の +Z 軸を向ける - Auto-Bank Factor:
bank— パスの曲率に応じて自動的にロールを掛ける係数 (0 で自動バンク無効)
Orient Up Vector .up ⬆️
Orient along Path 有効時に +Y 軸が向く up vector を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| X | .upx |
X 軸を up として使用 |
| Y | .upy |
Y 軸を up として使用 (TouchDesigner 既定) |
| Z | .upz |
Z 軸を up として使用 |
Pre-Xform Page 📁
Pre-Transform 有効化 .pxform 🔘
Pre-Xform を Xform より先に適用するか:
- Apply Pre-Transform:
pxform— Pre-Xform ページの並進・回転・スケールを実際に適用するか
Pre Transform Order .pxord 🎛️
Pre-Xform ページの Translate / Rotate / Scale 適用順序を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Scale Rotate Translate | .srt |
Xform Page と同義 |
| Scale Translate Rotate | .str |
Xform Page と同義 |
| Rotate Scale Translate | .rst |
Xform Page と同義 |
| Rotate Translate Scale | .rts |
Xform Page と同義 |
| Translate Scale Rotate | .tsr |
Xform Page と同義 |
| Translate Rotate Scale | .trs |
Xform Page と同義 |
Pre Rotate Order .prord 🎛️
Pre-Xform ページの X / Y / Z 軸回転適用順序を選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Rx Ry Rz | .xyz |
R = Rz * Ry * Rx |
| Rx Rz Ry | .xzy |
R = Ry * Rz * Rx |
| Ry Rx Rz | .yxz |
R = Rz * Rx * Ry |
| Ry Rz Rx | .yzx |
R = Rx * Rz * Ry |
| Rz Rx Ry | .zxy |
R = Ry * Rx * Rz |
| Rz Ry Rx | .zyx |
R = Rx * Ry * Rz |
Pre Translate / Rotate / Scale / Pivot .ptrs 📐
Pre-Xform の Translate / Rotate / Scale / Pivot 値:
- Pre Translate (pt):
pt (ptx, pty, ptz)— Pre-Xform の 3 軸並進量 - Pre Rotate (pr):
pr (prx, pry, prz)— Pre-Xform の 3 軸回転量 - Pre Scale (ps):
ps (psx, psy, psz)— Pre-Xform の 3 軸スケール - Pre Pivot (pp):
pp (ppx, ppy, ppz)— Pre-Xform のスケール / 回転ピボット - Pre Uniform Scale:
pscale— Pre-Xform の一様スケール倍率
Reset / Commit / Matrix .prsetmatrix ♻️
Pre-Xform のリセット・コミット・行列直接指定:
- Reset Transform:
preset— Pre-Xform ページの並進・回転・スケールをゼロ / 初期値に戻すパルスボタン - Commit to Main Transform:
pcommit— Pre-Xform の現在のトランスフォームを Xform ページにコピーし、Pre-Xform 側をリセットするパルスボタン - Xform Matrix/CHOP/DAT:
xformmatrixop— 4×4 行列を直接指定するための CHOP / DAT パス。Pre-Xform のあとにXformMatrix * PreXForm * Positionの順で適用
Render Page 📁
Material / Render フラグ .material 🎨
Material と Render フラグ:
- Material:
material— Object 内部の Geometry に適用する MAT のパス - Render:
render— Render TOP に対する可視フラグ (コンポーネントの Render Flag と論理積)
Priority / Pick .priority 🔢
描画順序とピック優先度:
- Draw Priority:
drawpriority— 数値が小さいほど後に描画される。透過処理を整理するためによく使用 - Pick Priority:
pickpriority— Render Pick CHOP / DAT の検索範囲内で複数候補があるとき、高い値が優先的にピックされる
Wireframe Color .wcolor 📐
ワイヤフレーム表示時の色:
- Wireframe Color:
wcolor (wcolorr, wcolorg, wcolorb)— ワイヤフレーム表示時の R / G / B 各成分
Light Mask .lightmask 💡
Light Mask による適用ライト限定:
- Light Mask:
lightmask— Render TOP に渡されたライト群のうち、この Object に影響を与えるものをパスで指定。指定が空の場合は全ライトが適用される
Common Page 🔧
Parent Shortcut .parentshortcut 🔗
コンポーネント内部からこの COMP へのパスとして使えるショートカット名:
- Parent Shortcut: コンポーネント内部の任意の場所からこの COMP を参照する際のショートカット名 (
parent.<name>形式で利用可能)
Global OP Shortcut .opshortcut 🌐
プロジェクト全体からこの COMP を参照するグローバル名:
- Global OP Shortcut: プロジェクト内のあらゆる場所からこの COMP へのパスとして使えるグローバル名 (
op.<name>形式で利用可能)
Internal OP .iop 📎
Internal OP シーケンス (コンポーネント内部 OP への名前付き参照):
- Shortcut:
iop0shortcut— コンポーネント内部の OP に対するショートカット名 - OP:
iop0op— このコンポーネント内部の対象 OP へのパス
Node View .nodeview 👁️
ノードビューア (Network エディタ上のサムネイル) に表示する内容を決定
| 項目 | 内部名 | 説明 |
|---|---|---|
| Default Viewer | .default |
コンポーネントタイプ標準のビューアを表示 |
| Operator Viewer | .opviewer |
指定した任意 OP のノードビューアを表示 |
Operator Viewer .opviewer 🖼️
Operator Viewer モード時に表示する対象 OP:
- Operator Viewer パス: Node View が
opviewerモードのとき、そのビューア内容として表示する OP のパス
Cloning .cloning 🧬
マスター COMP の内容を複製する Cloning 設定:
- Enable Cloning:
enablecloning— Clone Master の内容を継続的に複製するかを切替 - Enable Cloning Pulse:
enablecloningpulse— その瞬間だけ Clone Master の内容を瞬時に複製 - Clone Master:
clone— 複製元となるマスターコンポーネントへのパス
Load on Demand .loadondemand ⏳
必要時のみメモリにロードする遅延ロード設定:
- Load on Demand: オンの場合、このコンポーネントは実際に必要となるまでメモリにロードされない (起動時間・メモリ消費の最適化)
External .tox .externaltox 💾
外部 .tox ファイルとの連携設定:
- Enable External .tox:
enableexternaltox— 起動時に外部 .tox ファイルからロード - Enable External .tox Pulse:
enableexternaltoxpulse— 外部 .tox ファイルから即時リロード - External .tox Path:
externaltox— ディスク上の .tox ファイルへのパス - Reload Custom Parameters:
reloadcustom— コンポーネントのカスタムパラメータ値を再読み込み - Reload Built-In Parameters:
reloadbuiltin— コンポーネントの組み込みパラメータ値を再読み込み - Save Backup of External:
savebackup— .toe ファイル内に外部 .tox のバックアップコピーを保存 - Sub-Component to Load:
subcompname— .tox 内部の特定 COMP のみを取り出してロード
Relative File Path Behavior .relpath 📁
このコンポーネント内部での相対ファイルパスの解決基準
| 項目 | 内部名 | 説明 |
|---|---|---|
| Use Parent’s Behavior | .inherit |
親コンポーネントの設定を継承 |
| Relative to Project File (.toe) | .project |
.toe プロジェクトファイルからの相対パスとして解決 |
| Relative to External COMP File (.tox) | .externaltox |
外部 .tox ファイルからの相対パスとして解決 |
Parameter Color Space .parmcolorspace 🎨
このコンポーネント内の色パラメータをどの色空間として解釈するか
| 項目 | 内部名 | 説明 |
|---|---|---|
| sRGB | .srgb |
標準的な sRGB ガンマ空間 |
| sRGB – Linear | .srgblinear |
sRGB プライマリでガンマ線形 (1.0) |
| Rec.601 (NTSC) | .rec601ntsc |
Rec.601 NTSC 規格の色空間 |
| Rec.709 | .rec709 |
HDTV 用 Rec.709 色空間 |
| Rec.2020 | .rec2020 |
UHDTV / HDR 向け Rec.2020 広色域 |
| DCI-P3 | .dcip3 |
デジタルシネマ DCI-P3 色空間 |
| DCI-P3 (D60) | .dcip3d60 |
D60 白点 DCI-P3 |
| Display-P3 (D65) | .displayp3d65 |
D65 白点 Display-P3 (Apple ディスプレイ等) |
| ACES2065-1 | .aces2065-1 |
ACES アーカイブ用色空間 (AP0 プライマリ) |
| ACEScg | .acescg |
ACES CG 作業用色空間 (AP1 プライマリ) |
| Passthrough | .passthrough |
色変換を行わず値をそのまま扱う |
Parameter Reference White .parmreferencewhite ⚪
色パラメータの基準白色の扱い
| 項目 | 内部名 | 説明 |
|---|---|---|
| Default For Color Space | .default |
選択した色空間のデフォルト基準白を使用 |
| Standard (SDR) | .sdr |
標準ダイナミックレンジ (SDR) 基準白 |
| High (HDR) | .hdr |
ハイダイナミックレンジ (HDR) 基準白 |
| UI | .ui |
UI 表示用の基準白 |
実践アイデア 💡
Example 1: 2 親の位置をフェードでブレンド 🎚️
2 つの Null COMP (位置 A, 位置 B) → Blend COMP (Type=Blend, Weight 1/2 をフェード) → 子 Geometry COMP
Blend COMP の最も基本的な使い方として、2 つの親 Object のトランスフォームを Weight 1 と Weight 2 で加重合成し、子 Geometry を 2 点間で滑らかに移動させる。Weight をアニメーションさせれば「位置 A から位置 B へ」のクロスフェードが実現できる。
- Network に 2 つの Null COMP (anchorA, anchorB) を配置し、それぞれ異なる位置に Translate を設定
- 新たに Blend COMP を配置し、anchorA と anchorB を入力 1 / 入力 2 として接続
- Blend COMP の Type を
blend、Weight 1 を1.0、Weight 2 を0.0に初期設定 - 子となる Geometry COMP を Blend COMP の下に配置 (Blend が親トランスフォームを供給)
- Weight 1 を 1.0 → 0.0、Weight 2 を 0.0 → 1.0 にアニメーションさせると子 Geometry が anchorA から anchorB へ移動
Example 2: Constrain モードでハンド IK のグラブ・リリース ✋
プレイヤー手の Null COMP + 掴む対象の Null COMP → Blend COMP (Type=Constrain, Sequence でグラブ対象を切替, Reset Frame でリリース) → 子オブジェクト (掴まれるアイテム)
Blend COMP の Constrain モードを使うと、ある親 Object に「相対位置を保ったまま追従」させ、Reset Frame で制約をリセットできる。VR でアイテムを「掴む / 離す」表現や、キャラクター間でオブジェクトを受け渡すアニメーション制御に最適。
- プレイヤーの手の位置を表す Null COMP と、掴む対象の Null COMP を Blend COMP の入力に接続
- Type を
constrainに設定し、Sequence パラメータで初期は対象側 (例:0) に向ける - 掴むタイミングで Sequence を
1(手側) に切替 — 切替時に相対位置はジャンプせず維持される - リリースする瞬間に Reset Frame のフレーム値を現在フレームに合わせると、ローカル相対トランスフォームが初期化される
- 子 Geometry の Material / Render は通常通り親の Blend COMP から継承
Example 3: Sequence モードで複数アンカー間を補間 🔀
4 つの Null COMP (経路アンカー A〜D) → Blend COMP (Type=Sequence, Sequence 値をアニメーション) → 子 Camera COMP
4 つの親 Object を入力し、Sequence モードで sequence パラメータの連続値 (例: 0 → 1.5 → 2.7 → 3.0) を動かすと、隣接する 2 親間が小数部で補間される。カメラを A → B → C → D のキーポイントで滑らかに移動させる「ウェイポイントカメラ」を構築できる。
- 経路となる Null COMP を 4 つ配置 (anchor0, anchor1, anchor2, anchor3) し位置を設定
- Blend COMP の入力 1〜4 に anchor0〜anchor3 を順に接続
- Type を
sequenceに変更し、Sequence パラメータの値を 0 から 3 までアニメーション - 整数値 (0, 1, 2, 3) で 1 つの親と完全一致、小数 (1.5 等) で隣接 2 親の補間
- 子 Camera COMP を Blend COMP の下に配置すれば、経路カメラとして機能
Example 4: Mask で位置と回転を別系統からブレンド 🎭
親 A (位置のみマスク) + 親 B (回転のみマスク) → Blend COMP (Type=Blend, Mask 1 = Translate のみ, Mask 2 = Rotate のみ) → 子 Object
Blend COMP の Mask 1〜4 パラメータを使うと、各入力親からブレンドに反映する成分を Translate / Rotate / Scale で個別に選べる。「位置はプレイヤーの手を追うが、回転はワールド水平を維持」など、複数の制約を組み合わせた高度なリギングが可能。
- 親 A (位置を提供する Null COMP) と 親 B (回転を提供する Null COMP) を Blend COMP の入力 1 / 2 に接続
- Type を
blendに設定、Weight 1 / Weight 2 ともに1.0 - Mask 1 で Translate 成分のみを有効化 (回転とスケールは無効化)
- Mask 2 で Rotate 成分のみを有効化 (並進とスケールは無効化)
- Short Rotation をオンにすると 2 入力間の回転補間が四元数ベースで最短経路を取り、ジンバルロックや 360° 逆回りを回避
関連オペレータ 🔗
類似機能OP 🔍
- Camera Blend COMP — Camera COMP 専用のブレンド COMP。複数のカメラビューを補間
- Constraint COMP — Object 間の制約を定義する COMP (位置 / 回転 / Look At 等)
- Bone COMP — スケルトン階層を構成する Object COMP。Blend COMP と組み合わせて IK 制御に利用
組み合わせ推奨OP 🔄
- Geometry COMP — Blend COMP の子として配置し、ブレンドされたトランスフォームを 3D 形状に適用
- Camera COMP — Blend COMP の子としてカメラを置き、複数アンカー間でカメラを補間
- Light COMP — Blend COMP の子としてライトを置き、複数光源位置をブレンド
- Null COMP — 親アンカーとして使用 (位置情報のみを持つ軽量 COMP)
- Handle COMP — アンカー位置をビューポート上でインタラクティブに操作するためのハンドル
- Constraint COMP — Blend COMP の前段で個別制約を定義し、結果のトランスフォームを Blend で合成
前処理・後処理COMP 🎯
Info COMP情報 📊
Blend COMP は Info CHOP / Info DAT による詳細情報取得に対応しています。
COMP 固有情報 📦
num_children: コンポーネント内部の子 OP の総数num_dats: 内部 DAT の数num_chops: 内部 CHOP の数num_tops: 内部 TOP の数num_sops: 内部 SOP の数
汎用オペレータ情報 🔄
total_cooks: プロセス開始からのクック回数cook_time: 最後のクック時間 (ミリ秒)cook_frame: 最後にクックされたフレーム番号warnings: 警告数errors: エラー数cook_abs_frame: 絶対時間基準でのクックフレーム番号cook_start_time: オペレータがクックを開始した時刻cook_end_time: クックが完了した時刻cooked_this_frame: 現在のフレームでクックされた場合は1
Object 固有情報 📊
tx / ty / tz: ブレンド計算後の最終的なワールド位置 (Translate)rx / ry / rz: ブレンド計算後の最終的な回転 (度)sx / sy / sz: ブレンド計算後の最終的なスケール
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: Weight をアニメーションしても子オブジェクトが動かない
✅ Solution:
- Blend COMP の Type が
blendになっているか確認 (sequence/constrainでは Weight ではなく Sequence パラメータが効く) - 子オブジェクトが本当に Blend COMP の下位階層にあり、親トランスフォームを継承しているか確認
- Mask 1〜4 が Translate を有効にしているか確認 (位置だけマスクから外れていると動かない)
❌ Problem: Sequence モードで親が切替わる瞬間に「カクッ」と飛ぶ
✅ Solution:
- Sequence パラメータの値を整数間で線形補間ではなく、緩急のあるカーブ (ease-in / ease-out) で動かす
- Type を
constrainに切替えると親切替時の相対位置が維持されジャンプが消える - 回転成分のジャンプであれば Short Rotation をオンにして四元数最短経路補間を有効化
❌ Problem: Constrain モードで Reset Frame に来ると意図せず原点にワープする
✅ Solution:
- Reset Frame はそのフレームで「最終トランスフォームを元の位置にリセット」する設計。意図せず発火しないなら未来フレーム (例:
999999) に設定して実質無効化 - リセットを使いたい場合は、リセット直前に Object の初期位置が期待通りか確認 (Pre-Xform Page で初期姿勢を設定可能)
- Constraint COMP のほうが用途に合うケースもある (Look At や個別軸制約に強い)
❌ Problem: 回転がジンバルロックや 360° 逆回りで暴れる
✅ Solution:
- Short Rotation をオンにして 2 入力間の四元数ベース最短経路補間を使用
- Rotate Order (xyz / xzy / yxz / yzx / zxy / zyx) を変更してジンバルロック軸を回避
- Look At を使う場合は Look At Up Vector を
quatに切替えて四元数ベースの回転を採用
参考資料 📚
その他 🔗
- TouchDesigner Wiki — COMP 概要
- TouchDesigner Wiki — Category:COMPs
- TouchDesigner Wiki — Category:Components
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group

