Klasa silnika
GenerationService
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Podsumowanie
Metody
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
Materiały referencyjne dotyczące interfejsów API
Metody
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Parametry
Zwroty
Przykłady kodu
Generacja podstawowej konstrukcji samochodu
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Ustaw dane wejściowe dla generowanej geometrii
local inputs = {
TextPrompt = "czerwony samochód smoka z 4 kołami"
}
-- Ustaw schemat na wstępnie zdefiniowaną konstrukcję samochodu z pięcioma modelami
local schema = {
PredefinedSchema = "Car5"
}
-- Wykonaj wywołanie, aby wygenerować model
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Przeskaluj model do docelowego rozmiaru i umieść blisko środka świata
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))
-- Zakotwicz wszystkie części, aby siatki się nie rozsypały
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nazwij model i umieść go w workspace
model.Name = "GeneracjaPodstawowegoSamochoduSmoka"
model.Parent = Workspace
endGeneracja z Niestandardowym Schematem
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Opisz obiekt do wygenerowania
local inputs = {
TextPrompt = "drewniany wózek z czterema kołami",
}
-- Zdefiniuj niestandardową strukturę wieloczęściową zamiast korzystać z predefiniowanego schematu.
-- Każdy wpis w `Groups` określa część, którą generacja powinna wyprodukować.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Wykonaj wywołanie, aby wygenerować model
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Zablokuj wszystkie części, aby siatki się nie rozpadły
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nazwij model i przypisz go do przestrzeni roboczej
model.Name = "GeneracjaNiestandardowegoSchemu"
model.Parent = Workspace
endGeneracja uzależniona od obrazu
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Obraz referencyjny użyty do warunkowania generacji. Zamień `0` na ID
-- zasobu własnego przesłanego obrazu.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "niskopoligonowa skrzynia skarbów",
}
-- Produkuj pojedynczy wynik w formie siatki
local schema = {
PredefinedSchema = "Body1",
}
-- Wykonaj wywołanie, aby wygenerować model
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Zablokuj wszystkie części, aby siatki się nie rozpadły
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Nazwij model i dodaj go do workspace
model.Name = "GeneracjaUzależnionaOdObrazu"
model.Parent = Workspace
end