Difference のバックアップ(No.2)


 いずれは全てのモジュールについて解説したいところですが、ひとまずVRC_Triggerとの差異のみを挙げます。

実装を見送ったもの Edit

VRC_Triggerに存在するが、Trigger2to3に実装しなかったもの。

Trigger Edit

  • Relay
  • OnDataStorageChange

Action Edit

  • AddDamage
  • AddHealth
  • PlayAnimation
  • SendRPC

  ⇒ 一部の機能は独立したActionとして設けている。

  • SetComponentEnable

  ⇒ 実装したかったが汎用的に作ることが難しく断念。

  • SetWebPanelURI
  • SetWebPanelVolume
 

機能追加 Edit

VRC_Triggerには存在しなかったが、Trigger2to3で実装したもの。

SendRPCで行っていた機能の代替なども含む。

Trigger Edit

  Dropに用いるボタンが押されたときに発火

   Value:Downは押したとき、Upは離したとき

  Jumpに用いるボタンが押されたときに発火
   Value:Downは押したとき、Upは離したとき

  Grabに用いるボタンが押されたときに発火
   Value:Downは押したとき、Upは離したとき

  Useに用いるボタンが押されたときに発火

   Value:Downは押したとき、Upは離したとき

 

Action

  LocalPlayerの加速度を加算する。

   Velocity:加速度ベクトル

 

  AudioSourceの一時停止を操作する。

   Operation:Pauseで一時停止、Unpauseで一時停止解除。

 

  AudioSourceの再生を操作する。

   Operation:Playで再生、Stopで停止、Toggleは再生と停止のトグル。

 

  他のUdonのPablicメソッドを呼び出す。

   Method:メソッド名。

   Network:他プレイヤーに動作させる場合はTrue、ローカル動作はFalse。

   Target:Networkの場合、動作させるプレイヤー。

       Allは全員、Ownerはオブジェクトオーナーのみ。

 

  Pickupしているものを外す。

 

  Pickupしているものを振動させる。

 

  指定したGameObjectの子のGameObjectのActiveを一括で変更する。

 

  RigidbodyのIsKinematicを設定する。

 

  LocalPlayerのジャンプ強度を変更する。

 

  指定したGameObjectの子のGameObjectを検査し、

  最初にoperationのActive状態(True or False)なっていないGameObjectがあれば、

  変更する。

 

  GameObjectの親を変更する。

   parent:親のGameObject

   World Position Stays:Trueはワールド座標を保持。Falseは親との相対座標を保持。

 

  LocalPlayerの移動速度を変更する。

 

  LocalPlayerの加速度を変更する。

   Velocity:加速度ベクトル

 

  指定したGameObjectの子のGameObjectを検査し、

  operationのActive状態(True or False)なっていないGameObjectの中から、

  ランダムで1つ、そのActive状態に変更する。

 

  RigidbodyのUseGravityを設定する。

 

  LocalPlayerのボイス設定を変更する。

  おそらくVRC_PlayerAudioOverrideの代替になるもの。

 

  VRCObjectPoolを使用して、オブジェクトを1つSpawnさせる。

  SpawnObject(Instantiate)が使い物にならないための代替手段として、VRChatが正式に用意している手法。

  (ObjectPoolingの手法としてはSetNextChildActiveも利用可能)

 

  GameObjectを移動させる。VRC_TriggerのSendRPC(TeleportTo)と同じ。

 

  椅子(VRC_Station)に座る。同GameObjectにVRC_Stationが必要。

 

補足 Edit

  • 椅子から立ち上がらせるには?

  ⇒TeleportPlayerでLocalPlayerを移動させれば立ち上がる。

  • リスポーンさせるには?

  ⇒Respawn Height Yよりも低い位置にTeleportさせればリスポーンする。