PolySeek Logo
読み込み中...

World Timeline Controller

Moon TreeMoon Tree
商品画像 1

説明

サンプルはこちら: https://vrch.at/e8uvk2kr ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー イベントの「同期ずれ」を気にすることなく、ワールド内で一連のイベントやループする要素(消える足場など)を実行できる軽量なスクリプトです。イベントやシーケンスの切り替えに、アニメーションタイムラインやAnimatorを使用する必要は一切ありません。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 解説: 「タイムラインの変数を定期的に手動で同期する」という一般的な手法では、頻繁に多くの処理が発生するうえ、途中参加したプレイヤーの状態が他の参加者と正しく同期されない場合があります。

一方、このスクリプトはインスタンスごとにネットワークデータを一度だけ(インスタンスマスターが設定する1つのタイムスタンプ)送信し、それ以外のデータは一切送信しません。インスタンスマスター、早期参加者、あるいは1時間後に参加したプレイヤーなど、すべてのクライアントが、VRChatの組み込みサーバー時刻と共有されたそのタイムスタンプを基に、タイムライン上の現在位置をそれぞれ独立して計算します。すべてのマシンで同じ計算が行われるため、オブジェクトの状態そのものを同期しなくても、全員の環境でオブジェクトが同一のオン/オフ状態になります。

これにより、アニメーションやAnimator、アニメーションタイムラインを使用することなく、複雑な一連のイベントやループする演出を構築できます。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー A lightweight script that let's worlds run a series of events or having looping elements(such as disappearing platforms) without worrying about events becoming 'Out of sync'. Completely bypasses the need to use animation timeline or animators for toggling events and sequences. ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー Explanation: The basic 'manually sync a timeline variable every so often' approach does many processes frequently and can still cause players who join late to be improperly synced up with the rest of the instance.

This script sends network data exactly once per instance (a single timestamp, set by the instance master) and never sends anything else. Every client, master, early players, or someone who joins an hour later, independently computes the exact same timeline position from that one shared timestamp using VRChat's built-in server clock. Because the math is identical on every machine, everyone's objects end up in the identical on/off state without ever syncing the object states themselves.

This allows you to layout an elaborate series of events, or a looping series without having to deal with animations, animators or the animation timeline. ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー