
概要 📖 – コントローラの3D形状を読込
Oculus Rift SOPは、Oculus Rift のコントローラモデルを 3D ジオメトリとして読み込む SOPです。読み込むモデルは左右どちらのコントローラかを選べ、取り込んだ形状はトラッキング座標に合わせて配置することで、VR シーン内に手元のコントローラを表示できます。
主な用途 🎯
- Oculus Touch コントローラの 3D モデルをジオメトリとしてシーンに読み込み、VR 空間に手元の形状を表示する
- 左右どちらのコントローラ形状を読み込むかを選び、両手分のモデルを別々に用意する
- 読み込んだコントローラ形状をトラッキング座標に合わせて配置し、現実の手の動きと一致させる
- コントローラモデルにマテリアルを割り当て、VR シーンの見た目に合わせた質感で描画する
- VR チュートリアルや操作ガイドの画面内に、実機と同じコントローラ形状を提示する
データフロー 🔄
入力: Oculus Runtime (コントローラのモデルデータ)
↓
モデル選択 (左 / 右コントローラの切替)
↓
出力: コントローラの 3D ジオメトリ
初心者の方は、以下日本語書籍も手元にあると安心です。

実際の案件事例まで踏み込んで紹介されていて、効率よくスキルアップするなら必携の二冊です!
パラメータ解説 ⚙️
Page 📁
モデル選択 .model 🎮
Model (読み込むモデル) — どのコントローラの 3D 形状を読み込むかを選択するメニューパラメータ
| 項目 | 内部名 | 説明 |
|---|---|---|
| Left Controller | .leftcontroller |
左手側コントローラの 3D モデルを読み込む |
| Right Controller | .rightcontroller |
右手側コントローラの 3D モデルを読み込む |
実践アイデア 💡
Example 1: 両手のコントローラを表示 🎮
Oculus Rift SOP (Model=Left) / Oculus Rift SOP (Model=Right) → Geometry COMP → Render TOP
左右それぞれの Oculus Rift SOP を用意し、片方を Left Controller、もう片方を Right Controller に設定して両手分のコントローラ形状を読み込む基本フローです。各モデルを Geometry COMP に入れ、Render TOP でレンダリングすれば、VR シーン内に両手のコントローラを描画できます。
- Oculus Rift SOP を 2 つ配置し、片方の
ModelをLeft Controllerに設定 - もう片方の
ModelをRight Controllerに設定して両手分の形状を用意 - それぞれを Geometry COMP に入れ、Camera COMP と Light COMP で視点・照明を設定
- Render TOP に接続して両手のコントローラモデルをレンダリングして確認
Example 2: トラッキングと位置を同期 🤝
Oculus Rift CHOP (Controller) → Transform SOP ← Oculus Rift SOP (Model)
読み込んだコントローラ形状を、実機の動きに合わせて動かす設定例です。Oculus Rift CHOP から取得したコントローラの位置・回転を Transform SOP に渡し、Oculus Rift SOP のモデルへ反映すると、現実の手の動きとモデルの位置が一致します。
- Oculus Rift SOP で表示したいコントローラの
Modelを選択 - Oculus Rift CHOP でそのコントローラの位置・回転をチャンネルとして取得
- Transform SOP にモデルを通し、取得した座標値を位置・回転に反映
- Geometry COMP に入れてレンダリングし、手の動きと形状が同期するか確認
Example 3: 材質を付けて描画 ✨
Oculus Rift SOP (Model) → Geometry COMP (MAT 割り当て) → Render TOP
読み込んだコントローラ形状に質感を与える設定例です。Geometry COMP 上で MAT を割り当てると、コントローラモデルに色や反射などの質感が付き、VR シーンの世界観に馴染ませて描画できます。後段で Transform SOP を使えば表示サイズや向きも整えられます。
- Oculus Rift SOP でコントローラの
Modelを読み込む - Transform SOP でモデルの向き・スケールをシーンに合わせて調整
- Geometry COMP に入れ、見た目に合わせた MAT を割り当て
- Render TOP でレンダリングし、質感の付いたコントローラを確認
関連オペレータ 🔗
類似機能OP 🔍
- Oculus Rift CHOP — 同じ Oculus Rift デバイスの姿勢・コントローラ入力を CHOP チャンネルとして取得 (SOP はモデル形状、CHOP は数値)
- Oculus Rift TOP — 同じ Oculus Rift デバイスの映像を HMD へ出力する別の Oculus 系オペレータ
- OpenVR SOP — OpenVR 対応デバイスのトラッキングジオメトリを取得する別のデバイス系 SOP
- Kinect SOP — 深度センサーから現実空間の立体を取り込む別のデバイス系 SOP
組み合わせ推奨OP 🔄
- Oculus Rift CHOP — コントローラの位置・回転を取得し、読み込んだモデルをトラッキングに同期させる
- Geometry COMP — 読み込んだコントローラ形状をシーンに配置してレンダリング対象にする
- Render TOP — コントローラモデルを VR シーンの一部として画像にレンダリング
- Transform SOP — 読み込んだモデルの位置・回転・スケールをシーンに合わせて調整
前処理・後処理SOP 🎯
Info CHOP情報 📊
Oculus Rift SOP は Info CHOP による詳細情報取得に対応しています。
ジオメトリ統計 📐
num_points: この SOP に含まれるポイント数num_prims: この SOP に含まれるプリミティブ数num_particles: この SOP に含まれるパーティクル数
GPU 転送タイミング 🎮
last_vbo_update_time: 別スレッドで SOP の CPU データを GPU 上のジオメトリデータに更新するのにかかった時間 (フレーム時間外)last_meta_vbo_update_time: 別スレッドで metaball や NURBS のようなメタサーフェスジオメトリデータを GPU に更新するのにかかった時間 (フレーム時間外)
汎用オペレータ情報 🔄
total_cooks: プロセス開始以降にこのオペレータがクックされた合計回数cook_time: 直近のクック所要時間 (ミリ秒)cook_frame: このオペレータが最後にクックされたフレーム番号warnings: このオペレータの警告数errors: このオペレータのエラー数
クック統計 ⏱️
total_cooks:total_cooks— プロセス開始以降にこのオペレータがクックされた合計回数cook_time:cook_time— 直近のクック所要時間 (ミリ秒)cook_frame:cook_frame— このオペレータが最後にクックされたフレーム番号
トラブルシューティング ⚠️
よくある問題と解決策 🔧
❌ Problem: コントローラの形状が表示されない
✅ Solution:
- Oculus Runtime が起動し、HMD・コントローラが PC に正しく接続・認識されているか確認
Modelで読み込むコントローラ (左 / 右) が選択されているか確認- Geometry COMP に入れて Camera COMP と Light COMP で視点・照明を設定しているか確認
❌ Problem: モデルの位置が手の動きと合わない
✅ Solution:
- Oculus Rift CHOP からコントローラの位置・回転を取得して反映する
- 後段の Transform SOP でトラッキング座標をモデルに正しく適用する
- 左右の
Model設定と、反映するトラッキング側の左右が一致しているか確認する
❌ Problem: モデルに陰影や質感が付かない
✅ Solution:
- Geometry COMP に MAT を割り当て、ライティング用の Light COMP を配置する
- 後段の Null SOP で出力を整理してからマテリアル設定を確認する
- シーンに光源がない場合は陰影が出ないため、Light COMP の有無と向きを確認する
参考資料 📚
その他 🔗
- TouchDesigner Wiki — SOP 概要
- TouchDesigner Wiki — Category:SOPs
- TouchDesigner Wiki ホーム
- TouchDesigner 公式 Forum
- Facebook — TouchDesigner Help Group
公式リソース 📖
- TouchDesigner公式ドキュメント – Oculus Rift SOP
- TouchDesigner公式ドキュメント – Oculus Rift TOP
- TouchDesigner公式ドキュメント – OpenVR SOP

