協調タスク
協調タスクの概要
協調タスクとは、複数のタスク実行者を必要とするタスクです。協調タスクが使用される一般的なシナリオをいくつか示します。
- アイテムを輸送するために複数のオペレーターが必要な場合
- 組み立てまたは処理に複数のオペレーターが必要な場合
- オペレーターが他のオペレーターに何かを引き継ぐ必要があるとき
- 2人以上のオペレーターが別々のタスクを同時に行う必要がある場合
ほぼすべての協調タスクシーケンスで、カスタムタスクロジックを作成する必要があります。
次の画像は、重い箱を輸送するために2人のオペレーターが時折必要となる、協調タスクシーケンスの例を示しています。
協調タスクの作成に使用されるツール
[処理フロー]ツールは、協調タスクシーケンスを含むカスタムタスクシーケンスを構築するための理想的なツールです。協調タスクを構築するために使用する最も一般的なアクティビティは[調整]アクティビティです。これらのアクティビティは特に、同時に発生する必要があるタスク、プロセス、ロジックを調整するように設計されています。詳細については、「処理フロー - 調整」を参照してください。
場合によっては、サブフローアクティビティを使用してタスクシーケンスを調整することも有効です。詳細については、「サブ処理フロー」を参照してください。
リストとリソースの共有アセットは、タスクを実行するタスク実行者の可用性も管理できます。詳細については、「共有アセットについての主要な概念」を参照してください。
協調タスクロジックを作成する
このセクションでは、協調タスクを構築するための基本ステップの概要について説明します。次の画像は、協調タスクロジックとプロセスに関連するさまざまなステップの例を示しています。
1.協調タスクを開始する
一般に、協調タスクを作成するときは、実行する必要があるタスクは処理フロー内のトークンと相互に関連している必要があります。
タスクの必要性を生み出す3Dモデル内のイベントに応答するアクティビティで、協調タスクシーケンスを開始する必要があります。たとえば、3Dモデルでイベントをリッスンするイベントトリガーソースを使用すると、協調タスクシーケンスが必要になります。
2.トークンを分割する
トークンがタスクシーケンスで作成されると、通常はトークンを分割する[分割]アクティビティから開始する必要がありますが、タスクシーケンスには多数のタスク実行者が必要です。
3.タスク実行者を取得する
タスクの各セットのタスク実行者を取得するには、[リソースを取得]または[リストからプル]を使用します。必要なタスク実行者をそれぞれ個別に取得またはプルする必要があります。理想としては、独自のコンテナトラックを使用します。
4.タスクの構築と同期
次に、協調タスクに必要な実際のタスクを作成します。通常、メインタスク実行者は実際のタスクを実行しますが、補助タスク実行者はメインタスク実行者が3Dモデル内を移動するのと同時に単に移動します。
各タスクの後に、タスク実行者が互いに同期していることを確認するために[同期]アクティビティを含める必要があります。さもなければ、それらのタイミングは分散し始め、1人のタスク実行者が他より先になってしまう可能性があります。
5.タスク実行者をリリースする
調整が必要なタスクが完了したら、タスク実行者をリリースします。
6.補助タスク実行者トークンを結合または破棄する
タスク実行者をリリースしたら、補助タスク実行者に関連付けられているトークンを破棄する必要があります。[結合]アクティビティを使用してトークンを1つのトークンに統合することもできます。ただし、補助タスク実行者のトークンからのラベル情報は保持されない可能性があることに注意してください。親、子、兄弟トークン間のラベルの相互作用の詳細については、「処理フロー - 調整」を参照してください。
チュートリアルと詳細な情報
協調タスクの詳細については、以下の関連チュートリアルを実行して、この章で説明している概念を実際に体験することをおすすめします。
協調タスクの構築に関連する処理フローアクティビティについてのより詳細な説明については、「処理フロー - 調整」と「サブ処理フロー」を読むこともおすすめします。