Classe do mecanismo
GenerationService
*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.
Resumo
Métodos
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
Referência API
Métodos
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Parâmetros
Devolução
Amostras de código
Geração de Chassi de Carro Básico
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Configurar entradas para a geometria gerada
local inputs = {
TextPrompt = "um carro dragão verde com 4 rodas"
}
-- Definir esquema para o chassi de carro de cinco modelos predefinidos
local schema = {
PredefinedSchema = "Car5"
}
-- Fazer a chamada para gerar o modelo
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Escalar modelo para o tamanho alvo e posicionar perto do centro do mundo
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))
-- Ancorar todas as partes para que as malhas não se desfaçam
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nomear o modelo e adicionar ao workspace
model.Name = "GeraçãoDeCarroDragãoBásico"
model.Parent = Workspace
endGeração com um Esquema Personalizado
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Descreva o objeto a ser gerado
local inputs = {
TextPrompt = "um carrinho de madeira com quatro rodas",
}
-- Defina uma estrutura multi-part personalizada em vez de usar um esquema pré-definido.
-- Cada entrada em `Groups` nomeia uma parte que a geração deve produzir.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Faça a chamada para gerar o modelo
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancore todas as partes para que as malhas não se desfaçam
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nomeie o modelo e adicione-o ao workspace
model.Name = "GeraçãoEsquemaPersonalizado"
model.Parent = Workspace
endGeração Condicionada a uma Imagem
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Imagem de referência usada para condicionar a geração. Substitua `0` pelo asset
-- ID da sua própria imagem carregada.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "um baú de tesouro low-poly",
}
-- Produzir uma saída de malha única
local schema = {
PredefinedSchema = "Body1",
}
-- Faça a chamada para gerar o modelo
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancore todas as partes para que as malhas não se desfaçam
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Dê um nome ao modelo e o parent para o workspace
model.Name = "GeraçãoCondicionadaPorImagem"
model.Parent = Workspace
end