BlackTrax 統合のセットアップ
BlackTrax の一般的な説明については、BlackTrax の概要 を参照してください。
Disguise プロジェクトのセットアップ(旧「tracking.dll」ワークフロー)
Section titled “Disguise プロジェクトのセットアップ(旧「tracking.dll」ワークフロー)”キャリブレーション時に発生しうる問題を避けるため、ビジュアライザーは実世界の環境にできるだけ近づけてセットアップする必要があります。次の手順に従って Designer でプロジェクトをセットアップします。
1. プロジェクトを作成してトラッキングを有効にする
Section titled “1. プロジェクトを作成してトラッキングを有効にする”- 新しいプロジェクトを作成するか、既存のプロジェクトを使用します。
- d3 プロジェクトフォルダーで、サブフォルダー
internal/dllsを開きます。 dlls.txtファイルを開きます。- tracking.dll を含む新しい行を追加し、テキストファイルを保存します。
2. プロジェクトを開いてトラッキングポイントを追加する
Section titled “2. プロジェクトを開いてトラッキングポイントを追加する”- プロジェクトを開き、Stage > Camera > Visualiser camera > Visible を右クリックしてビジュアライザーカメラを開きます。
- visibility タブを開き、tracking point と tracking labels を表示します。
3. プロジェクターのプロパティを設定する
Section titled “3. プロジェクターのプロパティを設定する”解像度、レンズ、位置などのプロジェクターのプロパティを設定します。また、フィードの解像度も設定します。正しく設定されていないと、キャリブレーションプロセスに影響することがあります。 実世界のプロジェクターには、ワーピング、キーストーン、レンズシフト、ズームがあってはなりません。
4. 視覚的な参照を追加する
Section titled “4. 視覚的な参照を追加する”ビジュアライザー内のステージの原点(0,0,0)に、既知の寸法のメッシュ(たとえば長方形のメッシュ)を追加します。このメッシュは、オブジェクトの向きの不一致を評価する視覚的な参照として機能し、後でキャリブレーション手順の基準点として役立ちます。
BlackTrax システムをセットアップして構成した後、次のステップはプロジェクト内に BlackTrax デバイスを登録することです。正確な位置トラッキングのためにデバイスを統合して整合させるには、次の手順に従います:
-
BlackTrax デバイスを作成する ダッシュボードで、デバイスリスト内を右クリックして Add Automation Device を選択します。利用可能なオプションから BlackTrax を選びます。
-
ドライバーを割り当てる デバイスが作成されると、そのエディターウィンドウが自動的に開きます。Driver タブに移動して BlackTraxDriver を割り当てます。 注: 正常に作成されると、暫定的な BlackTrax トラッキングデータがシステムにストリーミングされ始めます。これは、ビーコンのストリンガー位置に対応する緑の点としてビジュアライザーに視覚的に表されます。
-
登録エリアを準備する BlackTrax と Disguise の座標系を整合させるため、環境登録プロセスを開始します:
- 先ほど作成した参照メッシュと同じ寸法を使って、ステージを中心とした 90 度の角度をマークします。
- センターステージ(CS)ポイントと、直角の両端点(X 方向と Z 方向を定義)にトラッキングストリンガーを配置します。
注: 物理的なマーキングが、仮想の基準メッシュの寸法と向きに正確に一致することを確認してください。
-
登録ツールを開く 既存の BlackTrax デバイスを右クリックしてエディターを開きます。Registration タブに移動します。
-
参照ポイントを配置する カーソルが配置ツールに変わり、登録ポイントを定義する準備ができたことを示します。基準メッシュに 3 つの参照ポイントをドロップします:
- センターステージ(CS)
- 正の X 方向
- 正の Z 方向
-
仮想と実世界のポイントをリンクする 登録 UI を使って、ドロップした各参照ポイントを、対応するライブの BlackTrax ビーコン位置にリンクします。3 つすべてのポイントを正常に登録したら、最終処理に進みます。
-
登録を最終処理する 登録 UI で Finalise フィールドを選択します。このステップは計算された変換を適用し、仮想空間を実世界の BlackTrax 座標系と整合させます。
完了すると、GUI に整合された参照ポイントとトラッキングポイントが表示され、キャリブレーションが成功したことを確認できます。
注: システムは BlackTrax から 100 Hz の周波数で位置データを受信し、リアルタイムのトラッキング精度を可能にします。
注: BT システムから 100Hz のレートで位置情報を受信します。
OSC のセットアップ
Section titled “OSC のセットアップ”この時点で、プロジェクトの基本的なセットアップはすべて完了します。次のセクションでは、必要な OSC 外部ハードウェアの統合方法を示します。その理由は、これが Disguise でキャリブレーションプロセスを制御する最も簡単な方法だからです(なお、古いバージョンのソフトウェアでは、システムをキャリブレーションする唯一の方法は OSC インターフェースです)。OSC をセットアップするには、次の手順に従います:
-
ダッシュボードで「device」を右クリックして Disguise で OSC デバイスを作成します。開くとプラスとマイナスのフィールドがあり、これを使ってプロジェクトにデバイスを追加・削除します。
-
+ を選択すると、よく使われるデバイスのリストから選択できます。このリストに OSC1 というデバイスがあります。これを選択してプロジェクトに追加します。
-
追加したら、デバイスのすべてのフィールドが正しく入力されていることを確認します(以下の表を参考にしてください):
OSC ハードウェア Disguise OSC Host d3Net ポートアドレス Port (Outgoing) Port receive Port (incoming) Port send Local IP address OSC ハードウェア IP -
TouchOSC エディター で OSC レイアウトをハードウェアに同期します。これで、OSC コントローラーで何かを変更すると、ダッシュボードの OSC デバイスインジケーターが緑に光り、信号を受信していることを示します。
TouchOSC layout explained
Section titled “TouchOSC layout explained”BlackTrax ベースのプロジェクターキャリブレーション用の TouchOSC レイアウトは、Resources ページの OSC セクション からダウンロードできます。
- Start: キャリブレーションプロセスを開始します。
- Cancel: 最後に配置したポイントをキャンセルしてやり直せるようにします。
- Done: キャリブレーションプロセスを終了します。
- Skip: プロジェクターが今回ポイントをキャリブレーションしない場合(たとえばストリンガーの現在位置をカバーしていない場合など)に使います。単一プロジェクターのフラスタムの端をキャリブレーションするときに使われます。
- Trackpad: クロスヘアの素早い大まかな配置に使います。
- Directional key クリックごとの微調整や、単一軸でのクロスヘアの移動に使います。ボタンを長く押すほどクロスヘアが速く移動します。
- Rotate left & right: クロスヘアの移動方向を、キャリブレーションを行うユーザーの向きに合わせるために使います。
- Previous & Next: 操作モード間を移動するために使います。
プロジェクターキャリブレーション
Section titled “プロジェクターキャリブレーション”- BT デバイスを開き、エディターの下部で「BtProjectorCalibrator」というフィールドを選択すると、BT キャリブレーションエディターが開きます。
- キャリブレーションに使う OSC デバイスを割り当てます。(注: 使わない場合でもこのデバイスを設定してください。)
- トラッキングポイントを割り当てます。これはキャリブレーションプロセスに使われるストリンガーです。
- BT システムで使うプロジェクターを割り当てます。
- 指定のレイアウトで touch OSC を開きます。(または「Remote Calibrator」タブにある GUI インターフェース。)
- OSC で start を押してプロセスを開始します(出力にテストパターンが点滅して全出力サイズを示します。通常はプロジェクターのワイヤフレームの色です)。
- ストリンガーをプロジェクターの出力内に配置します(たとえば色付き出力の右下)。
- OSC アプリで next を押すと、ラインアップグリッドが起動します。
- OSC エディターでクロスヘアを動かして、プロジェクター出力内のクロスヘアを動かします。これをストリンガーに合わせて空間をキャリブレーションします。
- 正しい位置になったら OSC アプリで next をクリックします。
- ソフトウェアは 2 番目のプロジェクターのラインアップグリッドとオーバーラップを表示します。ポイントが次のプロジェクターの視野内にある場合は、ストリンガーを参照ポイントとして使います。合わせたら next を押します。
- 手順 7 から 11 を繰り返し、プロジェクターごとに少なくとも 6 つの参照ポイントを作成します。
- GUI に複数のポイントが表示されます。これらのポイントはキャリブレーションポイントを表します。
- ポイントの配置が終わったら、OSC アプリで Done を押します。
注: GUI インターフェースも同じプロセスで動作するため、同じ手順を使います。
注: 最良のキャリブレーションを得るため、異なる高さと奥行きでポイントをキャリブレーションします。システムが処理する情報が多いほど、キャリブレーションが良くなります。
これでプロジェクターの値がグレーアウトされて表示され、空間がキャリブレーションされ、ビデオがオブジェクトをトラッキングできるようになります。
一部のポイントは、QuickCal で不適切にキャリブレーションされたポイントがラインアップを台無しにするのと同じように、キャリブレーションに悪影響を与えることがあります。これは次の手順で確認できます:
- BlackTrax プロセスに使うプロジェクターの 1 つのエディターを開きます。
- プロジェクターキャリブレーションを開きます。
- キャリブレーションスコアを表示します。スコアが悪い場合は、ポイントをミュートしてキャリブレーション結果を改善してみます。
リジッドボディ
Section titled “リジッドボディ”次のステップは、オブジェクトをトラッキングできるよう、オブジェクトをストリンガーに割り当てることです。このプロセスを開始するには、次の手順に従います:
- デバイスリストでデバイスを右クリックして BlackTrax デバイスを開くと、デバイスエディターが開きます。
- 「Rigid Body」タブを開くと、プラスとマイナスのフィールドが表示され、これを使ってオブジェクトを追加・削除します。
- リジッドボディを作成するとエディターが開きます。これには次ページに示すフィールドが含まれます:
- 目的のオブジェクトを選択します。
- カーソルがポイントを表し、ポイントをドロップする準備ができていることを示します。オブジェクトに 4 つの参照ポイントをドロップします。これは静的な参照ポイントとして使われます。
- points タブで、トラッキングしたい数だけフィールドを追加します。
- 静的ポイントを設定し、使われる BlackTrax ビーコンとなるトラッキングポイントを設定します。
- 「calibrate: snap to fixed point」フィールドを選択します。
- これで実世界のオブジェクトが GUI 内のオブジェクトの向きと位置に一致するはずです。実世界のオブジェクトが動くと、ビジュアライズされたオブジェクトが追従するはずです。
- さまざまなしきい値を編集して、動きをより滑らかにします。
Designer の設定
Section titled “Designer の設定”リジッドボディの一般設定
Section titled “リジッドボディの一般設定”Object: RigidBody にするオブジェクトを選択します。
Engaged: RigidBody のトラッキングを有効または無効にします。
Status:
- Not Calibrated は、オブジェクトがトラッキングされないことを意味します。手動で Calibrated に設定すると、ボディをオブジェクトにトラッキングさせることができます。設定すると、選択したオブジェクトが、その固定ポイントを選択したトラッキングポイントに合わせるように移動します。
- Calibrated オプションは、リジッドボディのキャリブレーションが成功した後に設定されます。後述の Points を参照してください。
Skip: プロジェクターがこの時点でポイントをキャリブレーションしない場合に使用します。たとえば、ストリンガーの現在位置をカバーしていない場合などです。単一プロジェクターのフラスタムの端をキャリブレーションするときに使用します。
リジッドボディソルバーの設定
Section titled “リジッドボディソルバーの設定”Iterations: RigidBody ソルバーにはオプションの反復アルゴリズムがあります。この値は、RigidBody が座標系内であるべき位置と回転を解決するために試行する反復回数の上限を定義します。
Solver mode:
- RigidBody は X、Y、Z の位置と回転のトラッキングに対応します。RigidBody では、BT ビーコンごとに最低 3 本のストリンガーが見えている必要があります。見えているストリンガーが 2 本のみの場合は、一時的に Actor モードに戻ります。
- Actor は X、Y、Z の位置トラッキングに対応しますが、回転には対応しません。このモードは最低 1 本のストリンガーが見えていればトラッキングできますが、常に 2 本以上見えていることを推奨します。Actor ソルバーは、入力位置と参照位置を平均し、更新ごとに差分を計算します。Motive 設定のリフレッシュレートに従い、100Hz で更新されます。
Movement Threshold: 非ゼロ値に設定すると、Dynamic Blend の再計算を防ぎます。ほぼ静止しているオブジェクトのわずかな振動が、不要な Dynamic Blend の更新を引き起こす場合に使用します。
Rotation Threshold: 非ゼロ値に設定すると、Dynamic Blend の再計算を防ぎます。ほぼ静止しているオブジェクトのわずかな振動が、不要な Dynamic Blend の更新を引き起こす場合に使用します。
Points および Calibrate: Points では、リジッドボディモデルの頂点をクリックして配置した固定ポイントをいくつか選択し、それらをストリンガー(Tracked Points として表されます)に結び付けます。対応するポイントを互いに割り当て、必要に応じて追加のオフセットを設定します。その後 Calibrate ボタンを押すと、入力されるトラッキングデータと Designer 座標系内の固定ポイントとの間の変換が計算されます。
Tweak: Tweak は、リジッドボディへの投影をより正確に整合させるために使用します。投影が合うまで XYZ の位置と回転のオフセットを調整します。なお、結果によっては、代わりにモデルを再スケーリングした方が良い場合もあります。
Constraints Enabled: 移動を制限したいすべての軸に設定します。1 でオン、0 でオフになります。
Constraints Min / Max: 軸ごとに実際の位置または回転の制約を設定し、最終的な値が設定した最小値を下回ったり最大値を超えたりしないようにします。
トラッキングの喪失/復帰時の設定
Section titled “トラッキングの喪失/復帰時の設定”Action On Tracking Lost: トラッキングデータが失われた場合の動作を、次の 3 種類から選択できます。
- Maintain Last Known Values: リジッドボディの姿勢を更新せず、最後に受信した位置と回転を保持します。
- Reset は、トラッキングデータが失われた場合にリジッドボディが移動する位置を定義できます。
- Follow sequencing は、冗長性の一形態として、リジッドボディがタイムライン上にプログラムされた任意の ScreenPositionModule に追従することを意味します。