アバターイベント
これらのイベントを使用すると、プレイヤーのアバターに関する変更に対してUdonで反応させることができます。
OnAvatarChanged
イベントを発生させたプレイヤーの VRCPlayerApi オブジェクトを返します。プレイヤーのアバターの読み込みが完了した時に呼び出されます。
永続化された目の高さ (Persisted eye heights)
プレイヤーのアバターが読み込まれた後、プレハブの目の高さからの差異が同期されると、OnAvatarEyeHeightChanged イベントがトリガーされます。
VRCPlayerApi オブジェクトがローカルプレイヤーのものである場合、このイベント中に目の高さを取得すると、プレハブの高さが返されます。
VRCPlayerApi オブジェクトがリモートプレイヤーのものである場合、そのリモートプレイヤーが新しい目の高さをまだ同期していない可能性があることに注意してください。この場合、返された値を信頼してはいけません。
OnAvatarEyeHeightChanged
イベントの発生元であるプレイヤーを表す VRCPlayerApi オブジェクトと、変更前(または以前に同期されていた)の目の高さをメートル単位で示す float を返します。このイベントは、プレイヤーが別のアバターに切り替えたり、アバター拡大縮小システムを利用したりして、目の高さが変更された際に呼び出されます。
初回のアバター読み込み
ローカルユーザーまたはリモートユーザーがワールドに参加した際、そのユーザーに対して最初に受け取る「以前の目の高さ」の値は 0 となる場合があります。
アバターの変更、リモートプレイヤー、およびイベントの順序
ローカルユーザーがアバターを変更し、保存済みの目の高さを適用する場合(プレハブの高さとは異なる値が保存されている場合)、このイベントは保存された高さに対してのみ実行される必要があります。
リモートユーザーがアバターを変更し、保存済みの目の高さを適用する場合(プレハブの目の高さとは異なる値が保存されている場合)、このイベントは複数回実行される可能性があります。
リモートプレイヤーの場合、そのプレイヤーによって新しい目の高さが同期されるたびに、このイベントを受け取ります。つまり、OnAvatarChanged イベントの前に OnAvatarEyeHeightChanged イベントを受け取る可能性がありますが、OnAvatarEyeHeightChanged イベントの順序が前後して送られてくることはありません。
この機能の詳細については、アバター拡大縮小システムを参照してください。
最終更新: