Classe de moteur
GenerationService
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Résumé
Méthodes
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
Référence API
Méthodes
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Paramètres
Retours
Échantillons de code
Génération de Châssis de Voiture de Base
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Configurer les entrées pour la géométrie générée
local inputs = {
TextPrompt = "une voiture dragon verte avec 4 roues"
}
-- Définir le schéma pour le châssis de voiture à cinq modèles prédéfini
local schema = {
PredefinedSchema = "Car5"
}
-- Effectuer l'appel pour générer le modèle
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Mettre à l'échelle le modèle à la taille cible et le positionner près du centre du monde
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))
-- Ancrer toutes les pièces pour que les maillages ne se séparent pas
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nommer le modèle et le parenté au workspace
model.Name = "GénérationVoitureDragonBasique"
model.Parent = Workspace
endGénération avec un schéma personnalisé
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Décrire l'objet à générer
local inputs = {
TextPrompt = "un chariot en bois avec quatre roues",
}
-- Définir une structure multi-part personnalisée au lieu d'utiliser un schéma prédéfini.
-- Chaque entrée dans `Groups` nomme une partie que la génération doit produire.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Faire l'appel pour générer le modèle
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancrer toutes les parties pour que les maillages ne se décomposent pas
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nommer le modèle et le parenté à l'espace de travail
model.Name = "CustomSchemaGeneration"
model.Parent = Workspace
endGénération conditionnée sur une image
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Image de référence utilisée pour conditionner la génération. Remplacez `0` par l'actif
-- ID de votre propre image téléchargée.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "un coffre au trésor low-poly",
}
-- Produire une sortie à maillage unique
local schema = {
PredefinedSchema = "Body1",
}
-- Faites l'appel pour générer le modèle
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Ancrez toutes les pièces afin que les maillages ne se désassemblent pas
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nommez le modèle et ajoutez-le à l'espace de travail
model.Name = "GénérationConditionnéeParImage"
model.Parent = Workspace
end