Workspace

非推奨を表示

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

作成できません
サービス

この動作を理解することは重要です。これは、オブジェクトが必要ないときに ワークスペース から削除できるようにするからです。たとえば、マップ Class.Model|Models は、別のマップがプレイされているときに <

アクティブな 3D オブジェクトの所有者としての役割において、 Workspace には、パーツ、その位置、およびジョイント間の関連する多くの便利な機能が含まれています。

ワークスペースにアクセスする

Workspace は、いくつかの方法でアクセスできますが、すべてが有効です。

  • workspace
  • game.Workspace
  • game:GetService("Workspace")

注意

  • オブジェクト、例えば ParticleEmittersBillboardGuis など、装飾が必要なオブジェクトは、装飾がない場合、または Workspace に親化されていない場合、0,0,0 ポジションにあります。
  • Class.Model:MakeJoints() と Model:BreakJoints() メソッドは、Model クラスから継承された 1>Class.Workspace:MakeJoints1> と 4>Class.Workspace:BreakJoints4> のみがプラグインで使用できます。
  • Class.Workspace を削除することはできません。
  • Workspace は、BasePartsFallenPartsDestroyHeight の下にあると自動的にクリーンアップします。
  • クライアントの現在の Camera オブジェクトは、Workspace.CurrentCamera プロパティを使用してアクセスできます。
  • Class.Terrain オブジェクトは、Workspace.Terrain プロパティを使用してアクセスできます。

概要

プロパティ

Model から継承した プロパティ
  • プラグインのセキュリティ
    並列読み取り

    インスタンスストリーミングを有効にしたエクスペリエンスの詳細レベルを設定します。

  • インスタンスストリーミングが有効になっているときに Models のモデルストリーミング動作を制御します。

  • 並列読み取り

    Class.Model または nil が明示的に設定する定されていない場合のメイン部分。

  • 複製されていません
    スクリプト作成できません
    並列読み取り

    モデルのピボットの周りにモデルをスケールするための編集者専用プロパティ。このプロパティを設定すると、スケールが Model/ScaleTo が呼び出されたように移動します。

  • 複製されていません
    並列読み取り

    Class.Model のピボットが に設定されている場所を決定します。

PVInstance から継承した プロパティ
  • 複製されていません
    スクリプト作成できません
    並列読み取り
  • 複製されていません
    スクリプト作成できません
    並列読み取り

方法

  • 並列書き込み

    最近物理学の影響を受けているため、BaseParts が物理的に有効であると認められた数を返します。

  • 並列書き込み

    0 から 100 の間の整数を返し、現在の物理シミュレーションがスロートされている時間の割合を表します。

  • 並列書き込み

    現在、物理学がシミュレートされているフレーム数を毎秒返します。

  • 並列書き込み

    サーバーのエポック時間を秒単位で返します。

  • JoinToOutsiders(objects : Instances,jointType : Enum.JointCreationMode):void

    Class.BasePart|Parts と指定されたパーツの表面、および指定された共同作成モードによって、パーツ間のジョイントを作成します。

  • PGS 物理解析ソルバーが有効になっている場合、ゲームが真実であることを返します。

  • UnjoinFromOutsiders(objects : Instances):void

    Class.BasePart|BaseParts と他の BaseParts の間のすべての関節を破壊します。

  • プラグインのセキュリティ

    ポジションとズーム Workspace.CurrentCamera を表示して、BaseParts が現在 Workspace にあることを示します。

WorldRoot から継承した 方法Model から継承した 方法
  • AddPersistentPlayer(playerInstance : Player):void

    このモデルを特定のプレイヤーのために持続化するように設定します。 Model.ModelStreamingMode は、 PersistentPerPlayer に設定されなければ、動作が追加された結果により変更されることはありません。

  • モデルのすべてのパーツが含まれているボリュームの説明を返します。

  • Class.BasePart|BaseParts が含まれる最小限のバウンドボックスのサイズを返します。ModelModel.PrimaryPart が設定されている場合は、1>Class.BasePart|BaseParts1> が返されます。

  • このモデルオブジェクトが持続する Player すべてのオブジェクトを返します。このメソッドを Script から呼び出すか、LocalScript から呼び出すかによって動作は変わります。

  • モデルのキャノニカルスケールを返します。モデルの新規作成には、デフォルトで 1 が返されますが、Model/ScaleTo でスケールされると変更されます。

  • MoveTo(position : Vector3):void

    Class.Model.PrimaryPart|PrimaryPart を指定された位置に移動します。Class.Model.PrimaryPart が指定されていない場合は、モデルのルートパーツが使用されます。

  • RemovePersistentPlayer(playerInstance : Player):void

    このモデルは特定のプレイヤーのために再び持続しなくなります。 Model.ModelStreamingMode は、 PersistentPerPlayer に設定されて、結果として動作を変更するために変更された場合には持続しなくなります。

  • ScaleTo(newScaleFactor : number):void

    スケールファクターを設定し、すべての子孫インスタンスのサイズと場所を調整して、スケールファクターが 1 の場合、インスタンスのオリジナルサイズと場所に対するスケールファクターが相対的に変更されます。

  • TranslateBy(delta : Vector3):void

    Class.Model を Datatype.Vector3 のオフセットを保持しながら シフトすると、モデルのオリエンテーションを保持します。如果 他の Class.BasePart または Class.Terrain が新しい位置に既に存在する場合は、1> Class.Model は1>

PVInstance から継承した 方法
  • 並列書き込み

    Class.PVInstance のピボットを取得します。

  • PivotTo(targetCFrame : CFrame):void

    Class.PVInstance とそのすべての子孫 PVInstances は、ピボットが指定の CFrame に移動します。

イベント

プロパティ

AirDensity

並列読み取り

0) の RMU/stud³ の空気密度の地上レベル (Roblox ユニット) 、Workspace.FluidForces

AllowThirdPartySales

複製されていません
並列読み取り

この Workspace プロパティは、他のユースによって作成されたアセットがゲームで販売可能かどうかを決定します。

サードパーティセールとは何ですか?

この値が偽りである場合、場所の作成者 (プレイヤーまたはグループ) が作成したアセットのみが MarketplaceService を使用して販売できます。

ほとんどの場合、ゲームはサードパーティのアセットを販売する必要はありません。しかし、取引ハングアウトなどのいくつかのゲームでは、この機能が必要であり、それはオプトインオプションとして存在します。

以下のサードパーティ製品を販売できますか?

注、開発者製品 は、AllowThirdPartySales が設定されているゲームでのみ販売できます。このプロパティは、ゲームパス と2>服装2> に影響します。

AvatarUnificationMode

スクリプト作成できません
並列読み取り

CSGAsyncDynamicCollision

CSGAsyncDynamicCollision
スクリプト作成できません
並列読み取り

ClientAnimatorThrottling

並列読み取り

ローカルクライアントに使用する Enum.ClientAnimatorThrottlingMode を指定します。

有効にすると、リモートシミュレートされた Model インスタンスのアニメーションがスロットルを開始します。スロットルは、次のパラメータを使用してスロットルの強度を計算します:

  • Class.Camera との関連で Camera の可視性
  • ゲーム内FPS
  • アクティブなアニメーションの数

CurrentCamera

複製されていません
並列読み取り

ローカルプレイヤーが使用している Camera オブジェクト。

現在のカメラを使用する

クライアントの Camera オブジェクトを検索するときは、Workspace の子としての「Camera」ではなく、このプロパティを使用してください。

このプロパティを設定すると、Camera 内のすべての他の Workspace オブジェクトが破壊され、CurrentCamera が含まれます。Workspace (または Workspace の下位) がディスコントを減らすために作成さ

詳しくは、カメラのスクリプト化 を参照してください。

DistributedGameTime

複製されていません
並列読み取り

ゲームが実行されている秒数。

タイトルにもかかわらず、この値は現在、クライアントとサーバーの間で「分散」されていません。代わりに、サーバーでは、サーバーの稼働時間を表します。クライアントでは、サーバーに接続されている時間を表します。

開発者は上記の動作に依拠してはならないで、このプロパティが将来、クライアントとサーバー間で同期される可能性があります。

プログラムの実行開始時から時間を計算したい場合は、代わりに「時間」関数を使用する必要があります。以下では、DistributedGameTime とその代替品の間の比較を示しています。


print(workspace.DistributedGameTime) --> Time the game started running
print(os.time()) --> Time since epoch (1 January 1970, 00:00:00) UTC
print(tick()) --> Time since epoch (1 January 1970, 00:00:00) system time
print(time()) --> Time the game started running
print(elapsedTime()) --> Time since Roblox started running

FallenPartsDestroyHeight

プラグインのセキュリティ
並列読み取り

このプロパティは、Roblox エンジンが自動的に落下する BaseParts とその祖先 Models をマップから親化することで、Workspace によって親化されたパーツが永遠に続きます。これは、マップから落下したパーツが永遠に続きます。

この動作により削除されたパーツが Model の最後のパーツである場合、そのモデルはすべて削除されます。これは、パーツのすべてのモデルの祖先に適用されます。

このプロパティは -50,000 と 50,000 の間に固定されています。BaseParts は、原点の不正確さにより、大きな距離から正しくシミュレートまたはレンダリングできません。

このプロパティはスクリプトによって読み取ることができますが、プラグイン、コマンドバー、または Studio のプロパティウィンドウによってのみ設定できます。

FluidForces

スクリプト作成できません
並列読み取り

このプロパティを有効にすると、物理エンジンは BasePartsEnableFluidForces プロパティを持つユーザーの、 Default を含む航空力を計算します。デフォルトでは、

GlobalWind

並列読み取り

このプロパティは、風がエクスペリエンスを通過する方向と強度を指定し、地形の草、ダイナミックな雲、パーティクルに影響を与えます。グローバルウィンド アーティクルを参照して詳細をご覧ください。

Gravity

並列読み取り

落下するBaseParts に適用される重力の加速度を決めます。この値は、秒あたりのスタッド per 秒 2 で測定され、デフォルトでは 196.2 スタッド / 秒 2 に設定されます。この値を変更すると、開発者はゲームで低重力または高重力のエフェクトをシミュレートできます。

コードサンプル

Low Gravity Button

local MOON_GRAVITY_RATIO = 1.62 / 9.81
local DEFAULT_GRAVITY = 196.2
local MOON_GRAVITY = DEFAULT_GRAVITY * MOON_GRAVITY_RATIO
-- Create a touch pad
local pad = Instance.new("Part")
pad.Size = Vector3.new(5, 1, 5)
pad.Position = Vector3.new(0, 0.5, 0)
pad.Anchored = true
pad.BrickColor = BrickColor.new("Bright green")
pad.Parent = workspace
-- Listen for pad touch
local enabled = false
local debounce = false
local function onPadTouched(_hit)
if not debounce then
debounce = true
enabled = not enabled
workspace.Gravity = enabled and MOON_GRAVITY or DEFAULT_GRAVITY
pad.BrickColor = enabled and BrickColor.new("Bright red") or BrickColor.new("Bright green")
task.wait(1)
debounce = false
end
end
pad.Touched:Connect(onPadTouched)

IKControlConstraintSupport

スクリプト作成できません
並列読み取り

IKControls の制限に対応を有効にします。Default 値は、Enabled と同じです。IKControl を無効にすると、IKControls は物理コンストリンクトを無視します。2>Class.IKControl2> については、参照してください。

InsertPoint

複製されていません
並列読み取り

MeshPartHeadsAndAccessories

スクリプト作成できません
並列読み取り

キャラクターの頭とアクセサリーが MeshParts としてダウンロードされるかどうかを設定します。デフォルト値は Default と同じです。この機能が有効になっている場合、内蔵アバターは Enabled の頭とアクセサリーを使用します。

ModelStreamingBehavior

スクリプト作成できません
並列読み取り

MoverConstraintRootBehavior

スクリプト作成できません
並列読み取り

次の制限のいずれかを使用するメカニズムのアセンブリルートパーツを選択するロジックを制御します:

このプロパティを Enum.MoverConstraintRootBehaviorMode.Enabled に設定すると、この制限は、制限が 2つのパーツ間のフォースを伝達しないことを

このプロパティを Enum.MoverConstraintRootBehaviorMode.Disabled に設定すると、アセンブルのルートパーツを選択すると、これらの制限が不正確に評価される可能性があり、ネットワークの所有権と遅延が不一致する可能性があります。

PathfindingUseImprovedSearch

スクリプト作成できません
閲覧できません
並列読み取り

PhysicsSteppingMethod

スクリプト作成できません
並列読み取り

ソリューターが物理シミュレーションを時間内に進める方法を設定します。このオプションはスクリプト不可能であり、Workspace 内の PhysicsStepping Method プロパティから設定する必要があります。詳細は、「Adaptive Timestepping」を参照してください。


<tbody>
<tr>
<td><b>アダプティブ</b></td>
<td>エンジンは、240 Hz、120 Hz、または 60 Hz の個々のアセンブリの最適なシミュレーションレートを割り当てようとします。この設定は、パフォーマンスのために最適化されています。</td>
</tr>
<tr>
<td><b>修正済み</b></td>
<td>ワークスペース内のすべてのシミュレートされたアセンブルは、240 Hz で前進します。このオプションは、最高の安定性とシミュレーション精度のために最適です。</td>
</tr>
<tr>
<td><b>デフォルト</b></td>
<td>現在のデフォルトは <b>Fixed</b> です。</td>
</tr>
</tbody>
オプション説明

注意、Constraints または衝突によって、異なるシミュレーションレートのアセンブルが接続されると、組み合わせメカニズムは安定性のために最高のシミュレーションレートにデフォルトします。

PlayerCharacterDestroyBehavior

スクリプト作成できません
並列読み取り

PrimalPhysicsSolver

スクリプト作成できません
並列読み取り

RejectCharacterDeletions

スクリプト作成できません
並列読み取り

RenderingCacheOptimizations

スクリプト作成できません
並列読み取り

ReplicateInstanceDestroySetting

スクリプト作成できません
並列読み取り
並列読み取り

SandboxedInstanceMode

スクリプト作成できません
並列読み取り

SignalBehavior

スクリプト作成できません
並列読み取り

このプロパティは、イベントが発動したときにイベントハンドラーがすぐに再開されるか、または遅らせてから再開されるかを決定します。リスポーンポイントには現在以下が含まれています:

For more information, see 遅延イベント .

StreamOutBehavior

スクリプト作成できません
並列読み取り

StreamOutBehavior は、デバイスのメモリコンディション、またはストリーミング範囲に基づいて、コンテンツを ReplicationFocus から読み取ることを制御します。

参照してください:

StreamingEnabled

プラグインのセキュリティ
並列読み取り

StreamingEnabled プロパティは、ゲームコンテンツのストリーミングが場プレースに有効であるかどうかを決定します。このプロパティはスクリプト不可能であるため、Studio の ワークスペース オブジェクトに設定する必要があります。

参照してください:

StreamingIntegrityMode

スクリプト作成できません
並列読み取り

インスタンス ストリーミング が有効になっている場合、プレイヤーのキャラクターが、クライアントにストリーミングされていない世界の地域に移動すると、エクスペリエンスは不審議な方法で動作する可能性があります。ストリーミング完全性機能は、これらの潜在的に問題的な状況を避ける方法を提供します。

StreamingMinRadius

スクリプト作成できません
並列読み取り

プロパティ StreamingMinRadius は、プレイヤーのキャラクターまたは現在の ReplicationFocus の周りのラジウスを指します。デフォルトは 64 スタッドです。

デフォルトの最小範囲を上げると、メモリとサーバーのバンドウィドを他のコンポーネントの代わりに増加させるため、慎重に検討する必要があります。

参照してください:

StreamingTargetRadius

スクリプト作成できません
並列読み取り

StreamingTargetRadius プロパティは、プレイヤーのキャラクターからの最大距離や、ReplicationFocus の内容をストリームするコンテンツのスタンダードに 1024 スタッドを設定します。デフォルトは 1024 スタッドです。

エンジンは、ターゲット範囲を超えて以前にロードされたコンテンツを保持することができます。メモリー許可です。

参照してください:

Terrain

読み取り専用
複製されていません
並列読み取り

このプロパティは、Terrain オブジェクトの親にある Workspace オブジェクトに参照されます。

Terrain object within the Workspace hierarchy

詳しくは、環境地形を参照してください。

TouchEventsUseCollisionGroups

スクリプト作成できません
並列読み取り

TouchesUseCollisionGroups

スクリプト作成できません
並列読み取り

このプロパティは、parts が異なるグループで設定されているかどうかにより、衝突を無視するか、false を無視するかを決定します。デフォルトでは、このプロパティの値は false に設定されています。

このプロパティを有効にすると、CanTouch プロパティのように、異なるグループのパーツが衝突しないようにするものも同じように無視されます。BasePart.CanCollide プロパティのページを参照してください。For more information on the behavior of CanTouch, please visit its property page.

方法

GetNumAwakeParts

並列書き込み

最近物理学の影響を受けているため、BaseParts が物理的に有効であると認められた数を返します。

この関数は、BaseParts が物理的な力に影響されているか、または最近影響されているかを示します。


print(workspace:GetNumAwakeParts()) -- prints the number of 'awake' parts

眠っている部分と目覚めた部分

Roblox は、良履行なパフォーマンスを保証する


戻り値

目覚めたパーツの数。

GetPhysicsThrottling

並列書き込み

0 から 100 の間の整数を返し、現在の物理シミュレーションがスロートされている時間の割合を表します。

この関数は、物理的なスロットが発生しているかどうか、およびどの程度、を判断するために使用できます。

物理学のスロットは何ですか?

物理エンジンは、ゲームがライブで実行できないことを検知すると、Physics throttling が発生します。物理エンジンが速度を落とすと、BaseParts が遅く表示されるようになります。

スロットルを無効にすると、物理シミュレーションはゲームとシンクロしなくなります。これにより、フレームレートが低下し、他の不欲しい動作が発生する可能性があります。

Class.Humanoid|Humanoids に関連するオブジェクトは、物理スロットルの制限から免れます。

また、Workspace:SetPhysicsThrottleEnabled() を参照してください。

物理的なスロットを押さえることを示す

開発者は常に物理エンジンをオーバーロードする場所を作成しないでください、 as it leads to sub-par experience for players. しかし、研究目的で物理をシミュレートする必要がある場合は、非常に速く Parts を多く作成する必要があります。


local i = 0
while true do
i += 1
if i % 5 == 0 then
task.wait()
end
local part = Instance.new("Part", workspace)
end

戻り値

現在、物理シミュレーションの実行時間が減速している割合。

GetRealPhysicsFPS

並列書き込み

現在、物理学がシミュレートされているフレーム数を毎秒返します。

GetRealPhysicsFPS を使用して、エクスプロイターに対抗する

この関数の一般的な使用は、エクスプロイターがローカルの物理フレームレートを上げているかどうかを確認することです。これは通常、クライアントの GetRealPhysicsFPS の結果を比�


戻り値

現在、物理学がシミュレートされているフレーム数を毎秒返します。

コードサンプル

Workspace:GetRealPhysicsFPS

local Players = game:GetService("Players")
local player = Players.LocalPlayer
while task.wait(1) do
if workspace:GetRealPhysicsFPS() > 65 then
player:Kick()
end
end

GetServerTimeNow

並列書き込み

GetServerTimeNow は、マイクロ秒単位のサーバーのエポック時間を返します。時間はドリフトとスムーズに調整されます(0.006×速度と 0.994×速度の両方で保証されています)。サーバークロックは 1.006×速度より速く、また 0.994×速度より遅くありません。

Library.os|os.date() または DateTime.fromUnixTimestamp() と一緒に使用できる Unix タイムスタンプを返します。

この関数は、シンクロされたエクスペリエンスを作成するのに便利です。シンクロに必要な 3つのプロパティがあり、実世界の時計、モノトニック、そしてディザート精度があります。

この関数はサーバーに依存するため、接続されていないクライアントから呼び出すとエラーが発生します。

参照してください:


戻り値

サーバーの推定エポックス時間。

JoinToOutsiders

void

この関数は、Parts と指定されたパーツの表面、および指定されたパーツの共同作成モードにより、パーツ間のジョイントを作成します。

この関数は、パーツの表面と指定されたプラナーリングの表面を含む、指定されたパーツと任意のプラナーリングの間のジョイントを作成します。

  • 接着剤、スタッド、入れ歯、ユニバーサル、ワールド、およびスムーズな表面はすべてワールドインスタンスを作成します。
  • 球は何も表面に焼かれません。円筒の周囲の側面は表面に焼かれませんが、平面の端面は表面に焼かれます。
  • ヒンジとモーターの表面は、パーツの形状に関わらず、RotateRotateP の共同インスタンスを作成します。

最初のパラメーターは、BaseParts の配列です。 共同体は、配列内のパーツ間でのみ作成され、アレイ内のパーツ間では作成されません。 共同体は、配列内のパーツ間で作成されません。

第2パラメーターは、共同作業の作成方法を決定します。共同値を入力すると、 Enum.JointCreationMode または Enum.JointCreationMode.All を通過します。共同値を入力すると、 Enum.JointCreationMode.Surface と同じ動作が表示され

この関数は、Roblox Studio Move ツールがユーザーが選択を移動したときに使用するときに使用されます。Plugin:GetJoinMode()Workspace:UnjoinFromOutsiders() との併用により、カスタムスタジオビルドツールの開発中に参加機能を維持できます。下のスナップショットに示すように。


-- 選択を移動した後、ジョイントを作成する
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end

-- 選択を移動し始めました、ジョイントを破壊しました
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end

パラメータ

objects: Instances

共同者が参加する必要がある BaseParts のアレイ。

使用する Enum.JointCreationMode.All を使用する。パスを Enum.JointCreationMode.Surface または 1>枚数.共同作成モード|枚数.共同作成モード.Surface1> を通過すると、常に参加することになります。


戻り値

void

PGSIsEnabled

PGS 物理解析ソルバーが有効になっている場合、ゲームが真実であることを返します。

As Workspace.PGSPhysicsSolverEnabled はスクリプトによってアクセスできないので、PGSIsEnabled 機能は開発者がゲームが使用している物理ソリューターを指定できます。


print(workspace:PGSIsEnabled()) -- true = PGS solver enabled
print(workspace:PGSIsEnabled()) -- false = Legacy solver enabled

戻り値

PGS ソリューターが有効である場合は、True です。

UnjoinFromOutsiders

void

Class.BasePart|BaseParts と他の BaseParts の間のすべての関節を破壊します。

この関数には、BaseParts の配列が必要です。注意、ジョイントはこれらの BaseParts (互いに) の間では破壊されません。これらの BaseParts と他の 2>Class.BasePart|BaseParts2> の間のみです。

この関数は、Roblox Studio Move ツールがユーザーが選択を移動するときに使用するとき、Plugin:GetJoinMode()Workspace:JoinToOutsiders() と共に、参加機能を保持するために使用されます。以下のスナップショットに示すように、カスタムスタジオビルドツールを開発するときに参加機能を保持す


-- finished moving a selection, make joints
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
workspace:JoinToOutsiders(parts, joinMode)
end

-- started moving a selection, break joints
local function startMovingParts(parts)
workspace:UnjoinFromOutsiders(parts)
end

パラメータ

objects: Instances

共同所有者が破壊されるための BaseParts 配列。


戻り値

void

ZoomToExtents

void
プラグインのセキュリティ

ポジションとズーム Workspace.CurrentCamera を表示して、BaseParts が現在 Workspace にあることを示します。

この関数は、Roblox Studio の「Zoom to Extents」ボタンに使用されていました。「Zoom to」 (F ショートカット) 機能と同様の動作を示しますが、現在選択されているオブジェクトではなく、Workspace のエクセットを表示します。

この関数はスクリプトでは使用できませんが、コマンドバーまたはプラグインで機能します。


戻り値

void

イベント

PersistentLoaded

このイベントは、プレイヤーがすべての現在の持続モデルとパーツのないアトムモデルを送信するたびに発動します。player パラメータは、すべての適用可能なインスタンスを受信したプレイヤーを指し示します。

エクスペリエンスの読み込みは持続的な読み込みより先に発生し、DataModel.Loaded イベントの発射は、すべての持続的なモデルが存在することを示すわけではありません。

パラメータ

player: Player