Engine-klasse
GenerationService
*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
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
SegmentMeshAsync(meshPart: MeshPart,schema: Dictionary,options: Dictionary?):Tuple |
API-referentie
Methoden
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Parameters
Teruggaves
Codevoorbeelden
Generatie van Basis Auto Chassis
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Stel invoer in voor de gegenereerde geometrie
local inputs = {
TextPrompt = "een groene draak auto met 4 wielen"
}
-- Stel schema in op het vooraf gedefinieerde vijf-model auto chassis
local schema = {
PredefinedSchema = "Car5"
}
-- Maak de aanroep om het model te genereren
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Schaal model naar doelgrootte en positioneer nabij wereldcentrum
local targetSize = 16
local modelSize = model:GetExtentsSize()
local scaleFactor = targetSize / math.max(modelSize.X, modelSize.Y, modelSize.Z)
model:ScaleTo(scaleFactor)
model:PivotTo(CFrame.new(15, model:GetExtentsSize().Y / 2, 0))
-- Veranker alle onderdelen zodat de meshes niet uit elkaar vallen
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Geef het model een naam en maak het een kind van de workspace
model.Name = "BasisDraakAutoGeneratie"
model.Parent = Workspace
endGeneratie met een Aangepaste Schema
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Beschrijf het object dat gegenereerd moet worden
local inputs = {
TextPrompt = "een houten wagen met vier wielen",
}
-- Definieer een aangepaste multi-part structuur in plaats van een vooraf gedefinieerd schema.
-- Elke invoer in `Groups` benoemt een onderdeel dat de generatie moet produceren.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Maak de aanroep om het model te genereren
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Veranker alle onderdelen zodat de meshes niet uit elkaar vallen
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Geef het model een naam en voeg het toe aan de workspace
model.Name = "CustomSchemaGeneration"
model.Parent = Workspace
endGeneratie Voorwaarden op een Afbeelding
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Referentieafbeelding gebruikt om de generatie te conditioneren. Vervang `0` door de asset
-- ID van je eigen geüploade afbeelding.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "een low-poly schatkist",
}
-- Produceer een enkele-mesh output
local schema = {
PredefinedSchema = "Body1",
}
-- Maak de aanroep om het model te genereren
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Veranker alle onderdelen zodat de meshes niet uit elkaar vallen
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Geef het model een naam en voeg het toe aan de workspace
model.Name = "AfbeeldingGeconditioneerdeGeneratie"
model.Parent = Workspace
endLoadGeneratedMeshAsync
SegmentMeshAsync
Parameters
Teruggaves