====== SubItem GroupID の役割・使い方 ====== SubItemにはGroupID設定があります。 {{ vci:sdk:groupid_1.png?nolink&530 |}} ※ [[vci:component:sdk:subitem| VCI SubItem Component (VCISDK)]]についてはこちら GroupIDは、複数のSubItemを含むVCIで**0以外を設定したときに有効**になります。 GroupIDが0以外のSubItemをGrabして所有権を移動させた場合に、**同じGroupIDを持つSubItemの所有権を同時に移動**させます。 GroupID=0 がデフォルトでグループ化しません。 {{ vci:sdk:groupid_2.png?nolink&648 |}} ===== 何に使うのか ===== VCIに複数のSubItemを入れてその両方が物理挙動で相互に作用して欲しい場合等に使います。 {{ vci:sdk:groupid_3.png?nolink&648 |}} 上図のように、Bの世界ではボールは**Aの物理の結果をコピーされるだけ**なので動きません。\\ Aの世界で動いた棒がボールをつついた結果がコピーされて結果として動きます(遅延する) {{ vci:sdk:groupid_4.png?nolink&648 |}} 上図のように、棒(B所有)でボール(B所有)をつつくとうまく物理挙動します。\\ このように**関連するSubItemの所有権を、SubItemをGrabしたユーザーに集めるためにGroupIDを使います**。 ===== 使用例 ===== * ビリヤード。棒をGrabしたら球も一緒に所有権が移動する * Jointで連結しているもの。一部をGrabしたら所有権をまとめて移動する