Clase de motor
GenerationService
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Resumen
Métodos
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
Referencia API
Métodos
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Parámetros
Devuelve
Muestras de código
Generación de Chasis de Coche Básico
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Configurar entradas para la geometría generada
local inputs = {
TextPrompt = "un coche dragón verde con 4 ruedas"
}
-- Establecer el esquema al chasis de cinco modelos predefinido
local schema = {
PredefinedSchema = "Car5"
}
-- Hacer la llamada para generar el modelo
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Escalar el modelo al tamaño objetivo y posicionarlo cerca del centro del 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))
-- Anclar todas las partes para que las mallas no se desarmen
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nombrar el modelo y añadirlo al espacio de trabajo
model.Name = "GeneraciónCocheDragónBásico"
model.Parent = Workspace
endGeneración con un Esquema Personalizado
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Describe el objeto a generar
local inputs = {
TextPrompt = "un carro de madera con cuatro ruedas",
}
-- Define una estructura personalizada de múltiples partes en lugar de usar un esquema predefinido.
-- Cada entrada en `Groups` nombra una parte que la generación debería producir.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Realiza la llamada para generar el modelo
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancla todas las partes para que las mallas no se desmoronen
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nombra el modelo y lo parenta al espacio de trabajo
model.Name = "GeneraciónEsquemaPersonalizado"
model.Parent = Workspace
endGeneración Condicionada por una Imagen
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Imagen de referencia utilizada para condicionar la generación. Reemplaza `0` con el activo
-- ID de tu propia imagen subida.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "un cofre del tesoro de baja poligonización",
}
-- Produce una salida de malla única
local schema = {
PredefinedSchema = "Body1",
}
-- Realiza la llamada para generar el modelo
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancla todas las partes para que las mallas no se descompongan
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nombra el modelo y lo parenta al workspace
model.Name = "GeneraciónCondicionadaPorImagen"
model.Parent = Workspace
end