睡眠システム

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Roblox エンジンの各 アセンブリー は、単一の 固定体 に対応します。各固定体の位置と速度は、それぞれがどこにあり、どれくらい速く移動するかを記述します。そして、主要なエンジンタスクの 1つは、各アセンブリーの位置と速度を更新することです。

アセンブリは、メカニカルコンストリンクト とモーターコンストリンクト を組み合わせて、車や飛行機などのメカニズムを形成することができます。アセンブリの数と制限がメカニズムのシミュレーションに時間がかかることに加えて、この増加は

睡眠状態

各アセンブルは 3つの状態の 1つにあります:起きる睡眠チェック、または眠る

アウェイク

起動 アセンブリは移動または加速しており、それゆえシミュレートされています。アセンブリは、睡眠チェック および睡眠 、および1>追加の睡眠状況1> からこの状態に入ります。

睡眠チェック

至少 1つの 起きた 隣接するアセンブリと制限を共有する非動作アセンブリを入り、simulated 状態にはありません。各ワールドステップで、非動作アセンブリは確認します:

  • 隣接するアセンジの 位置ズレ は、隣接距離 の上限を超えます。
  • 近くのアセンダーの 加速 と現在のタイムステップサイズは、角度 と/または 長度 の上限により大きいです。

これらのコンディションのいずれかが true であるか、または 追加のウェーク状況 のいずれかにより、睡眠チェックアセンブリは 起きる 状態に入ります。

就寝中

A 眠っている 組み立ては移動したり加速したりしないので、シミュレートされていません。

アセンブルは、 位置オフセット をチェックして、その最大オフセットの平均位置からの最も近いポイントの中心マッスの最大ディスプレーションから非移動であることが判明します。このオフセットが、ディスプレーション の最大値を超えると、アセンブルは アラーム

In some cases, simply checking for non-movement would cause anassembly to incorrectly enter the sleeping state. たとえば、ボールが直接上に投げられた場合、その位置は世界ステップの数にわずかに変更され、最大高度に到達すると、継続的な速度、および/or 角度の速度</

トリガー参照

次の表には、アセンブリが移動するか、加速するかを判断するために使用されるさまざまな変位と速度の上限があります。

トリガー状態変更
隣接の移動0.01 スタッド睡眠チェック >) 起きる
近所の直線速度0.2スタッド/秒睡眠チェック >) 起きる
近所の角度速度0.2 ラジアン/秒睡眠チェック >) 起きる
オフセット0.001 スタッド眠る起きる
直線速度0.1スタッド/秒眠る起きる
角度速度0.1 ラジアン/秒眠る起きる

追加の起動状況

睡眠チェック と 睡眠 の両方に示す状況に加えて、アセンブルは次の状態に入ります:

視覚化をデバッグ中

プレイテスト中、 Awake パーツ を Visualization オプション ウィジェットの上部右隅にある 3D ビューポートのウィジェットから切り替えることで、アセンブルの睡眠状態をビジュアル化できます。

A close up view of the 3D viewport with the Visualization Options button indicated in the upper-right corner.

有効にすると、シミュレートされたパーツは、目覚めパーツ、眠りをチェックパーツ、眠りをオレンジパーツ、2>眠りを休む2>パーツ、5>眠りを休む5>パーツ、8>眠りを休む8>パーツ、1>眠りを休む1>パーツ、4>眠りを休む4>パー

現在の睡眠状態を表す色によってシミュレートされたパーツ