学ぶ
エンジンクラス
WorldRoot
作成できません

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


概要
方法
ArePartsTouchingOthers(partList: Instances,overlapIgnored: number):boolean
Blockcast(cframe: CFrame,size: Vector3,direction: Vector3,params: RaycastParams):RaycastResult?
BulkMoveTo(partList: Instances,cframeList: {any},eventMode: Enum.BulkMoveMode):()
FindPartOnRay(ray: Ray,ignoreDescendantsInstance: Instance,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
非推奨
findPartOnRay(ray: Ray,ignoreDescendantsInstance: Instance,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
非推奨
FindPartOnRayWithIgnoreList(ray: Ray,ignoreDescendantsTable: Instances,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
非推奨
FindPartOnRayWithWhitelist(ray: Ray,whitelistDescendantsTable: Instances,ignoreWater: boolean):Tuple
非推奨
FindPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
非推奨
findPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
非推奨
FindPartsInRegion3WithIgnoreList(region: Region3,ignoreDescendantsTable: Instances,maxParts: number):{BasePart}
非推奨
FindPartsInRegion3WithWhiteList(region: Region3,whitelistDescendantsTable: Instances,maxParts: number):{BasePart}
非推奨
GetPartBoundsInBox(cframe: CFrame,size: Vector3,overlapParams: OverlapParams):{BasePart}
GetPartBoundsInRadius(position: Vector3,radius: number,overlapParams: OverlapParams):{BasePart}
IKMoveTo(part: BasePart,target: CFrame,translateStiffness: number,rotateStiffness: number,collisionsMode: Enum.IKCollisionsMode):()
IsRegion3Empty(region: Region3,ignoreDescendentsInstance: Instance):boolean
非推奨
IsRegion3EmptyWithIgnoreList(region: Region3,ignoreDescendentsTable: Instances):boolean
非推奨
Raycast(origin: Vector3,direction: Vector3,raycastParams: RaycastParams):RaycastResult?
Spherecast(position: Vector3,radius: number,direction: Vector3,params: RaycastParams):RaycastResult?
StepPhysics(dt: number,parts: Instances):()
継承されたメンバー

APIリファレンス
方法
ArePartsTouchingOthers
シミュレーションへのアクセス
WorldRoot:ArePartsTouchingOthers(
partList:Instances, overlapIgnored:number
パラメータ
partList:Instances
overlapIgnored:number
既定値: 0.000199999995
戻り値
コードサンプル
触れているパーツを確認する
local part1 = Instance.new("Part")
part1.Name = "Part1"
part1.Anchored = true
part1.Transparency = 0.5
part1.Color = Color3.fromRGB(185, 100, 38)
part1.Size = Vector3.new(2, 2, 2)
part1.Position = Vector3.new(0, 4, 0)
part1.Parent = workspace
local part2 = Instance.new("Part")
part2.Name = "Part2"
part2.Anchored = true
part2.Transparency = 0.5
part2.Color = Color3.fromRGB(200, 10, 0)
part2.Size = Vector3.new(2, 2, 2)
part2.Position = Vector3.new(0, 5, 0)
part2.Parent = workspace
local partList = { part1 }
print(workspace:ArePartsTouchingOthers(partList, 0)) -- 真
print(workspace:ArePartsTouchingOthers(partList, 0.999)) -- 真
print(workspace:ArePartsTouchingOthers(partList, 1)) -- 偽

Blockcast
並列書き込み
シミュレーションへのアクセス
WorldRoot:Blockcast(
cframe:CFrame, size:Vector3, direction:Vector3, params:RaycastParams
パラメータ
cframe:CFrame
size:Vector3
direction:Vector3
既定値: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値
コードサンプル
ブロックキャスティング
local Workspace = game:GetService("Workspace")
local function castBlock()
-- キャストブロック形状の初期位置と回転
local originCFrame = CFrame.new(Vector3.new(0, 50, 0))
-- キャストブロック形状のサイズ
local size = Vector3.new(6, 3, 9)
-- ブロックがキャストされる方向
local direction = -Vector3.yAxis
-- キャストの最大距離
local distance = 50
-- ブロックをキャストし、その視覚化を作成します
local raycastResult = Workspace:Blockcast(originCFrame, size, direction * distance)
if raycastResult then
-- RaycastResultが存在する場合、そのすべてのプロパティを印刷する
print(`ブロックが衝突したオブジェクト: {raycastResult.Instance:GetFullName()}`)
print(`交差位置: {raycastResult.Position}`)
print(`ブロックの初期位置と結果の間の距離: {raycastResult.Distance}`)
print(`衝突した面の法線ベクトル: {raycastResult.Normal}`)
print(`ヒットした材料: {raycastResult.Material.Name}`)
else
print("何もヒットしませんでした")
end
end
-- 2秒ごとにブロックを継続的にキャスト
while true do
castBlock()
task.wait(2)
end

BulkMoveTo
シミュレーションへのアクセス
WorldRoot:BulkMoveTo(
partList:Instances, cframeList:{any}, eventMode:Enum.BulkMoveMode
):()
パラメータ
partList:Instances
cframeList:{any}
既定値: "FireAllEvents"
戻り値
()

FindPartOnRay
非推奨

findPartOnRay
非推奨

FindPartOnRayWithIgnoreList
非推奨

FindPartOnRayWithWhitelist
非推奨

FindPartsInRegion3
非推奨

findPartsInRegion3
非推奨

FindPartsInRegion3WithIgnoreList
非推奨

FindPartsInRegion3WithWhiteList
非推奨

GetPartBoundsInBox
並列書き込み
シミュレーションへのアクセス
WorldRoot:GetPartBoundsInBox(
cframe:CFrame, size:Vector3, overlapParams:OverlapParams
パラメータ
cframe:CFrame
size:Vector3
overlapParams:OverlapParams
既定値: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値

GetPartBoundsInRadius
並列書き込み
シミュレーションへのアクセス
WorldRoot:GetPartBoundsInRadius(
position:Vector3, radius:number, overlapParams:OverlapParams
パラメータ
position:Vector3
radius:number
overlapParams:OverlapParams
既定値: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値

GetPartsInPart
並列書き込み
シミュレーションへのアクセス
WorldRoot:GetPartsInPart(
part:BasePart, overlapParams:OverlapParams
パラメータ
overlapParams:OverlapParams
既定値: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値

IKMoveTo
プラグインのセキュリティ
シミュレーションへのアクセス
WorldRoot:IKMoveTo(
part:BasePart, target:CFrame, translateStiffness:number, rotateStiffness:number, collisionsMode:Enum.IKCollisionsMode
):()
パラメータ
target:CFrame
translateStiffness:number
既定値: 0.5
rotateStiffness:number
既定値: 0.5
collisionsMode:Enum.IKCollisionsMode
既定値: "OtherMechanismsAnchored"
戻り値
()

IsRegion3Empty
非推奨

IsRegion3EmptyWithIgnoreList
非推奨

Raycast
並列書き込み
シミュレーションへのアクセス
WorldRoot:Raycast(
origin:Vector3, direction:Vector3, raycastParams:RaycastParams
パラメータ
origin:Vector3
direction:Vector3
raycastParams:RaycastParams
既定値: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値
コードサンプル
レイキャスティング
local Workspace = game:GetService("Workspace")
local function castRay()
-- レイの始点
local originPosition = Vector3.new(0, 50, 0)
-- レイが放たれる方向
local direction = -Vector3.yAxis
-- レイの最大距離
local distance = 50
-- レイを放ち、その可視化を作成する
local raycastResult = Workspace:Raycast(originPosition, direction * distance)
if raycastResult then
-- RaycastResultが存在する場合、そのすべてのプロパティを印刷する
print(`レイが交差した: {raycastResult.Instance:GetFullName()}`)
print(`交差位置: {raycastResult.Position}`)
print(`レイの始点と結果の距離: {raycastResult.Distance}`)
print(`交差した面の法線ベクトル: {raycastResult.Normal}`)
print(`ヒットしたマテリアル: {raycastResult.Material.Name}`)
else
print("何もヒットしませんでした")
end
end
-- 2秒ごとに常にレイを放つ
while true do
castRay()
task.wait(2)
end

Shapecast
シミュレーションへのアクセス
WorldRoot:Shapecast(
part:BasePart, direction:Vector3, params:RaycastParams
パラメータ
direction:Vector3
既定値: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値

Spherecast
並列書き込み
シミュレーションへのアクセス
WorldRoot:Spherecast(
position:Vector3, radius:number, direction:Vector3, params:RaycastParams
パラメータ
position:Vector3
radius:number
direction:Vector3
既定値: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
戻り値
コードサンプル
球体キャスティング
local Workspace = game:GetService("Workspace")
local function castSphere()
-- キャストされる球体の初期位置
local originPosition = Vector3.new(0, 50, 0)
-- スタッド単位でのキャストされる球体の半径
local radius = 10
-- 球体がキャストされる方向
local direction = -Vector3.yAxis
-- キャストの最大距離
local distance = 50
-- 球体をキャストし、その可視化を作成します
local raycastResult = Workspace:Spherecast(originPosition, radius, direction * distance)
if raycastResult then
-- RaycastResultが存在する場合、そのすべてのプロパティを出力します
print(`球体が交差したオブジェクト: {raycastResult.Instance:GetFullName()}`)
print(`交差位置: {raycastResult.Position}`)
print(`球体の初期位置と結果の間の距離: {raycastResult.Distance}`)
print(`交差した面の法線ベクトル: {raycastResult.Normal}`)
print(`ヒットしたマテリアル: {raycastResult.Material.Name}`)
else
print("何もヒットしませんでした")
end
end
-- 2秒ごとに球体をキャストし続ける
while true do
castSphere()
task.wait(2)
end

StepPhysics
プラグインのセキュリティ
WorldRoot:StepPhysics(
dt:number, parts:Instances
):()
パラメータ
parts:Instances
既定値: "{}"
戻り値
()
コードサンプル
ステップ物理
local RunService = game:GetService("RunService")
-- シミュレートする部品のオプション配列; そうでなければ、すべての部品がシミュレートされます
local partsToSimulate = {
workspace.Part,
}
local function simulateParts(duration)
local time = 0.0
local stepJob
stepJob = RunService.RenderStepped:Connect(function(dt)
if time + dt > duration then
dt = duration - time
end
workspace:StepPhysics(dt, partsToSimulate)
time = time + dt
if time >= duration then
stepJob:Disconnect()
end
end)
end
-- ワークスペースの部品を5秒間シミュレートし、フレームごとに部品を進めます
simulateParts(5.0)

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。