Kelas Engine
GenerationService
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Rangkuman
Metode
GenerateMeshAsync(inputs: Dictionary,player: Player,options: Dictionary,intermediateResultCallback: function?):Tuple |
GenerateModelAsync(inputs: Dictionary,schema: Dictionary,options: Dictionary?):Tuple |
LoadGeneratedMeshAsync(generationId: string):MeshPart |
Referensi API
Metode
GenerateMeshAsync
GenerateModelAsync
GenerationService:GenerateModelAsync(
Parameter
Memberikan nilai
Contoh Kode
Generasi Chassis Mobil Dasar
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Siapkan input untuk geometri yang dihasilkan
local inputs = {
TextPrompt = "mobil naga hijau dengan 4 roda"
}
-- Tetapkan skema ke chassis mobil lima-model yang sudah ditentukan
local schema = {
PredefinedSchema = "Car5"
}
-- Lakukan panggilan untuk menghasilkan model
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Skalakan model ke ukuran target dan posisi dekat pusat dunia
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))
-- Jaga semua bagian agar mesh tidak terpisah
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Namai model dan tempatkan di workspace
model.Name = "GenerasiMobilNagaDasar"
model.Parent = Workspace
endGenerasi Dengan Skema Kustom
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Deskripsikan objek yang akan dihasilkan
local inputs = {
TextPrompt = "sebuah kereta kayu dengan empat roda",
}
-- Definisikan struktur multi-bagian kustom alih-alih menggunakan skema yang telah ditentukan.
-- Setiap entri dalam `Groups` menamai bagian yang harus diproduksi.
local schema = {
SchemaDefinition = {
Groups = { "body", "wheel_fl", "wheel_fr", "wheel_rl", "wheel_rr" },
},
}
-- Lakukan panggilan untuk menghasilkan model
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Jaga agar semua bagian tetap terankur sehingga mesh tidak terpisah
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Beri nama model dan jadikan induknya ke workspace
model.Name = "CustomSchemaGeneration"
model.Parent = Workspace
endKondisi Generasi Berdasarkan Gambar
local GenerationService = game:GetService("GenerationService")
local Workspace = game:GetService("Workspace")
-- Gambar referensi yang digunakan untuk mengkondisikan generasi. Ganti `0` dengan ID
-- aset dari gambar yang telah Anda unggah.
local imageAssetId = 0
local inputs = {
Image = Content.fromAssetId(imageAssetId),
TextPrompt = "sebuah peti harta karun low-poly",
}
-- Hasilkan output dengan satu mesh
local schema = {
PredefinedSchema = "Body1",
}
-- Lakukan panggilan untuk menghasilkan model
local success, model, metadata = pcall(function()
return GenerationService:GenerateModelAsync(inputs, schema)
end)
if success then
-- Amankan semua bagian sehingga mesh tidak hancur
for _, descendant in model:GetDescendants() do
if descendant:IsA("BasePart") then
descendant.Anchored = true
end
end
-- Namai model dan tempatkan di workspace
model.Name = "GenerasiBerdasarkanGambar"
model.Parent = Workspace
end