Classe motore
GenerationService
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Sommario
Metodi
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
Riferimento API
Metodi
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Parametri
Restituzioni
Campioni di codice
Generazione di un telaio per auto di base
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Imposta gli input per la geometria generata
local inputs = {
TextPrompt = "un'auto drago verde con 4 ruote"
}
-- Imposta lo schema sul telaio dell'auto a cinque modelli predefinito
local schema = {
PredefinedSchema = "Car5"
}
-- Effettua la chiamata per generare il modello
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Scala il modello alla dimensione target e posizionalo vicino al centro del mondo
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))
-- Fissa tutte le parti in modo che i modelli non si disassemblino
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nomina il modello e genitore nello spazio di lavoro
model.Name = "GenerazioneAutoDragoDiBase"
model.Parent = Workspace
endGenerazione con uno Schema Personalizzato
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Descrivi l'oggetto da generare
local inputs = {
TextPrompt = "un carretto di legno con quattro ruote",
}
-- Definisci una struttura multi-part personalizzata invece di utilizzare uno schema predefinito.
-- Ogni voce in `Groups` nomina una parte che la generazione dovrebbe produrre.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Effettua la chiamata per generare il modello
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancorare tutte le parti affinché i mesh non si disintegrino
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Assegna un nome al modello e impostalo come genitore di workspace
model.Name = "GenerazioneSchemaPersonalizzato"
model.Parent = Workspace
endGenerazione Condizionata da un Immagine
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Immagine di riferimento utilizzata per condizionare la generazione. Sostituisci `0` con l'ID
-- dell'asset della tua immagine caricata.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "una cassa del tesoro low-poly",
}
-- Produce un'uscita a singolo mesh
local schema = {
PredefinedSchema = "Body1",
}
-- Effettua la chiamata per generare il modello
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancorare tutte le parti affinché i mesh non si disperdano
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nomina il modello e aggiungilo allo spazio di lavoro
model.Name = "GenerazioneCondizionataDaImmagine"
model.Parent = Workspace
end