イベント(関数)

From NeosVR Wiki
Jump to navigation Jump to search
This page is a translated version of the page Events and the translation is 100% complete.
Other languages:
English • ‎日本語

OnAwake()

この関数は、ローカルで作成されたか、リモートの場所から同期されたか、ロードされたかに関係なく、各クライアントインスタンスでオブジェクト/コンポーネントが構築されるたびにすぐに呼び出されます。

変更は同期されないため、確定的であり、外部の状態に依存しない必要があります。 実行中のデータモデルの追加/削除は許可されません。

ロードまたは非決定的な状態の変更が実行される前に、オブジェクト/コンポーネントの同期要素のデフォルト値を初期化するのに役立ちます。

また、ローカルフック、イベント、ヘルパーオブジェクトのセットアップにも使用できます。

OnStart()

この関数は、更新サイクルの起動段階で、シーン内に新しく構築されたすべてのオブジェクト/コンポーネントに対して呼び出されます。 世界中のすべてのユーザーに対して呼び出されますが、状態の変更はすべて許可され、同期されます。

ローカルで作成されるか、同期されるか、ロードされるかに関係なく、各構築後に呼び出されます。

OnAttach()

この関数は、コンポーネントがオブジェクトにアタッチされると、AttachComponent <T>()関数が制御を返す前に呼び出されます。 実際にアタッチしたユーザーに対して、データモデルに最初に配置されたときに、各コンポーネントに対して一度だけ呼び出されます。

状態の変更は許可され、他の状態と同期されます。 オブジェクトがロードされたとき、または他のオブジェクトと同期されたときに呼び出されることはありません。

コンポーネントが必要とする初期設定を行うために使用でき、データモデルへの任意の変更(新しいオブジェクトの作成、他のコンポーネントの接続)またはプロパティの非決定的な初期化(たとえば、乱数ジェネレーターによる初期化)が必要です。

OnCommonUpdate()

この関数は、すべてのフレームのすべてのユーザーに対して呼び出されます。 フレームごとのロジックを実行するために使用できます。

特定のユーザーに対してのみ変更を実行する場合は、LocalUserプロパティを使用して、現在コードを実行しているユーザーを確認できます。または、ホストでのみ実行する場合はLocalUser.IsHostを使用できます。

OnChanges()

この関数は、変更が発生したユーザーごとに、オブジェクト/コンポーネントで何かが変更されるたびに呼び出されます。 変更はローカルでもリモートでも可能です。

変更直後に呼び出されるのではなく、他のすべての更新が実行された後にバッチで呼び出されるため、フレーム中にコンポーネント/オブジェクトで複数の変更が行われた場合、それらすべてに対して一度だけ呼び出されます。

これは、他のいくつかの状態またはコンポーネントの状態に依存するが、すべてのフレームを変更しない状態を更新するのに役立ちます。