コンテンツにスキップ

OmniCal マルチポーズアライメント

Multi-pose alignment は、簡単な自動化によって制御される移動オブジェクトへの投影を可能にする QuickAlign ツールです。

OmniCal QuickAlign は、secondary(非マスター)オブジェクトをマスターオブジェクトに対して相対的に配置します。通常のワークフローでは、すでにユーザーが 複数のオブジェクトを整列 する(マスターオブジェクトとは別に)ことができます。これは、実世界でのオブジェクト間の相対的な距離と角度が不明な場合に便利です。

マルチオブジェクトシーンは、すべての移動オブジェクトに正確な 3D トラッキングデータが利用可能であれば、動く背景への投影をサポートします。しかし、オブジェクトはしばしば、3D トラッキングデータの代わりに正確な 1D モーター情報を提供する 1D 自動化システムを使用してステージ上で移動されます。Multi-pose alignment はこのユースケースのために存在します。これにより、ユーザーは移動オブジェクトに対して正確な 3D ポーズを作成でき、各ポーズは特定の automation 軸の値にリンクされます。

Multi-pose alignment は、secondary オブジェクト(マスタースクリーンは除く)の整列を、動きをカバーするように拡張します。複数のポーズ(位置と向き)でオブジェクトを整列する機能を追加し、整列された各ポーズは、そのときに記録された automation 値に関連付けられます。Designer は、現在受信している automation 値に基づいて、整列されたポーズ間を補間できます。補間により、記録・整列されたポーズの間に新しい 3D ポーズが生成されます。これにより、automation システム自体は単一軸の値しか提供しないにもかかわらず、移動オブジェクトへの正確な投影が可能になります。

現在、直線経路に沿った移動のみがサポートされており、これにはオブジェクトごとに 2 つのポーズが必要です。これらのポーズは通常、オブジェクトが見える 2 つの極端なポーズとして選択されます。

このワークフローは OmniCal の Multi-Pose Alignment 用であり、例えば回転オブジェクトの QuickCal の Multi-Pose calibration と混同しないでください。

  • 移動するプロジェクションオブジェクトに加えて、固定の master screen が必要です。
  • 正確なメッシュ: Multi-pose は、オブジェクトのポーズ間を補間するように設計されています。これらのポーズはアライメントポイントによって決定されるため、正確な 3D モデルが必要です。
  • 最適なキャリブレーションのために、master screen はセットアップ全体の基準を設定するので、実世界のスケールに一致させるべきです。master screen のスケールが正しくない場合、すべての secondary screen に調整が必要になることがあります。
  • 直線経路のみをサポートし、automation システムからの入力値は 1 つです。
  • 回転のピボットポイントの計算をサポートしていません。
    • オブジェクトがポーズ間で回転する場合、システムは単にこれらの回転を線形補間します。これは望ましい結果ではないかもしれません。
  • Multi-pose alignment は単一のキャリブレーションのみを使用します(QuickCal のような multi-pose calibration ではありません)。したがって、プロジェクターのキャリブレーションにいくつかの重要な要件があります。
    • プロジェクターは深度を伴ってキャリブレーションする必要があります(例: DLT アルゴリズムを使用)。blob を単一の平面上(同一平面、coplanar)に配置することはできません。
    • 投影は、キャリブレーションされた「空間」内、つまり blob を囲むボリュームの周りでのみ正確になります。サーフェスの移動はこのエリアに制限すべきです。いつものように、床やオブジェクトの背後の領域に当たる blob は、キャリブレーションされたボリュームを拡張するのに役立ちます。
  • メッシュの補間は行われません。
  • Multi-pose alignment は Rig Check ワークフローではサポートされていません。
    • 通常、Multi-pose を定期的に使用する必要はありません。
    • automation システムに変更があり、スクリーンが異なる経路に沿って移動する場合にのみ、やり直す必要があります。
  1. 高品質のメッシュを抽出します。
  2. すべての移動スクリーンに automation 軸をセットアップします。
  3. capture と calibration を実行します。
  4. base ポーズで master screen とすべての静的スクリーンを整列します。
  5. 各移動スクリーンに 2 つのポーズを作成します。

1. 高品質のメッシュを抽出する

Section titled “1. 高品質のメッシュを抽出する”

multi-pose ワークフローには正確なメッシュが必要です。すでにこれらをお持ちの場合や、シミュレーション中の場合は、このステップをスキップできます。

詳細については OmniCal を使用したメッシュの抽出 を参照してください。

2. すべての移動スクリーンに automation 軸をセットアップする

Section titled “2. すべての移動スクリーンに automation 軸をセットアップする”
  1. 通常のワークフローを使用して automation device とドライバーを作成します。
  2. オブジェクトの XYZ 位置と XYZ 回転のために、すべて automation からの同じ入力 ID を持つ 6 つの軸を以下のように作成します。

Set up automation axes for all moving screens Set up automation axes for all moving screens

3. capture と calibration を実行する

Section titled “3. capture と calibration を実行する”
  1. 通常の OmniCal ワークフローに従って capturecalibrate します。
  2. Quick Align エディターを開きます。

4. base ポーズで master screen とすべての静的スクリーンを整列する

Section titled “4. base ポーズで master screen とすべての静的スクリーンを整列する”

Align master screen and all static screens in base pose

  1. QuickAlign の Current Posebase に設定され、Master ScreenCurrent Screen がビジュアライザー内の実際の master screen オブジェクトに設定されていることを確認します。
  2. 通常どおり整列を実行します。
  3. すべての静的スクリーンについて繰り返します。
  4. reshape ツールは base ポーズでのみ使用できます。他のポーズでは、現在のメッシュが移動されますが、それ以上の reshape はサポートされていません。
    • なお、他のポーズでは、UI はまだアライメントポイントを reshape ポイントに変えることを防ぎません。
    • Multi-Pose ワークフローを使用する必要があるメッシュを reshape する必要がある場合は、base ポーズで整列して reshape するか、別のステップで行い、メッシュをエクスポート+再インポートする(おそらく推奨)かのいずれかで行えます。

5. 各移動スクリーンに 2 つのポーズを作成する

Section titled “5. 各移動スクリーンに 2 つのポーズを作成する”

ほとんどの場合、2 つのポーズ(最小ポーズと最大ポーズ)を作成すれば十分です。それぞれ、オブジェクトが見える/投影される最も極端な位置です。例えば、プロジェクションサーフェスが左から右に移動される場合、これらは信頼できる整列を生成するのに十分なアライメントポイントがまだ見える、最も左と最も右の位置です。

新しいポーズが作成されると、OmniCal によって新しい短い capture が取得されます。この capture には、オブジェクトの整列を助けるために QuickAlign 内で使用されるアライメント画像のみが含まれます。これらの capture はキャリブレーション結果には寄与せず、multi-pose alignment にのみ寄与します。

ポーズを右クリックすると、その中に含まれるスクリーンと automation データを表示できます。

  1. OmniCal のカメラ検出を有効にします。
  2. Quick Align エディターを開いた状態で、automation オペレーターに移動オブジェクトを最小可視位置に移動するよう依頼します。
  3. Create Pose をクリックします。
    これにより capture が取得され、ユーザーが整列するためのカメラ画像が表示されます。また、現在の automation 入力値のスナップショットも取得されます。
  4. automation によって今移動されたオブジェクトを、整列する Current Screen として選択します。
  5. この最小位置でスクリーンの整列を実行します。
    各ポーズには複数のスクリーンを含めることができるので、見える各スクリーンについてこれを繰り返せます。あるいは、スクリーンごとに別々のポーズを作成することもできます。
  6. Quick Align エディターの automation セクションで Set Min Range をクリックします。
  7. これで最小ポーズが設定されました。
  1. Quick Align エディターを開いたままにし、automation オペレーターにオブジェクトを最大可視位置に移動するよう依頼します。
  2. 同じポーズ作成手順を繰り返しますが、手順 6 では Quick Align エディターの automation セクションで Set Max Range を選択します。
  3. Normalise Rotation をクリックします(ポーズ間で 180 度以上の回転が必要な場合を除き、常に必要です)。
    例えば、multi-pose alignment の後、最小出力として -0.2 度、最大出力として 359.7 度が得られた場合、最小出力を 359.7 に設定するか、最大出力を -0.3 度に設定すべきです。これは、回転の方向が曖昧だからです。
  4. Quick Align エディターを閉じ、automation がエンゲージされていることを確認します。

OmniCal を使用したメッシュの抽出

Section titled “OmniCal を使用したメッシュの抽出”

multi-pose ワークフローに特有ではありませんが、正確なメッシュを生成すると、キャリブレーションワークフローが簡素化されます。

通常の OmniCal ワークフローに従います。

  1. plan を作成します。
  2. Capture
  3. Calibrate
  4. Align

Capture, calibrate, QuickAlign in the OmniCal plan Capture, calibrate, QuickAlign in the OmniCal plan

アライメントポイントを reshape する

Section titled “アライメントポイントを reshape する”

reshape ツール(shift + アライメントポイントをドラッグするとダイヤモンドが表示される)を使用して、実世界空間内の実際のオブジェクトの形状に合わせます。満足したら、reshape したメッシュをエクスポートします。これらはプロジェクトの output/ フォルダーに書き込まれるので、プロジェクトの Mesh フォルダーにコピーする必要があります。

Reshape Alignment PointAlignment Point
Reshape Alignment PointAlignment Point

メッシュをエクスポートするには、screen editor でメッシュを右クリックして mesh editor を表示します。normalise に False を選択し(これにより新しいメッシュを使用するときにスクリーンのオフセットと回転が正しくなります)、新しいメッシュの名前を入力して OK をクリックします。メッシュは次のフォルダーにエクスポートされます: output/mesh/filename.obj

Export mesh editor Export mesh editor

アライメントポイントをリセットする

Section titled “アライメントポイントをリセットする”
  1. 新しく reshape したメッシュが Mesh フォルダーにコピーされると、Designer がそれをシステムに取り込み、スクリーンのメッシュ一覧に表示されるはずです。これらのメッシュをプロジェクションサーフェスに割り当てます。
    これが完了すると、(メッシュが変わったため)アライメントポイントはもはや有効でなくなります。
  2. Quick Align エディターを開きます。
  3. Quick Align で Reset Alignment を選択して、アライメントポイントを削除します。必要に応じて、reshape ツールを使用せずにアライメントポイントを使ってスクリーンを再整列します。

Reset alignment Reset alignment