Meer informatie
Engine-klasse
Model

*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

Methoden
AddPersistentPlayer(playerInstance: Player):()
BreakJoints():()
Verouderd
breakJoints():()
Verouderd
GetModelSize():Vector3
Verouderd
MakeJoints():()
Verouderd
makeJoints():()
Verouderd
move(location: Vector3):()
Verouderd
MoveTo(position: Vector3):()
moveTo(location: Vector3):()
Verouderd
RemovePersistentPlayer(playerInstance: Player):()
ScaleTo(newScaleFactor: number):()
SetIdentityOrientation():()
Verouderd
SetPrimaryPartCFrame(cframe: CFrame):()
Verouderd
TranslateBy(delta: Vector3):()
Overgenomen leden
Codevoorbeelden
Basis Model Instantiatie
local function groupObjects(objectTable)
local model = Instance.new("Model")
for _, object in pairs(objectTable) do
object.Parent = model
end
return model
end
local objects = {
Instance.new("Part"),
Instance.new("Part"),
}
groupObjects(objects)

API-referentie
Eigenschappen
LevelOfDetail
Parallel lezen
Mogelijkheden: PluginOrOpenCloud
Model.LevelOfDetail:Enum.ModelLevelOfDetail

ModelStreamingMode
Parallel lezen
Model.ModelStreamingMode:Enum.ModelStreamingMode

PrimaryPart
Parallel lezen
Model.PrimaryPart:BasePart
Codevoorbeelden
Dobbelstenen Gooien
-- Maak een dobbelsteenmodel met twee helften en verbind ze met elkaar
local diceModel = Instance.new("Model")
diceModel.Name = "KansKubus"
local diceTop = Instance.new("Part")
diceTop.Size = Vector3.new(4, 2, 4)
diceTop.Position = Vector3.new(0, 1, 0)
diceTop.Color = Color3.new(0, 0, 1)
diceTop.Parent = diceModel
local diceBottom = diceTop:Clone()
diceBottom.Position = Vector3.new(0, -1, 0)
diceBottom.Color = Color3.new(1, 0, 0)
diceBottom.Parent = diceModel
local weld = Instance.new("WeldConstraint")
weld.Part0 = diceTop
weld.Part1 = diceBottom
weld.Parent = diceModel
-- Zet de dobbelsteen in de lucht boven de werkruimte oorsprong (vereist geen primaire part)
diceModel.Parent = workspace
diceModel:PivotTo(CFrame.new(0, 10, 0))
-- Wijs de primaire part toe voordat de fysieke simulatie begint
-- Zonder deze regel zal het script altijd hetzelfde resultaat geven en de bounding box van het model zal niet van oriëntatie veranderen
diceModel.PrimaryPart = diceTop
-- Wacht even voordat je de dobbelstenen gooit (laat ze op de vloer komen)
for i = 5, 1, -1 do
print("Dobbelstenen worden gegooid in...", i)
task.wait(1)
end
diceTop:ApplyAngularImpulse(Vector3.new(15000, 1000, 5000))
diceTop:ApplyImpulse(Vector3.new(0, 3000, 0))
task.wait(1)
-- Wacht tot de worp is voltooid
while diceTop.AssemblyLinearVelocity.Magnitude > 0.1 or diceTop.AssemblyAngularVelocity.Magnitude > 0.1 do
task.wait()
end
-- Verkrijg de oriëntatie van de dobbelsteen, beïnvloed door de primaire part
local orientation = diceModel:GetBoundingBox()
if orientation.YVector.Y > 0.5 then
print("Het is de jongen!")
else
print("Het is zijn moeder!")
end

Scale
Niet gerepliceerd
Niet scriptbaar
Parallel lezen
Model.Scale:number

WorldPivot
Niet gerepliceerd
Parallel lezen
Model.WorldPivot: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)
Wereld Pivot
local Workspace = game:GetService("Workspace")
local bluePart = Instance.new("Part")
bluePart.Name = "BluePart"
bluePart.Parent = Workspace
local redPart = Instance.new("Part")
redPart.Name = "RedPart"
redPart.Parent = Workspace
local model = Instance.new("Model")
Workspace.BluePart.Parent = model
Workspace.RedPart.Parent = model
model.Parent = Workspace
print(model:GetPivot()) -- Momenteel gelijk aan het midden van de omhullende doos die "BluePart" en "RedPart" bevat
model:PivotTo(CFrame.new(0, 10, 0)) -- Dit werkt zonder dat je expliciet "model.WorldPivot" hoeft in te stellen

Methoden
AddPersistentPlayer
Model:AddPersistentPlayer(playerInstance:Player):()
Parameters
playerInstance:Player
Standaardwaarde: nil
Teruggaves
()

BreakJoints
Verouderd

breakJoints
Verouderd

GetBoundingBox
Model:GetBoundingBox():Tuple
Teruggaves
Codevoorbeelden
Krijg Begrenzingsdoos
local Workspace = game:GetService("Workspace")
local model = Workspace.Model
local part = Workspace.Part
local orientation, size = model:GetBoundingBox()
-- Wijzig de grootte en positie van het onderdeel gelijk aan de begrenzingsdoos van het model
part.Size = size
part.CFrame = orientation

GetExtentsSize
Model:GetExtentsSize():Vector3
Teruggaves
Codevoorbeelden
Model GetExtentsSize
local model = Instance.new("Model")
model.Parent = workspace
local RNG = Random.new()
for _ = 1, 5 do
local part = Instance.new("Part")
part.Anchored = true
part.Size = Vector3.new(RNG:NextNumber(0.05, 5), RNG:NextNumber(0.05, 5), RNG:NextNumber(0.05, 5))
part.Parent = model
end
print(model:GetExtentsSize())

GetModelCFrame
Verouderd

GetModelSize
Verouderd

GetPersistentPlayers
Model:GetPersistentPlayers():{Player}
Teruggaves

GetPrimaryPartCFrame
Verouderd

GetScale
Toegang tot simulatie
Model:GetScale():number
Teruggaves
Codevoorbeelden
Een vervangmodel substitueren met PivotTo en ScaleTo
local CollectionService = game:GetService("CollectionService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Vind alle modellen met het label dat we willen vervangen
local items = CollectionService:GetTagged("Tree")
local newModel = ReplicatedStorage.FancyTreeReplacementModel
for _, item in items do
-- Maak het nieuwe item en schaal / positioneer het waar het oude item was
local newItem = newModel:Clone()
newItem:ScaleTo(item:GetScale())
newItem:PivotTo(item:GetPivot())
-- Voeg hetzelfde label toe aan de vervanging
CollectionService:AddTag(newItem, "Tree")
-- Verwijder het oude item en maak het nieuwe item de ouder
newItem.Parent = item.Parent
item:Destroy()
end

MakeJoints
Verouderd

makeJoints
Verouderd

move
Verouderd

MoveTo
Model:MoveTo(position:Vector3):()
Parameters
position:Vector3
Teruggaves
()
Codevoorbeelden
Model Verplaatsen
local START_POSITION = Vector3.new(-20, 10, 0)
local END_POSITION = Vector3.new(0, 10, 0)
local model = Instance.new("Model")
model.Parent = workspace
local part1 = Instance.new("Part")
part1.Size = Vector3.new(4, 4, 4)
part1.Position = START_POSITION
part1.Anchored = true
part1.BrickColor = BrickColor.new("Heldere geel")
part1.Parent = model
local part2 = Instance.new("Part")
part2.Size = Vector3.new(2, 2, 2)
part2.Position = START_POSITION + Vector3.new(0, 3, 0)
part2.Anchored = true
part2.BrickColor = BrickColor.new("Heldere blauw")
part2.Parent = model
model.PrimaryPart = part1
model.Parent = workspace
local obstruction = Instance.new("Part")
obstruction.Name = "Obstructie"
obstruction.Size = Vector3.new(10, 10, 10)
obstruction.Position = Vector3.new(0, 10, 0)
obstruction.Anchored = true
obstruction.BrickColor = BrickColor.new("Heldere groen")
obstruction.Parent = workspace
task.wait(3)
model:MoveTo(END_POSITION)

moveTo
Verouderd

RemovePersistentPlayer
Model:RemovePersistentPlayer(playerInstance:Player):()
Parameters
playerInstance:Player
Standaardwaarde: nil
Teruggaves
()

ResetOrientationToIdentity
Verouderd

ScaleTo
Model:ScaleTo(newScaleFactor:number):()
Parameters
newScaleFactor:number
Teruggaves
()

SetIdentityOrientation
Verouderd

SetPrimaryPartCFrame
Verouderd

TranslateBy
Model:TranslateBy(delta:Vector3):()
Parameters
delta:Vector3
Teruggaves
()
Codevoorbeelden
Model VertalenDoor
local START_POSITION = Vector3.new(-20, 10, 0)
local END_POSITION = Vector3.new(0, 10, 0)
local model = Instance.new("Model")
local part1 = Instance.new("Part")
part1.Size = Vector3.new(4, 4, 4)
part1.CFrame = CFrame.new(START_POSITION) * CFrame.Angles(0, math.rad(45), 0)
part1.Anchored = true
part1.BrickColor = BrickColor.new("Heldere gele")
part1.Parent = model
local part2 = Instance.new("Part")
part2.Size = Vector3.new(2, 2, 2)
part2.CFrame = part1.CFrame * CFrame.new(0, 3, 0)
part2.Anchored = true
part2.BrickColor = BrickColor.new("Heldere blauwe")
part2.Parent = model
model.PrimaryPart = part1
model.Parent = workspace
local obstruction = Instance.new("Part")
obstruction.Name = "Obstructie"
obstruction.Size = Vector3.new(10, 10, 10)
obstruction.Position = Vector3.new(0, 10, 0)
obstruction.Transparency = 0.5
obstruction.Anchored = true
obstruction.BrickColor = BrickColor.new("Heldere groene")
obstruction.Parent = workspace
task.wait(3)
-- gebruik TranslateBy om het model in de obstructie te verschuiven
model:TranslateBy(END_POSITION - START_POSITION)

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