Meer informatie
Engine-klasse
BasePart
Niet maakbaar
Niet doorzoekbaar

*Deze inhoud is vertaald met behulp van AI (bèta) en kan fouten bevatten. Klik hier om deze pagina in het Engels te bekijken.


Samenvatting

Eigenschappen
BackParamA:number
Verouderd
BackParamB:number
Verouderd
Elasticity:number
Verouderd
Friction:number
Verouderd
LeftParamA:number
Verouderd
LeftParamB:number
Verouderd
TopParamA:number
Verouderd
TopParamB:number
Verouderd
Velocity:Vector3
Verouderd
Methoden
AngularAccelerationToTorque(angAcceleration: Vector3,angVelocity: Vector3):Vector3
ApplyImpulse(impulse: Vector3):()
ApplyImpulseAtPosition(impulse: Vector3,position: Vector3):()
BreakJoints():()
Verouderd
breakJoints():()
Verouderd
GetJoints():Instances
getMass():number
Verouderd
GetRootPart():Instance
Verouderd
GetTouchingParts():Instances
IntersectAsync(parts: Instances,collisionfidelity: Enum.CollisionFidelity,renderFidelity: Enum.RenderFidelity):Instance
MakeJoints():()
Verouderd
makeJoints():()
Verouderd
Resize(normalId: Enum.NormalId,deltaAmount: number):boolean
resize(normalId: Enum.NormalId,deltaAmount: number):boolean
Verouderd
SetNetworkOwner(playerInstance: Player):()
SubtractAsync(parts: Instances,collisionfidelity: Enum.CollisionFidelity,renderFidelity: Enum.RenderFidelity):Instance
UnionAsync(parts: Instances,collisionfidelity: Enum.CollisionFidelity,renderFidelity: Enum.RenderFidelity):Instance
Overgenomen leden
Overgenomen door
Codevoorbeelden
SmoothDamping van een Part's CFrame
local TweenService = game:GetService("TweenService")
-- maak een part en doel
local part = Instance.new("Part", workspace)
part.Size = Vector3.one
part.Anchored = true
part.BrickColor = BrickColor.new("Electric blue")
part.CFrame = CFrame.new(0, 4, 0)
local target = Instance.new("Part", workspace)
target.Name = "Target"
target.Size = Vector3.one * 0.5
target.Anchored = true
target.BrickColor = BrickColor.new("Really red")
target.CFrame = CFrame.new(0, 8, 0)
-- stel een variabele in om de snelheid op te slaan
local velocity = CFrame.new()
-- pas de soepelheidsnelheid aan
local smoothTime = 0.5
game:GetService("RunService").Stepped:Connect(function(t, dt)
part.CFrame, velocity = TweenService:SmoothDamp(part.CFrame, target.CFrame, velocity, smoothTime, math.huge, dt)
end)

API-referentie
Eigenschappen
Anchored
Parallel lezen
Toegang tot simulatie
BasePart.Anchored:boolean
Codevoorbeelden
Deel Verankerd Wisselen
local part = script.Parent
-- Maak een ClickDetector zodat we kunnen zien wanneer het deel wordt geklikt
local cd = Instance.new("ClickDetector", part)
-- Deze functie werkt bij hoe het deel eruit ziet op basis van de verankerde staat
local function updateVisuals()
if part.Anchored then
-- Wanneer het deel verankerd is...
part.BrickColor = BrickColor.new("Heldere rood")
part.Material = Enum.Material.DiamondPlate
else
-- Wanneer het deel niet verankerd is...
part.BrickColor = BrickColor.new("Heldere geel")
part.Material = Enum.Material.Wood
end
end
local function onToggle()
-- Wissel de verankerde eigenschap
part.Anchored = not part.Anchored
-- Werk de visuele staat van de baksteen bij
updateVisuals()
end
-- Werk bij, en begin dan met luisteren naar klikken
updateVisuals()
cd.MouseClick:Connect(onToggle)

AssemblyAngularVelocity
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.AssemblyAngularVelocity:Vector3

AssemblyCenterOfMass
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.AssemblyCenterOfMass:Vector3

AssemblyLinearVelocity
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.AssemblyLinearVelocity:Vector3

AssemblyMass
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.AssemblyMass:number

AssemblyRootPart
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.AssemblyRootPart:BasePart

AudioCanCollide
Parallel lezen
Toegang tot simulatie
BasePart.AudioCanCollide:boolean

BackParamA
Verouderd

BackParamB
Verouderd

BackSurface
Parallel lezen
BasePart.BackSurface:Enum.SurfaceType

BackSurfaceInput
Verouderd

BottomParamA
Verouderd

BottomParamB
Verouderd

BottomSurface
Parallel lezen
BasePart.BottomSurface:Enum.SurfaceType

BottomSurfaceInput
Verouderd

BrickColor
Niet gerepliceerd
Parallel lezen
BasePart.BrickColor:BrickColor

brickColor
Verouderd

CanCollide
Parallel lezen
Toegang tot simulatie
BasePart.CanCollide:boolean
Codevoorbeelden
Vervagende Deur
-- Plak in een Script binnen een hoog onderdeel
local part = script.Parent
local OPEN_TIME = 1
-- Kan de deur op dit moment geopend worden?
local debounce = false
local function open()
part.CanCollide = false
part.Transparency = 0.7
part.BrickColor = BrickColor.new("Zwart")
end
local function close()
part.CanCollide = true
part.Transparency = 0
part.BrickColor = BrickColor.new("Helder blauw")
end
local function onTouch(otherPart)
-- Als de deur al open was, doe niets
if debounce then
print("D")
return
end
-- Controleer of aangeraakt door een Humanoid
local human = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if not human then
print("geen mens")
return
end
-- Voer de deur open sequentie uit
debounce = true
open()
task.wait(OPEN_TIME)
close()
debounce = false
end
part.Touched:Connect(onTouch)
close()

CanQuery
Parallel lezen
Toegang tot simulatie
BasePart.CanQuery:boolean

CanTouch
Parallel lezen
Toegang tot simulatie
BasePart.CanTouch:boolean

CastShadow
Parallel lezen
BasePart.CastShadow:boolean

CenterOfMass
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.CenterOfMass:Vector3

CFrame
Parallel lezen
Toegang tot simulatie
BasePart.CFrame:CFrame
Codevoorbeelden
Instellen van Part CFrame
local part = script.Parent:WaitForChild("Part")
local otherPart = script.Parent:WaitForChild("OtherPart")
-- Reset de CFrame van de part naar (0, 0, 0) zonder rotatie.
-- Dit wordt soms de "identiteit" CFrame genoemd
part.CFrame = CFrame.new()
-- Stel in op een specifieke positie (X, Y, Z)
part.CFrame = CFrame.new(0, 25, 10)
-- Hetzelfde als hierboven, maar gebruik een Vector3 in plaats daarvan
local point = Vector3.new(0, 25, 10)
part.CFrame = CFrame.new(point)
-- Stel de CFrame van de part in op één punt, kijkend naar een ander
local lookAtPoint = Vector3.new(0, 20, 15)
part.CFrame = CFrame.lookAt(point, lookAtPoint)
-- Draai de CFrame van de part met pi/2 radialen op de lokale X-as
part.CFrame = part.CFrame * CFrame.Angles(math.pi / 2, 0, 0)
-- Draai de CFrame van de part met 45 graden op de lokale Y-as
part.CFrame = part.CFrame * CFrame.Angles(0, math.rad(45), 0)
-- Draai de CFrame van de part met 180 graden op de globale Z-as (let op de volgorde!)
part.CFrame = CFrame.Angles(0, 0, math.pi) * part.CFrame -- Pi radialen is gelijk aan 180 graden
-- Het samenstellen van twee CFrames gebeurt met * (de vermenigvuldigingsoperator)
part.CFrame = CFrame.new(2, 3, 4) * CFrame.new(4, 5, 6) --> gelijk aan CFrame.new(6, 8, 10)
-- In tegenstelling tot algebraïsche vermenigvuldiging is CFrame-samenstelling NIET commutatief: a * b is niet noodzakelijk b * a!
-- Stel je * voor als een GEORDENDE reeks acties. Bijvoorbeeld, de volgende regels produceren verschillende CFrames:
-- 1) Verschuif de part 5 eenheden op X.
-- 2) Draai de part 45 graden rond zijn Y-as.
part.CFrame = CFrame.new(5, 0, 0) * CFrame.Angles(0, math.rad(45), 0)
-- 1) Draai de part 45 graden rond zijn Y-as.
-- 2) Verschuif de part 5 eenheden op X.
part.CFrame = CFrame.Angles(0, math.rad(45), 0) * CFrame.new(5, 0, 0)
-- Er is geen "CFrame deling", maar in plaats daarvan gewoon "de inverse operatie uitvoeren".
part.CFrame = CFrame.new(4, 5, 6) * CFrame.new(4, 5, 6):Inverse() --> is gelijk aan CFrame.new(0, 0, 0)
part.CFrame = CFrame.Angles(0, 0, math.pi) * CFrame.Angles(0, 0, math.pi):Inverse() --> gelijk aan CFrame.Angles(0, 0, 0)
-- Positioneer een part relatief ten opzichte van een andere (in dit geval, zet onze part bovenop otherPart)
part.CFrame = otherPart.CFrame * CFrame.new(0, part.Size.Y / 2 + otherPart.Size.Y / 2, 0)

CollisionGroup
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.CollisionGroup:string
Codevoorbeelden
WorldRoot:RegisterCollisionGroup
local Workspace = game:GetService("Workspace")
local collisionGroupBall = "CollisionGroupBall"
local collisionGroupDoor = "CollisionGroupDoor"
-- Registreer botsingsgroepen in Workspace
Workspace:RegisterCollisionGroup(collisionGroupBall)
Workspace:RegisterCollisionGroup(collisionGroupDoor)
-- Wijs onderdelen toe aan botsingsgroepen
script.Parent.BallPart.CollisionGroup = collisionGroupBall
script.Parent.DoorPart.CollisionGroup = collisionGroupDoor
-- Stel groepen in als niet-botsend met elkaar en controleer het resultaat
Workspace:CollisionGroupSetCollidable(collisionGroupBall, collisionGroupDoor, false)
print(Workspace:CollisionGroupsAreCollidable(collisionGroupBall, collisionGroupDoor)) --> false

CollisionGroupId
Verouderd

Color
Niet gerepliceerd
Parallel lezen
BasePart.Color:Color3
Codevoorbeelden
Kleur van het Gezondheidslichaam van het Personage
-- Plak dit in een Script binnen StarterCharacterScripts
-- Speel vervolgens het spel en speel met de gezondheid van je personage
local char = script.Parent
local human = char.Humanoid
local colorHealthy = Color3.new(0.4, 1, 0.2)
local colorUnhealthy = Color3.new(1, 0.4, 0.2)
local function setColor(color)
for _, child in pairs(char:GetChildren()) do
if child:IsA("BasePart") then
child.Color = color
while child:FindFirstChildOfClass("Decal") do
child:FindFirstChildOfClass("Decal"):Destroy()
end
elseif child:IsA("Accessory") then
child.Handle.Color = color
local mesh = child.Handle:FindFirstChildOfClass("SpecialMesh")
if mesh then
mesh.TextureId = ""
end
elseif child:IsA("Shirt") or child:IsA("Pants") then
child:Destroy()
end
end
end
local function update()
local percentage = human.Health / human.MaxHealth
-- Maak een kleur door te tweenen op basis van het percentage van je gezondheid
-- De kleur gaat van colorHealthy (100%) ----- > colorUnhealthy (0%)
local color = Color3.new(
colorHealthy.R * percentage + colorUnhealthy.r * (1 - percentage),
colorHealthy.G * percentage + colorUnhealthy.g * (1 - percentage),
colorHealthy.B * percentage + colorUnhealthy.b * (1 - percentage)
)
setColor(color)
end
update()
human.HealthChanged:Connect(update)

CurrentPhysicalProperties
Alleen-lezen
Niet gerepliceerd
Parallel lezen
BasePart.CurrentPhysicalProperties:PhysicalProperties

CustomPhysicalProperties
Parallel lezen
Toegang tot simulatie
BasePart.CustomPhysicalProperties:PhysicalProperties
Codevoorbeelden
Stel AangepasteFysiekeEigenschappen In
local part = script.Parent
-- Dit maakt het onderdeel licht en veerkrachtig!
local DENSITY = 0.3
local FRICTION = 0.1
local ELASTICITY = 1
local FRICTION_WEIGHT = 1
local ELASTICITY_WEIGHT = 1
local physProperties = PhysicalProperties.new(DENSITY, FRICTION, ELASTICITY, FRICTION_WEIGHT, ELASTICITY_WEIGHT)
part.CustomPhysicalProperties = physProperties

Elasticity
Verouderd

EnableFluidForces
Parallel lezen
Toegang tot simulatie
BasePart.EnableFluidForces:boolean

ExtentsCFrame
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.ExtentsCFrame:CFrame

ExtentsSize
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.ExtentsSize:Vector3

Friction
Verouderd

FrontParamA
Verouderd

FrontParamB
Verouderd

FrontSurface
Parallel lezen
BasePart.FrontSurface:Enum.SurfaceType

FrontSurfaceInput
Verouderd

LeftParamA
Verouderd

LeftParamB
Verouderd

LeftSurface
Parallel lezen
BasePart.LeftSurface:Enum.SurfaceType

LeftSurfaceInput
Verouderd

LocalTransparencyModifier
Verborgen
Niet gerepliceerd
Parallel lezen
BasePart.LocalTransparencyModifier:number

Locked
Parallel lezen
Toegang tot simulatie
BasePart.Locked:boolean
Codevoorbeelden
Recursieve Ontgrendeling
-- Plak dit in een Script binnen een Model dat je wilt ontgrendelen
local model = script.Parent
-- Deze functie doorloopt de hiërarchie van een model en ontgrendelt
-- elk onderdeel dat het tegenkomt.
local function recursiveUnlock(object)
if object:IsA("BasePart") then
object.Locked = false
end
-- Roep dezelfde functie aan op de kinderen van het object
-- Het recursieve proces stopt als een object geen kinderen heeft
for _, child in pairs(object:GetChildren()) do
recursiveUnlock(child)
end
end
recursiveUnlock(model)

Mass
Alleen-lezen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.Mass:number

Massless
Parallel lezen
Toegang tot simulatie
BasePart.Massless:boolean

Material
Parallel lezen
Toegang tot simulatie
BasePart.Material:Enum.Material

MaterialVariant
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.MaterialVariant:string

Orientation
Verborgen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.Orientation:Vector3
Codevoorbeelden
Deel Spinner
local part = script.Parent
local INCREMENT = 360 / 20
-- Roteer het deel continu
while true do
for degrees = 0, 360, INCREMENT do
-- Stel alleen de Y-as rotatie in
part.Rotation = Vector3.new(0, degrees, 0)
-- Een betere manier om dit te doen zou zijn om CFrame in te stellen
--part.CFrame = CFrame.new(part.Position) * CFrame.Angles(0, math.rad(degrees), 0)
task.wait()
end
end

PivotOffset
Parallel lezen
Toegang tot simulatie
BasePart.PivotOffset:CFrame
Codevoorbeelden
Reset Pivot
local function resetPivot(model)
local boundsCFrame = model:GetBoundingBox()
if model.PrimaryPart then
model.PrimaryPart.PivotOffset = model.PrimaryPart.CFrame:ToObjectSpace(boundsCFrame)
else
model.WorldPivot = boundsCFrame
end
end
resetPivot(script.Parent)
Klokwijzers
local function createHand(length, width, yOffset)
local part = Instance.new("Part")
part.Size = Vector3.new(width, 0.1, length)
part.Material = Enum.Material.Neon
part.PivotOffset = CFrame.new(0, -(yOffset + 0.1), length / 2)
part.Anchored = true
part.Parent = workspace
return part
end
local function positionHand(hand, fraction)
hand:PivotTo(CFrame.fromEulerAnglesXYZ(0, -fraction * 2 * math.pi, 0))
end
-- Maak wijzerplaat
for i = 0, 11 do
local dialPart = Instance.new("Part")
dialPart.Size = Vector3.new(0.2, 0.2, 1)
dialPart.TopSurface = Enum.SurfaceType.Smooth
if i == 0 then
dialPart.Size = Vector3.new(0.2, 0.2, 2)
dialPart.Color = Color3.new(1, 0, 0)
end
dialPart.PivotOffset = CFrame.new(0, -0.1, 10.5)
dialPart.Anchored = true
dialPart:PivotTo(CFrame.fromEulerAnglesXYZ(0, (i / 12) * 2 * math.pi, 0))
dialPart.Parent = workspace
end
-- Maak wijzers
local hourHand = createHand(7, 1, 0)
local minuteHand = createHand(10, 0.6, 0.1)
local secondHand = createHand(11, 0.2, 0.2)
-- Voer klok uit
while true do
local components = os.date("*t")
positionHand(hourHand, (components.hour + components.min / 60) / 12)
positionHand(minuteHand, (components.min + components.sec / 60) / 60)
positionHand(secondHand, components.sec / 60)
task.wait()
end
Pivot Offset
local Workspace = game:GetService("Workspace")
local bluePart = Instance.new("Part")
bluePart.Name = "BluePart"
bluePart.Parent = Workspace
local part = Workspace.BluePart
local desiredPivotCFrameInWorldSpace = CFrame.new(0, 10, 0)
part.PivotOffset = part.CFrame:ToObjectSpace(desiredPivotCFrameInWorldSpace)

Position
Verborgen
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.Position:Vector3

ReceiveAge
Verborgen
Alleen-lezen
Niet gerepliceerd
Parallel lezen
BasePart.ReceiveAge:number

Reflectance
Parallel lezen
BasePart.Reflectance:number

ResizeableFaces
Alleen-lezen
Niet gerepliceerd
Parallel lezen
BasePart.ResizeableFaces:Faces
Codevoorbeelden
Grootte Handvatten
-- Plaats dit Script in verschillende soorten BasePart, zoals
-- Part, TrussPart, WedgePart, CornerWedgePart, enz.
local part = script.Parent
-- Maak een handvattenobject voor dit onderdeel
local handles = Instance.new("Handles")
handles.Adornee = part
handles.Parent = part
-- Specificeer handmatig de gezichten die van toepassing zijn voor dit handvat
handles.Faces = Faces.new(Enum.NormalId.Top, Enum.NormalId.Front, Enum.NormalId.Left)
-- Alternatief, gebruik de gezichten waarop het onderdeel kan worden aangepast.
-- Als het onderdeel een TrussPart is met slechts twee grootte dimensies
-- van lengte 2, dan zal ResizeableFaces alleen twee
-- ingeschakelde gezichten hebben. Voor andere onderdelen zullen alle gezichten ingeschakeld zijn.
handles.Faces = part.ResizeableFaces

ResizeIncrement
Alleen-lezen
Niet gerepliceerd
Parallel lezen
BasePart.ResizeIncrement:number

RightParamA
Verouderd

RightParamB
Verouderd

RightSurface
Parallel lezen
BasePart.RightSurface:Enum.SurfaceType

RightSurfaceInput
Verouderd

RootPriority
Parallel lezen
BasePart.RootPriority:number

Rotation
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.Rotation:Vector3

RotVelocity
Verouderd

Size
Niet gerepliceerd
Parallel lezen
Toegang tot simulatie
BasePart.Size:Vector3
Codevoorbeelden
Piramide Bouwer
local TOWER_BASE_SIZE = 30
local position = Vector3.new(50, 50, 50)
local hue = math.random()
local color0 = Color3.fromHSV(hue, 1, 1)
local color1 = Color3.fromHSV((hue + 0.35) % 1, 1, 1)
local model = Instance.new("Model")
model.Name = "Tower"
for i = TOWER_BASE_SIZE, 1, -2 do
local part = Instance.new("Part")
part.Size = Vector3.new(i, 2, i)
part.Position = position
part.Anchored = true
part.Parent = model
-- Tween van color0 en color1
local perc = i / TOWER_BASE_SIZE
part.Color = Color3.new(
color0.R * perc + color1.R * (1 - perc),
color0.G * perc + color1.G * (1 - perc),
color0.B * perc + color1.B * (1 - perc)
)
position = position + Vector3.new(0, part.Size.Y, 0)
end
model.Parent = workspace

SpecificGravity
Verouderd

TopParamA
Verouderd

TopParamB
Verouderd

TopSurface
Parallel lezen
BasePart.TopSurface:Enum.SurfaceType

TopSurfaceInput
Verouderd

Transparency
Parallel lezen
BasePart.Transparency:number
Codevoorbeelden
Vervagende Deur
-- Plak in een Script binnen een hoog onderdeel
local part = script.Parent
local OPEN_TIME = 1
-- Kan de deur op dit moment geopend worden?
local debounce = false
local function open()
part.CanCollide = false
part.Transparency = 0.7
part.BrickColor = BrickColor.new("Zwart")
end
local function close()
part.CanCollide = true
part.Transparency = 0
part.BrickColor = BrickColor.new("Helder blauw")
end
local function onTouch(otherPart)
-- Als de deur al open was, doe niets
if debounce then
print("D")
return
end
-- Controleer of aangeraakt door een Humanoid
local human = otherPart.Parent:FindFirstChildOfClass("Humanoid")
if not human then
print("geen mens")
return
end
-- Voer de deur open sequentie uit
debounce = true
open()
task.wait(OPEN_TIME)
close()
debounce = false
end
part.Touched:Connect(onTouch)
close()

Velocity
Verouderd

Methoden
AngularAccelerationToTorque
Toegang tot simulatie
BasePart:AngularAccelerationToTorque(
angAcceleration:Vector3, angVelocity:Vector3
Parameters
angAcceleration:Vector3
angVelocity:Vector3
Standaardwaarde: 0, 0, 0
Teruggaves
Codevoorbeelden
Hoekversnelling naar Koppel
local part = Instance.new("Part")
part.Parent = workspace
local angularVelocity = part.AssemblyAngularVelocity
local desiredAcceleration = Vector3.new(0, 10, 0)
-- Bereken het koppel dat nodig is om de gewenste versnelling te bereiken
local torque = part:AngularAccelerationToTorque(desiredAcceleration, angularVelocity)

ApplyAngularImpulse
Toegang tot simulatie
BasePart:ApplyAngularImpulse(impulse:Vector3):()
Parameters
impulse:Vector3
Teruggaves
()

ApplyImpulse
Toegang tot simulatie
BasePart:ApplyImpulse(impulse:Vector3):()
Parameters
impulse:Vector3
Teruggaves
()

ApplyImpulseAtPosition
Toegang tot simulatie
BasePart:ApplyImpulseAtPosition(
impulse:Vector3, position:Vector3
):()
Parameters
impulse:Vector3
position:Vector3
Teruggaves
()

BindToCollisionSummaries
Mogelijkheden: Basic
BasePart:BindToCollisionSummaries(callback:function):RBXScriptConnection
Parameters
callback:function

BreakJoints
Verouderd

breakJoints
Verouderd

CanCollideWith
Parallel schrijven
Toegang tot simulatie
BasePart:CanCollideWith(part:BasePart):boolean
Parameters
Teruggaves

CanSetNetworkOwnership
Toegang tot simulatie
BasePart:CanSetNetworkOwnership():Tuple
Teruggaves
Codevoorbeelden
Controleer of het netwerkbezit van een onderdeel kan worden ingesteld
local part = workspace:FindFirstChild("Part")
if part and part:IsA("BasePart") then
local canSet, errorReason = part:CanSetNetworkOwnership()
if canSet then
print(part:GetFullName() .. "'s Netwerkbezit kan worden gewijzigd!")
else
warn("Kan het netwerkbezit van " .. part:GetFullName() .. " niet wijzigen omdat: " .. errorReason)
end
end

GetClosestPointOnSurface
Toegang tot simulatie
BasePart:GetClosestPointOnSurface(position:Vector3):Vector3
Parameters
position:Vector3
Teruggaves

GetConnectedParts
Parallel schrijven
BasePart:GetConnectedParts(recursive:boolean):{BasePart}
Parameters
recursive:boolean
Standaardwaarde: false
Teruggaves

GetJoints
Parallel schrijven
Toegang tot simulatie
BasePart:GetJoints():Instances
Teruggaves
Instances

GetMass
Parallel schrijven
Toegang tot simulatie
BasePart:GetMass():number
Teruggaves
Codevoorbeelden
Het Vinden van de Massa van een Onderdeel
local myPart = Instance.new("Part")
myPart.Size = Vector3.new(4, 6, 4)
myPart.Anchored = true
myPart.Parent = workspace
local myMass = myPart:GetMass()
print("De massa van mijn onderdeel is " .. myMass)

getMass
Verouderd

GetNetworkOwner
Parallel schrijven
Toegang tot simulatie
BasePart:GetNetworkOwner():Instance
Teruggaves

GetNetworkOwnershipAuto
Parallel schrijven
Toegang tot simulatie
BasePart:GetNetworkOwnershipAuto():boolean
Teruggaves

GetNoCollisionConstraints
Toegang tot simulatie
BasePart:GetNoCollisionConstraints():Instances
Teruggaves
Instances

GetRenderCFrame
Verouderd

GetRootPart
Verouderd

GetTouchingParts
Toegang tot simulatie
BasePart:GetTouchingParts():Instances
Teruggaves
Instances

GetVelocityAtPosition
Parallel schrijven
Toegang tot simulatie
BasePart:GetVelocityAtPosition(position:Vector3):Vector3
Parameters
position:Vector3
Teruggaves

IntersectAsync
Opbrengst
Mogelijkheden: CSG
BasePart:IntersectAsync(
parts:Instances, collisionfidelity:Enum.CollisionFidelity, renderFidelity:Enum.RenderFidelity
Parameters
parts:Instances
collisionfidelity:Enum.CollisionFidelity
Standaardwaarde: Default
renderFidelity:Enum.RenderFidelity
Standaardwaarde: Automatic
Teruggaves

IsGrounded
Parallel schrijven
Toegang tot simulatie
BasePart:IsGrounded():boolean
Teruggaves

MakeJoints
Verouderd

makeJoints
Verouderd

Resize
Toegang tot simulatie
BasePart:Resize(
normalId:Enum.NormalId, deltaAmount:number
Parameters
normalId:Enum.NormalId
deltaAmount:number
Teruggaves

resize
Verouderd

SetNetworkOwner
Toegang tot simulatie
BasePart:SetNetworkOwner(playerInstance:Player):()
Parameters
playerInstance:Player
Standaardwaarde: nil
Teruggaves
()

SetNetworkOwnershipAuto
Toegang tot simulatie
BasePart:SetNetworkOwnershipAuto():()
Teruggaves
()

SubtractAsync
Opbrengst
Mogelijkheden: CSG
BasePart:SubtractAsync(
parts:Instances, collisionfidelity:Enum.CollisionFidelity, renderFidelity:Enum.RenderFidelity
Parameters
parts:Instances
collisionfidelity:Enum.CollisionFidelity
Standaardwaarde: Default
renderFidelity:Enum.RenderFidelity
Standaardwaarde: Automatic
Teruggaves

TorqueToAngularAcceleration
Toegang tot simulatie
BasePart:TorqueToAngularAcceleration(
torque:Vector3, angVelocity:Vector3
Parameters
torque:Vector3
angVelocity:Vector3
Standaardwaarde: 0, 0, 0
Teruggaves
Codevoorbeelden
Koppel naar Hoekversnelling
local part = Instance.new("Part")
part.Parent = workspace
local angularVelocity = part.AssemblyAngularVelocity
local appliedTorque = Vector3.new(0, 100, 0)
-- Voorspel de hoekversnelling op basis van dit koppel
local angAccel = part:TorqueToAngularAcceleration(appliedTorque, angularVelocity)

UnionAsync
Opbrengst
Mogelijkheden: CSG
BasePart:UnionAsync(
parts:Instances, collisionfidelity:Enum.CollisionFidelity, renderFidelity:Enum.RenderFidelity
Parameters
parts:Instances
collisionfidelity:Enum.CollisionFidelity
Standaardwaarde: Default
renderFidelity:Enum.RenderFidelity
Standaardwaarde: Automatic
Teruggaves

Evenementen
LocalSimulationTouched
Verouderd

OutfitChanged
Verouderd

StoppedTouching
Verouderd

Touched
BasePart.Touched(otherPart:BasePart):RBXScriptSignal
Parameters
otherPart:BasePart
Codevoorbeelden
Aantal Raakvlakken
local part = script.Parent
local billboardGui = Instance.new("BillboardGui")
billboardGui.Size = UDim2.new(0, 200, 0, 50)
billboardGui.Adornee = part
billboardGui.AlwaysOnTop = true
billboardGui.Parent = part
local tl = Instance.new("TextLabel")
tl.Size = UDim2.new(1, 0, 1, 0)
tl.BackgroundTransparency = 1
tl.Parent = billboardGui
local numTouchingParts = 0
local function onTouch(otherPart)
print("Raak begonnen: " .. otherPart.Name)
numTouchingParts = numTouchingParts + 1
tl.Text = numTouchingParts
end
local function onTouchEnded(otherPart)
print("Raak geëindigd: " .. otherPart.Name)
numTouchingParts = numTouchingParts - 1
tl.Text = numTouchingParts
end
part.Touched:Connect(onTouch)
part.TouchEnded:Connect(onTouchEnded)
Model Raakt Aan
local model = script.Parent
local function onTouched(otherPart)
-- Negeer instanties van het model die in contact komen met zichzelf
if otherPart:IsDescendantOf(model) then
return
end
print(model.Name .. " botste tegen " .. otherPart.Name)
end
for _, child in pairs(model:GetChildren()) do
if child:IsA("BasePart") then
child.Touched:Connect(onTouched)
end
end

TouchEnded
BasePart.TouchEnded(otherPart:BasePart):RBXScriptSignal
Parameters
otherPart:BasePart
Codevoorbeelden
Aantal Raakvlakken
local part = script.Parent
local billboardGui = Instance.new("BillboardGui")
billboardGui.Size = UDim2.new(0, 200, 0, 50)
billboardGui.Adornee = part
billboardGui.AlwaysOnTop = true
billboardGui.Parent = part
local tl = Instance.new("TextLabel")
tl.Size = UDim2.new(1, 0, 1, 0)
tl.BackgroundTransparency = 1
tl.Parent = billboardGui
local numTouchingParts = 0
local function onTouch(otherPart)
print("Raak begonnen: " .. otherPart.Name)
numTouchingParts = numTouchingParts + 1
tl.Text = numTouchingParts
end
local function onTouchEnded(otherPart)
print("Raak geëindigd: " .. otherPart.Name)
numTouchingParts = numTouchingParts - 1
tl.Text = numTouchingParts
end
part.Touched:Connect(onTouch)
part.TouchEnded:Connect(onTouchEnded)

©2026 Roblox Corporation. Roblox, het Roblox-logo en Powering Imagination behoren tot onze geregistreerde en niet-geregistreerde handelsmerken in de VS en andere landen.