vci:component:sdk:subitem:owned

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
最新リビジョン 両方とも次のリビジョン
vci:component:sdk:subitem:owned [2020/11/05 17:00]
t-daihisa ↷ vci:sdk:subitem:owned から vci:component:sdk:subitem:owned へページを移動しました。
vci:component:sdk:subitem:owned [2022/08/19 18:39]
pastatto 掴む→つかむ
ライン 1: ライン 1:
 ====== SubItemの所有権と同期処理の関係 ====== ====== SubItemの所有権と同期処理の関係 ======
  
-SubItem・同期・所有権の関係性について説明します。\\+SubItem・同期・所有権の関係性について説明します。
  
-----+[[vci:​script:​reference:​eventfunction:​ownership]]も参照してください。
  
 ===== 概略 ===== ===== 概略 =====
  
-VCIアイテムは**複数プレイヤネットワーク同期**する必要あります。\\ +  * **SubItem位置・回転・拡大/​縮小**は、サバを介して**ネットワーク同期**が行われ 
-ネットワーク同期はサーバを介して行われます。\\ +    ​* ​ここでの「同期」とは、同じになるよう強制すること 
-ここでの「同期」とは、位置・回転・拡大縮小が同じになるようすることです。 +  * 位置・回転・拡大/​縮小以外の値は**同期されない** 
- +  ​* ​SubItemの子孫オブジェクト値は**同期されない** 
-VCIで**SubItem毎に同期**します。\\ +  * SubItemには**所有者 (VCIまたはSubItemの所有権を持つ者)** と**非所有者**の関係があ 
-SubItemは、0個(背景等動かないも)、1個(普通アイテム)、2個以上(複数の物体がセットにってる)ができます。 +    * 所有者側では**物理挙動やUpdate関数などで動作した結果の情報が送信**され 
- +    * 非所有者側では**その結果を受信して再生**す 
-また、VCIアイテムには**親(VCIまたはSubItemの所有権を持つ者所有者)と子の関係**があります。\\ +  * **SubItemつかむと所有権が移る**
-側では**物理挙動やUpdate関数などで動作した結果の情報が送信**され、\\ +
-側では**その結果を受信して再生**していま。(子は親の過程を知らず、結果だけを受信)\\ +
-VCIアイテム握ると所有権が移ります。+
  
 その他、以下のような特徴があります。 その他、以下のような特徴があります。
  
-同期は毎フレームではなく、間引かれて実行される +  * 同期は毎フレームではなく、間引かれて実行される 
- 位置・回転・拡大縮小はそのまま送信するとカクカクするため、バーチャルキャストが動きを補間する\\ +  ​* ​位置・回転・拡大/縮小はそのまま送信するとカクカクするため、バーチャルキャストが動きを補間する 
- 細かい動きや機敏な動きは同期した時に相手側で見た目が変になる場合がある +    ​* ​細かい動きや機敏な動きは同期した時に相手側で見た目が変になる場合がある 
- 同期には遅延があるため、完全に同じ見た目・同じ動きにはならず、若干のズレが発生する場合がある+  ​* ​同期には遅延があるため、完全に同じ見た目・同じ動きにはならず、若干のズレが発生する場合がある
  
 {{ :​モデル作成:​vci作成:​about_subitem_1.png?​nolink&​648 |}} {{ :​モデル作成:​vci作成:​about_subitem_1.png?​nolink&​648 |}}
ライン 30: ライン 27:
 ===== 所有権 ===== ===== 所有権 =====
  
-**SubItemの位置・回転・拡大縮小を変更できる権利**です。\\ +**SubItemの位置・回転・拡大/縮小を変更できる権利**です。\\ 
-**SubItemごとにスタジオで一人だけが**になれます。 同期は、**からへの一方通行**になされます。\\ +**SubItemごとにスタジオで一人だけが所有者**になれます。同期は、**所有者から非所有者への一方通行**になされます。\\ 
-※所有権は、ネットワーク同期の所有権でauthorのことではありません+※所有権は、ネットワーク同期の所有権であり、authorのことではありません
  
 {{ :​モデル作成:​vci作成:​about_subitem_2.png?​nolink&​648 |}} {{ :​モデル作成:​vci作成:​about_subitem_2.png?​nolink&​648 |}}
ライン 38: ライン 35:
 ==== 所有権を得る ==== ==== 所有権を得る ====
  
-バーチャルキャストでは、誰でもアイテムをむ(Grab)ことができて、アイテムをむと所有権が移ります。+バーチャルキャストでは、誰でもアイテムをつかむ(Grab)ことができて、アイテムをつかむと所有権が移ります。
  
 {{ :​モデル作成:​vci作成:​about_subitem_3.png?​nolink&​648 |}} {{ :​モデル作成:​vci作成:​about_subitem_3.png?​nolink&​648 |}}
ライン 45: ライン 42:
  
 SubItemの所有権に加えて、VCIの所有権があります。\\ SubItemの所有権に加えて、VCIの所有権があります。\\
-VCIの所有権は、アイテムをシーンに呼び出したユーザーが持っていて、Grabで移動することはありません。+VCIの所有権は、VCIの所有者 (VCIをシーンに呼び出したユーザーが持っていて、Grabで移動することはありません。\\ 
 +[[vci:​script:​reference:​eventfunction]] の一つ、update関数は、VCIの所有者だけで呼ばれます。\\
  
-==== Update関数と所有権 ==== +このことより例えば、update関数内で位置・回転・拡大/縮小を変更しても、所有権が無いSubItemの位置・回転・拡大/縮小は行えません。\\ 
- +SubItemの所有権のあるユーザーに位置・回転・拡大/縮小の状態を上書きされる)\\
-VCIスクリプトのUpdate関数はVCIアイテムだけで呼ばれます。\\ +
-このことより例えば、VCIアイテム内のSubItemの所有権が無い状態で、Update関数内で位置・回転・拡大縮小を変更しても、所有権が無いSubItemの位置・回転・拡大縮小は変更されません。\\ +
-(所有権のあるプレイヤーに位置・回転・拡大縮小の状態を上書きされる)\\+
  
 {{ :​モデル作成:​vci作成:​about_subitem_4.png?​nolink&​648 |}} {{ :​モデル作成:​vci作成:​about_subitem_4.png?​nolink&​648 |}}
ライン 57: ライン 52:
 ===== 物理挙動 ===== ===== 物理挙動 =====
  
- +所有権と物理は密接な関係があり、物理が有効なSubItem所有権のあるアイテムだけ物理挙動します ​(所有権のないSubItemは Kinematic = true になる)。\\
-所有権と物理は密接な関係があり、物理アイテム**所有権のあるアイテムだけ物理挙動します**。\\+
 **所有権の無いアイテムは、所有者の結果をコピー**します。\\ **所有権の無いアイテムは、所有者の結果をコピー**します。\\
 所有者の結果は**間引きして送信される**ので、間が補完されて奇妙な動きをする場合があります。\\ 所有者の結果は**間引きして送信される**ので、間が補完されて奇妙な動きをする場合があります。\\
vci/component/sdk/subitem/owned.txt · 最終更新: 2022/09/05 18:02 by pastatto

ページ用ツール