====== VCI SubItem (VCISDK) ====== VCI SubItemのコンポーネントについて。\\ SubItemとは、VCIが持てるかどうか、縮尺可能かどうかなどの、基礎的なふるまいを定義するコンポーネントです。 ===== VCI Sub Item ===== SubItemとして使用したいobjectの数だけアタッチします。\\ 動く必要のないオブジェクトでVCIスクリプトによる制御も加えないのであれば、SubItemのコンポーネントは不要です ^ プロパティー ^ 機能 ^ UniVCIバージョン ^ | Grabbable | チェックを入れるとVCIがつかめるようになります | | | Scalable | チェックを入れるとVCIをつかんだ状態で拡縮できるようになります | | | UniformScaling | チェックを入れるとX,Y,Zの比率を維持した拡縮に制限します | | | Attractable | チェックを外すとバーチャルキャスト上で引き寄せ出来なくなります | v0.30以上 | | GroupId | 共通のIDを持つVCIの所有権を取得する事ができます | | ==== Grabbable ==== チェックを入れるとアイテムをつかめる(Grab)ようになります。\\ また、つかんだ際に[[vci:script:reference:eventfunction|VCIイベント関数]]の onGrab() onUngrab() の実行が可能になります。 ==== Scalable ==== チェックを入れると両手でSubItemを持った状態でひっぱると、VCIの大きさを拡縮する事ができます。\\ Grabbableが有効な時に設定可能なオプションです。\\ 拡縮時の限界値は下記の範囲内になるため、サブアイテムのスケールがこの範囲よりも離れている場合、拡縮時に瞬間的に大きくなったり小さくなったりします。 ^下限値|0.2| ^上限値|10.0| ==== UniformScaling ==== チェックを入れるとX,Y,Zの比率を維持した拡縮のみに制限します。\\ (全てのscaleが一様に変化する) チェックが外れている場合はVCIをつかんでいる手の動きに応じて、VCIのX,Y,Zの各scaleが変化します。\\ 例えば、Y方向に広げた場合はY方向のscaleのみが変化します。 ==== Attractable ==== バーチャルキャスト上でSubItemの引き寄せを実行した場合の挙動を指定出来ます。\\ チェックが外れている場合は、引き寄せることが出来なくなります。 ==== GroupID ==== GroupIDは以下のような仕様になっています。\\ 詳細は [[vci:component:sdk:subitem:groupid|GroupIDについて]] を参考にしてください。 * 初期値は 0 である。 * GroupIDが0同士の場合、所有権の変更処理は行われない。 * SubItemをつかむ(Grab)と所有権を得ることができる。 * 所有権を持っているユーザーのクライアントが物理演算を行い、他のユーザーはその結果を受け取って動かしている。 * つかんで所有権を得る際に、GroupIDが同じ他のSubItemの所有権がつかんだユーザーに移る 所有権をもったユーザーのクライアントで物理演算を行い、各クライアントへ結果を反映します。