注: シーンに追加された3Dモデルは、デフォルトではSpatial Workplaceアプリで表示されません。モデル全体または特定の部分を見えるようにするには、ワークフローにシーンステートノードを追加します。
コネクタ図
コネクタビューにアクセスするには、エディタのトップメニューにある「コネクタ」をクリックします。メインシーンの隣にコネクタペインが開きます。
コネクタ ビューでは、ワークフローのspatial 参照とピンは、その接続を2D表示するノードとして見ることができます。spatial 、ピン、クイズピンの他に、シーンステートノードとコンディションノードという2つの特殊なタイプのノードをコネクタで追加することができます。
シーンステートノード
シーンステートノードは、ワークフローのシーンにおける修正を実行する。1つのノードには、3種類の修正があります:
- インタラクト可能:ワークフロー内で選択したモデルやパーツを移動させることができるようになります。
- 可視化される:選択したモデルやパーツが可視化されます。
- トランスフォームをリセットします:選択したモデルやパーツが元の場所から移動した場合、これを元に戻し、デフォルトの状態にリセットします。
可視性を変更し、シーンステートノードを追加する:
- コネクタビューを開き、「Add」→「Scene State Node」をクリックします。
- ノードをクリックして選択し、右側の「Add Scene Modifier」→「Visible」をクリックします。
3.Add Targetsをクリックして選択画面を開き、モデルの可視化する部分を選択します。
4.モデル全体を見えるようにするには、左側のシーンエクスプローラーを開き、トップアセンブリを選択し、Enter
キーを押します。選択したモデルがシーン内でハイライト表示されるようになりました。また、パーツの1つだけを選んで表示させることもできます。
注:インタラクティブな要素を持つワークフローは、HoloLensでのみサポートされています。
- 以下の例では、spatial 参照とピン1の間に最初のシーンステートノードが追加されています。これは、ワークフローの開始時に、ピン1が表示される前にこのシーンステートがすでにロードされることを意味します。
- Add Scene Modifier ボタンを使って、このノードに2つの変更が加えられ、変更のターゲットがインタラクティブで見えるようになります。ユーザは、修正に任意の数のターゲットを追加することができます。
- この場合、ロボットアーム全体を可視化し、難解にするために「アーム」モデル全体が選択されています。いずれにしても、シーンステートノードを選択すると、そのノードが3Dシーンで修正する部分がハイライトされる。
- Spatial Workplaceアプリでピン1がロードされると、ユーザーはモデルを見ることができ、対話することができます。ユーザーがピン 1 のDone をクリックすると、ワークフローはシーンステート 2 を通過します。
- このシーンステートには、選択された腕の部分をターゲットとするReset Transformノードが含まれています。アクティブにすると、モデルの位置が元の状態にリセットされます。
注意:リセット後もターゲットはインタラクション可能で、表示されています。インタラクションを無効にするには、同じターゲットでInteractableタイプの別のシーンステートチェンジを追加し、Targets interactable ボックスのチェックを外す必要があります(以下の画像を参照)。
コンディションノード
- 条件 ノードでは、真か偽の結果をもたらす条件をパスに追加することができます。したがって、条件ノードから出力される接続は、常にBinaryタイプです。
- それぞれの条件を満たした場合に、ユーザーが進むべき道を象徴しています。
- 2番ピンの後に条件ノードを追加しています。2番ピンと条件ノードの接続は、Autoタイプで遅延は0です。これにより、前のピンがアクティブになり、2番ピンがアクティブになると条件ノードが自動的にアクティブになり、ユーザーから見て2番ピンが消えることはありません。
- いずれも移動に基づく条件であり、腕の最終リンクをターゲットとしている。
- 条件式は "OR "に設定されており、ユーザーがTrue接続を有効にするためには、少なくとも1つの条件を実行する必要があることを意味します。
- 最初の条件は、モデルパーツをY軸方向に10単位(公差は2)回転させることを想定しています。
- 2つ目の条件は、Y軸方向に-10単位(公差2)、つまり同じ距離で反対方向に回転させることを期待するものです。
- このユニットは、ターゲットモデルがインポートされたときに選択されたものです。さらに、Check on dropトグルが有効になっており、ユーザーがモデルをリリースしたときのみ真偽の接続をトリガーし、常時はトリガーしないようになっています。次の画像は、この例の条件ノードメニューの状態を示しています。
- Spatial Workplaceでワークフローを実行し、ピン2に到達すると、ユーザーがロボットアームの最後の部分をY軸に沿って定義された値だけ回転させた場合に条件が満たされることになります。ユーザーがモデルを離すと、True接続が有効になり、ピン3が有効になります。
- ユーザーがモデルを他の位置に動かすと、False接続が有効になって「Try again」ピンが表示され、ユーザーが2ピンに戻ってパーツの回転を再試行できるように、ループとして便利にそこに追加されます。
注:ここでReset Transformタイプのシーンノードを追加することで、ユーザーによるパーツの不正な動きをリセットすることも可能です。
- Check on drop トグルは、ユーザーがモデルの期待する位置を達成しやすくするために、無効にすることができます。ユーザーが動かし始めると、条件は常にチェックされ、落としたり離したりすることなく、正しい値に達すると真と表示されます。
- ただし、条件内でtrueとfalseの両方を使用した場合、ユーザーが動作を開始すると、どちらか一方が自動的にトリガーされることに留意してください。このため、標準的なワークフローでは、Check on drop トグルが無効になっている場合は、どちらか一方のコネクタ出力のみを使用することをお勧めします。