Learn
Motor Sınıfı
WorldRoot
Oluşturulamaz

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.


Özet
Yöntemler
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
Artık Kullanılmayan
findPartOnRay(ray: Ray,ignoreDescendantsInstance: Instance,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Artık Kullanılmayan
FindPartOnRayWithIgnoreList(ray: Ray,ignoreDescendantsTable: Instances,terrainCellsAreCubes: boolean,ignoreWater: boolean):Tuple
Artık Kullanılmayan
FindPartOnRayWithWhitelist(ray: Ray,whitelistDescendantsTable: Instances,ignoreWater: boolean):Tuple
Artık Kullanılmayan
FindPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
Artık Kullanılmayan
findPartsInRegion3(region: Region3,ignoreDescendantsInstance: Instance,maxParts: number):{BasePart}
Artık Kullanılmayan
FindPartsInRegion3WithIgnoreList(region: Region3,ignoreDescendantsTable: Instances,maxParts: number):{BasePart}
Artık Kullanılmayan
FindPartsInRegion3WithWhiteList(region: Region3,whitelistDescendantsTable: Instances,maxParts: number):{BasePart}
Artık Kullanılmayan
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
Artık Kullanılmayan
IsRegion3EmptyWithIgnoreList(region: Region3,ignoreDescendentsTable: Instances):boolean
Artık Kullanılmayan
Raycast(origin: Vector3,direction: Vector3,raycastParams: RaycastParams):RaycastResult?
Spherecast(position: Vector3,radius: number,direction: Vector3,params: RaycastParams):RaycastResult?
StepPhysics(dt: number,parts: Instances):()
Devralınan Üyeler

API Referansı
Yöntemler
ArePartsTouchingOthers
Simulation Access
WorldRoot:ArePartsTouchingOthers(
partList:Instances, overlapIgnored:number
Parametreler
partList:Instances
overlapIgnored:number
Varsayılan değer: 0.000199999995
Dönüşler
Kod Örnekleri
Dokunan Parçaları Kontrol Etme
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)) -- Doğru
print(workspace:ArePartsTouchingOthers(partList, 0.999)) -- Doğru
print(workspace:ArePartsTouchingOthers(partList, 1)) -- Yanlış

Blockcast
Paralel yaz
Simulation Access
WorldRoot:Blockcast(
cframe:CFrame, size:Vector3, direction:Vector3, params:RaycastParams
Parametreler
cframe:CFrame
size:Vector3
direction:Vector3
Varsayılan değer: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler
Kod Örnekleri
Blok Yayma
local Workspace = game:GetService("Workspace")
local function castBlock()
-- Yayma bloğunun başlangıç pozisyonu ve rotasyonu
local originCFrame = CFrame.new(Vector3.new(0, 50, 0))
-- Yayma bloğunun boyutu
local size = Vector3.new(6, 3, 9)
-- Bloğun yayılacağı yön
local direction = -Vector3.yAxis
-- Yayılan bloğun maksimum mesafesi
local distance = 50
-- Bloğu yay ve bir görselleştirme oluştur
local raycastResult = Workspace:Blockcast(originCFrame, size, direction * distance)
if raycastResult then
-- RaycastResult varsa tüm özellikleri yazdır
print(`Blok ile kesişen: {raycastResult.Instance:GetFullName()}`)
print(`Kesişme pozisyonu: {raycastResult.Position}`)
print(`Blokun başlangıç pozisyonu ile sonuç arasındaki mesafe: {raycastResult.Distance}`)
print(`Kesilen yüzeyin normal vektörü: {raycastResult.Normal}`)
print(`Vurulan materyal: {raycastResult.Material.Name}`)
else
print("Hiçbir şeye vurulmadı")
end
end
-- Her 2 saniyede bir sürekli olarak bir blok yay
while true do
castBlock()
task.wait(2)
end

BulkMoveTo
Simulation Access
WorldRoot:BulkMoveTo(
partList:Instances, cframeList:{any}, eventMode:Enum.BulkMoveMode
):()
Parametreler
partList:Instances
cframeList:{any}
Varsayılan değer: "FireAllEvents"
Dönüşler
()

FindPartOnRay
Artık Kullanılmayan

findPartOnRay
Artık Kullanılmayan

FindPartOnRayWithIgnoreList
Artık Kullanılmayan

FindPartOnRayWithWhitelist
Artık Kullanılmayan

FindPartsInRegion3
Artık Kullanılmayan

findPartsInRegion3
Artık Kullanılmayan

FindPartsInRegion3WithIgnoreList
Artık Kullanılmayan

FindPartsInRegion3WithWhiteList
Artık Kullanılmayan

GetPartBoundsInBox
Paralel yaz
Simulation Access
WorldRoot:GetPartBoundsInBox(
cframe:CFrame, size:Vector3, overlapParams:OverlapParams
Parametreler
cframe:CFrame
size:Vector3
overlapParams:OverlapParams
Varsayılan değer: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler

GetPartBoundsInRadius
Paralel yaz
Simulation Access
WorldRoot:GetPartBoundsInRadius(
position:Vector3, radius:number, overlapParams:OverlapParams
Parametreler
position:Vector3
radius:number
overlapParams:OverlapParams
Varsayılan değer: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler

GetPartsInPart
Paralel yaz
Simulation Access
WorldRoot:GetPartsInPart(
part:BasePart, overlapParams:OverlapParams
Parametreler
overlapParams:OverlapParams
Varsayılan değer: "OverlapParams{MaxParts=0, Tolerance=0, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler

IKMoveTo
Eklenti Güvenliği
Simulation Access
WorldRoot:IKMoveTo(
part:BasePart, target:CFrame, translateStiffness:number, rotateStiffness:number, collisionsMode:Enum.IKCollisionsMode
):()
Parametreler
target:CFrame
translateStiffness:number
Varsayılan değer: 0.5
rotateStiffness:number
Varsayılan değer: 0.5
collisionsMode:Enum.IKCollisionsMode
Varsayılan değer: "OtherMechanismsAnchored"
Dönüşler
()

IsRegion3Empty
Artık Kullanılmayan

IsRegion3EmptyWithIgnoreList
Artık Kullanılmayan

Raycast
Paralel yaz
Simulation Access
WorldRoot:Raycast(
origin:Vector3, direction:Vector3, raycastParams:RaycastParams
Parametreler
origin:Vector3
direction:Vector3
raycastParams:RaycastParams
Varsayılan değer: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler
Kod Örnekleri
Işın Yayma
local Workspace = game:GetService("Workspace")
local function castRay()
-- Işığın başlangıç noktası
local originPosition = Vector3.new(0, 50, 0)
-- Işığın yayılacağı yön
local direction = -Vector3.yAxis
-- Işığın maksimum mesafesi
local distance = 50
-- Işığı yay ve bir görselleştirme oluştur
local raycastResult = Workspace:Raycast(originPosition, direction * distance)
if raycastResult then
-- RaycastResult mevcutsa tüm özellikleri yazdır
print(`Işın şunla kesişti: {raycastResult.Instance:GetFullName()}`)
print(`Kesişim noktası: {raycastResult.Position}`)
print(`Işın başlangıcı ile sonuç arasındaki mesafe: {raycastResult.Distance}`)
print(`Kesişen yüzeyin normal vektörü: {raycastResult.Normal}`)
print(`Çarpılan malzeme: {raycastResult.Material.Name}`)
else
print("Hiçbir şey vurulmadı")
end
end
-- Her 2 saniyede bir sürekli ışın yay
while true do
castRay()
task.wait(2)
end

Shapecast
Simulation Access
WorldRoot:Shapecast(
part:BasePart, direction:Vector3, params:RaycastParams
Parametreler
direction:Vector3
Varsayılan değer: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler

Spherecast
Paralel yaz
Simulation Access
WorldRoot:Spherecast(
position:Vector3, radius:number, direction:Vector3, params:RaycastParams
Parametreler
position:Vector3
radius:number
direction:Vector3
Varsayılan değer: "RaycastParams{IgnoreWater=false, BruteForceAllSlow=false, RespectCanCollide=false, CollisionGroup=Default, FilterDescendantsInstances={}}"
Dönüşler
Kod Örnekleri
Küre Atışı
local Workspace = game:GetService("Workspace")
local function castSphere()
-- Atış küresel şeklinin başlangıç pozisyonu
local originPosition = Vector3.new(0, 50, 0)
-- Atış küresel şeklinin yarıçapı stud cinsinden
local radius = 10
-- Kürenin atıldığı yön
local direction = -Vector3.yAxis
-- Atışın maksimum mesafesi
local distance = 50
-- Küreyi at ve onun bir görselleştirmesini oluştur
local raycastResult = Workspace:Spherecast(originPosition, radius, direction * distance)
if raycastResult then
-- RaycastResult varsa tüm özelliklerini yazdır
print(`Küre ile kesişen: {raycastResult.Instance:GetFullName()}`)
print(`Kesim pozisyonu: {raycastResult.Position}`)
print(`Kürenin başlangıç pozisyonu ile sonuç arasındaki mesafe: {raycastResult.Distance}`)
print(`Kesişen yüzeyin normal vektörü: {raycastResult.Normal}`)
print(`Vurulan malzeme: {raycastResult.Material.Name}`)
else
print("Hiçbir şey vurulmadı")
end
end
-- Her 2 saniyede bir sürekli olarak bir küre at
while true do
castSphere()
task.wait(2)
end

StepPhysics
Eklenti Güvenliği
WorldRoot:StepPhysics(
dt:number, parts:Instances
):()
Parametreler
parts:Instances
Varsayılan değer: "{}"
Dönüşler
()
Kod Örnekleri
AdımFizikleri
local RunService = game:GetService("RunService")
-- Simüle edilecek parçaların isteğe bağlı dizisi; aksi takdirde tüm parçalar simüle edilecektir
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
-- Çalışma alanındaki parçaları 5 saniye boyunca simüle et, parçaları her karede bir kez adım atarak simüle et
simulateParts(5.0)

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.