UdonSharpBehaviourのトリガー関数
Interact()
VRC_Triggerでいうところの、OnInteract。 オブジェクトに対してアクションしたときに呼ばれる。
OnDrop()
Pickupオブジェクトを放したときに呼ばれる関数。
OnPickupUseDown()
Pickupオブジェクトを持った状態でUseするためにトリガーを押し込んだ瞬間1回だけ呼ばれる関数。
OnOwnershipTransferred()
OwnerShipを失う時に、失ったプレイヤーで実行される。 実行された段階でプレイヤーにはOwnerShipがないため、ここで同期変数を更新することはできない。
OnPickupUseUp()
Pickupオブジェクトを持った状態でトリガーの押し込みを解除した瞬間に1回だけ呼ばれる関数。
OnPlayerJoined(VRC.SDKBase.VRCPlayerApi player)
プレイヤーがインタンスに入った時に呼ばれる関数。引数のplayerにはそのプレイヤー情報が入る。
OnPlayerLeft(VRC.SDKBase.VRCPlayerApi player)
プレイヤーがインタンスから離れた時に呼ばれる関数。引数のplayerにはそのプレイヤー情報が入る。
OnSpawn()
公式ドキュメント
このオブジェクトがローカルプレイヤーのためにスポーンしたときに発生します。バッファリングされていないので、遅れて入場したプレイヤーはこのイベントを取得しません。ネットワークインスタンス化でオブジェクトがスポーンされた場合にのみ発生します。オブジェクトがベースシーンに存在する場合は発生しません。
現在(2020/04/10)、 ネットワークインスタンス化を行う方法がないため発動条件を満たせない?
OnStationEnterd()
UseAttachedStation()などで、VRC_Stationに座った時に実行される関数。
ただし、 現在(2020/04/10)は動作しない。
OnStationExited()
VRC_Stationから離れた時に実行される関数。
ただし、 現在(2020/04/10)は動作しない。
OnVideoEnd(),OnVideoPouse(),OnVideoPlay(),OnVideoState()
おそらくVRC_SyncVideoPlayer用のトリガー関数。現在(2020/04/10)はVRC_SyncVideoPlayerがSDK3に実装されていないため使用できない。Unity純正のVideoPlayerというコンポーネントがあるが、こちらはUdonに対応していない。
OnPreSerialization(),OnDeserialization()
同期変数を送受信したときに呼ばれる関数。同期変数の値が変更されたときに呼ばれそうだが、 変更されていなくても毎度実行されている。 (無駄では・・・?)
つまり同期変数は変更されていようがなかろうが常に通信されている?
OnPreSerialization()
ObjectOwnerが同期変数を送信するときにObjectOwner側で呼ばれる関数。
OnDesrialization()
ObjectOwnerから同期変数を受信した時にObjectOwner以外で呼ばれる関数。