Ghi chú phát hành
Học
Lớp công cụ
WorldRoot
Không Thể Tạo

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.


Tóm Tắt
Phương Pháp
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
Đã Lỗi Thời
findPartOnRay(ray: Ray,ignoreDescendantsInstance: Instance,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Đã Lỗi Thời
FindPartOnRayWithIgnoreList(ray: Ray,ignoreDescendantsTable: Instances,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Đã Lỗi Thời
FindPartOnRayWithWhitelist(ray: Ray,whitelistDescendantsTable: Instances,ignoreWater: boolean):Tuple
Đã Lỗi Thời
FindPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
Đã Lỗi Thời
findPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
Đã Lỗi Thời
FindPartsInRegion3WithIgnoreList(region: Region3,ignoreDescendantsTable: Instances,maxParts: number):{BasePart}
Đã Lỗi Thời
FindPartsInRegion3WithWhiteList(region: Region3,whitelistDescendantsTable: Instances,maxParts: number):{BasePart}
Đã Lỗi Thời
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
Đã Lỗi Thời
IsRegion3EmptyWithIgnoreList(region: Region3,ignoreDescendentsTable: Instances):boolean
Đã Lỗi Thời
Raycast(origin: Vector3,direction: Vector3,raycastParams: RaycastParams):RaycastResult?
Spherecast(position: Vector3,radius: number,direction: Vector3,params: RaycastParams):RaycastResult?
StepPhysics(dt: number,parts: Instances):()
Thành viên kế thừa
Được kế thừa bởi

Tài Liệu Tham Khảo API
Phương Pháp
ArePartsTouchingOthers
Quyền sử dụng chế độ mô phỏng
WorldRoot:ArePartsTouchingOthers(
partList:Instances, overlapIgnored:number
Tham Số
partList:Instances
overlapIgnored:number
Giá Trị Mặc Định: 0.000199999995
Lợi Nhuận
Mẫu mã
Kiểm tra các phần chạm nhau
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)) -- Đúng
print(workspace:ArePartsTouchingOthers(partList, 0.999)) -- Đúng
print(workspace:ArePartsTouchingOthers(partList, 1)) -- Sai

Blockcast
Ghi Song Song
Quyền sử dụng chế độ mô phỏng
WorldRoot:Blockcast(
cframe:CFrame, size:Vector3, direction:Vector3, params:RaycastParams
Tham Số
cframe:CFrame
size:Vector3
direction:Vector3
Giá Trị Mặc Định: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận
Mẫu mã
Casting Khối
local Workspace = game:GetService("Workspace")
local function castBlock()
-- Vị trí và độ xoay ban đầu của hình dạng khối nhắm
local originCFrame = CFrame.new(Vector3.new(0, 50, 0))
-- Kích thước của hình dạng khối nhắm
local size = Vector3.new(6, 3, 9)
-- Hướng mà khối được nhắm tới
local direction = -Vector3.yAxis
-- Khoảng cách tối đa của sự nhắm
local distance = 50
-- Nhắm khối và tạo một hình ảnh hóa nó
local raycastResult = Workspace:Blockcast(originCFrame, size, direction * distance)
if raycastResult then
-- In ra tất cả các thuộc tính của RaycastResult nếu nó tồn tại
print(`Khối đã va chạm với: {raycastResult.Instance:GetFullName()}`)
print(`Vị trí giao nhau: {raycastResult.Position}`)
print(`Khoảng cách giữa vị trí ban đầu của khối và kết quả: {raycastResult.Distance}`)
print(`Véc tơ pháp tuyến của mặt đã va chạm: {raycastResult.Normal}`)
print(`Vật liệu bị trúng: {raycastResult.Material.Name}`)
else
print("Không có gì bị trúng")
end
end
-- Liên tục nhắm một khối mỗi 2 giây
while true do
castBlock()
task.wait(2)
end

BulkMoveTo
Quyền sử dụng chế độ mô phỏng
WorldRoot:BulkMoveTo(
partList:Instances, cframeList:{any}, eventMode:Enum.BulkMoveMode
):()
Tham Số
partList:Instances
cframeList:{any}
Giá Trị Mặc Định: "FireAllEvents"
Lợi Nhuận
()

FindPartOnRay
Đã Lỗi Thời

findPartOnRay
Đã Lỗi Thời

FindPartOnRayWithIgnoreList
Đã Lỗi Thời

FindPartOnRayWithWhitelist
Đã Lỗi Thời

FindPartsInRegion3
Đã Lỗi Thời

findPartsInRegion3
Đã Lỗi Thời

FindPartsInRegion3WithIgnoreList
Đã Lỗi Thời

FindPartsInRegion3WithWhiteList
Đã Lỗi Thời

GetPartBoundsInBox
Ghi Song Song
Quyền sử dụng chế độ mô phỏng
WorldRoot:GetPartBoundsInBox(
cframe:CFrame, size:Vector3, overlapParams:OverlapParams
Tham Số
cframe:CFrame
size:Vector3
overlapParams:OverlapParams
Giá Trị Mặc Định: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận

GetPartBoundsInRadius
Ghi Song Song
Quyền sử dụng chế độ mô phỏng
WorldRoot:GetPartBoundsInRadius(
position:Vector3, radius:number, overlapParams:OverlapParams
Tham Số
position:Vector3
radius:number
overlapParams:OverlapParams
Giá Trị Mặc Định: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận

GetPartsInPart
Ghi Song Song
Quyền sử dụng chế độ mô phỏng
WorldRoot:GetPartsInPart(
part:BasePart, overlapParams:OverlapParams
Tham Số
overlapParams:OverlapParams
Giá Trị Mặc Định: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận

IKMoveTo
Bảo Mật Plugin
Quyền sử dụng chế độ mô phỏng
WorldRoot:IKMoveTo(
part:BasePart, target:CFrame, translateStiffness:number, rotateStiffness:number, collisionsMode:Enum.IKCollisionsMode
):()
Tham Số
target:CFrame
translateStiffness:number
Giá Trị Mặc Định: 0.5
rotateStiffness:number
Giá Trị Mặc Định: 0.5
collisionsMode:Enum.IKCollisionsMode
Giá Trị Mặc Định: "OtherMechanismsAnchored"
Lợi Nhuận
()

IsRegion3Empty
Đã Lỗi Thời

IsRegion3EmptyWithIgnoreList
Đã Lỗi Thời

Raycast
Ghi Song Song
Quyền sử dụng chế độ mô phỏng
WorldRoot:Raycast(
origin:Vector3, direction:Vector3, raycastParams:RaycastParams
Tham Số
origin:Vector3
direction:Vector3
raycastParams:RaycastParams
Giá Trị Mặc Định: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận
Mẫu mã
Chiếu sáng
local Workspace = game:GetService("Workspace")
local function castRay()
-- Điểm gốc của tia
local originPosition = Vector3.new(0, 50, 0)
-- Hướng mà tia được phát
local direction = -Vector3.yAxis
-- Khoảng cách tối đa của tia
local distance = 50
-- Phát tia và tạo một hình ảnh mô phỏng cho nó
local raycastResult = Workspace:Raycast(originPosition, direction * distance)
if raycastResult then
-- In ra tất cả các thuộc tính của RaycastResult nếu nó tồn tại
print(`Tia cắt với: {raycastResult.Instance:GetFullName()}`)
print(`Vị trí giao nhau: {raycastResult.Position}`)
print(`Khoảng cách giữa gốc tia và kết quả: {raycastResult.Distance}`)
print(`Vecto pháp tuyến của mặt đã giao nhau: {raycastResult.Normal}`)
print(`Vật liệu bị va chạm: {raycastResult.Material.Name}`)
else
print("Không có gì bị va chạm")
end
end
-- Liên tục phát một tia mỗi 2 giây
while true do
castRay()
task.wait(2)
end

Shapecast
Quyền sử dụng chế độ mô phỏng
WorldRoot:Shapecast(
part:BasePart, direction:Vector3, params:RaycastParams
Tham Số
direction:Vector3
Giá Trị Mặc Định: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận

Spherecast
Ghi Song Song
Quyền sử dụng chế độ mô phỏng
WorldRoot:Spherecast(
position:Vector3, radius:number, direction:Vector3, params:RaycastParams
Tham Số
position:Vector3
radius:number
direction:Vector3
Giá Trị Mặc Định: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Lợi Nhuận
Mẫu mã
Chiếu hình cầu
local Workspace = game:GetService("Workspace")
local function castSphere()
-- Vị trí ban đầu của hình cầu được chiếu
local originPosition = Vector3.new(0, 50, 0)
-- Bán kính của hình cầu được chiếu tính bằng studs
local radius = 10
-- Hướng mà hình cầu được chiếu vào
local direction = -Vector3.yAxis
-- Khoảng cách tối đa của việc chiếu
local distance = 50
-- Chiếu hình cầu và tạo một hình ảnh trực quan về nó
local raycastResult = Workspace:Spherecast(originPosition, radius, direction * distance)
if raycastResult then
-- In ra tất cả các thuộc tính của RaycastResult nếu nó tồn tại
print(`Hình cầu đã va chạm với: {raycastResult.Instance:GetFullName()}`)
print(`Vị trí va chạm: {raycastResult.Position}`)
print(`Khoảng cách giữa vị trí ban đầu của hình cầu và kết quả: {raycastResult.Distance}`)
print(`Vector pháp tuyến của mặt đã va chạm: {raycastResult.Normal}`)
print(`Chất liệu đã va chạm: {raycastResult.Material.Name}`)
else
print("Không có gì bị va chạm")
end
end
-- Liên tục chiếu một hình cầu mỗi 2 giây
while true do
castSphere()
task.wait(2)
end

StepPhysics
Bảo Mật Plugin
WorldRoot:StepPhysics(
dt:number, parts:Instances
):()
Tham Số
parts:Instances
Giá Trị Mặc Định: "{}"
Lợi Nhuận
()
Mẫu mã
Bước Vật Lý
local RunService = game:GetService("RunService")
-- Mảng có thể có các phần để mô phỏng; nếu không, tất cả các phần sẽ được mô phỏng
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
-- Mô phỏng các phần trong không gian làm việc trong 5 giây, bước các phần một lần mỗi khung hình
simulateParts(5.0)

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.