NeosVRのLogiX開発のための自分用メモ。

基本的な事項についてはこちらの記事を参照
https://qiita.com/rhenium_vrc/items/4011321f1e6eca...

引っかかったポイント

BluePrintと併用して使う場合の注意点

DynamicVariableInputの張り付けを行った時、DynamicVariableInputから正常に値が取れない現象が発生することがある。
対処方としてReadDynamicVariableを代わりに使うか、DynamicVariableInputのみBluePrintに張り付けずに管理するのが良いと思われる。

アエトリズ氏解説によれば、
DynamicVariableInputはDynamicVariableSpaceの子になっていないと機能しないので、Blueprintに貼り付けると動かなくなります。(Blueprintは上で離したGrabbableをくっつける"GrabbableReceiver"というComponentが使われているので)
ちゃんとした位置に再パッキングすると動きます
とのこと。

アイテムやアバター保存時の参照先の消失に注意

DynamicVariableを使ってアイテムに特殊なギミックを施したりアバターに何かを仕込ませる場合、
特にDynamicReferenceVariableに格納された値は、アイテムやアバターの保存→ロード時に消えてなくなってしまうことがある。
これはアバターを着ている(アイテムを所持している)時と保存をしている時の違いにあり、
アバター保存時に参照先の値やSlotが消失することが原因です。
以下、その一例。
Grabberなど一部の特殊なスロット:アバター保存時には存在せず装着時に追加されるSlotの為、参照先がなくなりNullとなってしまう。
User:保存時(保存先)においてはUserは参照できない仕様になっているらしく、Userの値も保存時にNullになってしまう。

DynamicImpulseTriggerとOnePerFrameについて

Dupulicateをする際、中のLogiXでDynamicImpulseTriggerの呼び出しにOnePerFrameを使っている際、
上手く動作しないことがある。
筆者の場合はOnCollisionStayからOnePerFrameを繋いでDynamicImpulseTriggerで呼び出したLogiXが含まれたSlotを複製した際、
この問題が発生した。
OnePerFrameを削除することで正常に動作した。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます