Motor Sınıfı
AssetService
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Özet
Özellikler
Yöntemler
API Referansı
Özellikler
Yöntemler
ComposeDecalAsync
Dönüşler
()
Kod Örnekleri
Bir Dekal Oluştur
local AssetService = game:GetService("AssetService")
-- İki decal örneği oluştur
local decalA = Instance.new("Decal")
local decalB = Instance.new("Decal")
-- Bileşik bilgi tablosunu oluştur
local compositeInfo = {
{
ColorMap = decalA.ColorMapContent,
RoughnessMap = decalA.RoughnessMapContent,
MetalnessMap = decalA.MetalnessMapContent,
NormalMap = decalA.NormalMapContent,
},
{
ColorMap = Content.fromAssetId(123456),
RoughnessMap = decalB.RoughnessMapContent,
MetalnessMap = decalB.MetalnessMapContent,
NormalMap = decalB.NormalMapContent,
}
}
-- Üzerine bileşen oluşturulacak bir decal oluştur
local compositeDecal = Instance.new("Decal")
-- AssetService kullanarak mevcut bir decalı bileştir
local success, errorMessage = pcall(function()
AssetService:ComposeDecalAsync(compositeDecal, compositeInfo)
end)
if success then
print("Decal başarıyla bileştirildi!")
-- Decalı göstermek/kullanmak için mantık buraya gelir
else
warn("Decal bileştirilirken hata oluştu:", errorMessage)
endCreateAssetAsync
AssetService:CreateAssetAsync(
Parametreler
| Varsayılan değer: "nil" |
Dönüşler
Kod Örnekleri
AssetService:CreateAssetAsync
local AssetService = game:GetService("AssetService")
local editableMesh = AssetService:CreateEditableMesh()
-- mesh'e köşe noktaları, yüzler ve uvs ekleyin
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
Name = "Benim varlığım",
Description = "iyi bir varlık",
}
local ok, result, idOrUploadErr = pcall(function()
return AssetService:CreateAssetAsync(editableMesh, Enum.AssetType.Mesh, requestParameters)
end)
if not ok then
warn(`CreateAssetAsync çağrısında hata: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`başarılı, yeni varlık ID'si: {idOrUploadErr}`)
else
warn(`CreateAssetAsync'te yükleme hatası: {result}, {idOrUploadErr}`)
endCreateAssetVersionAsync
AssetService:CreateAssetVersionAsync(
Parametreler
| Varsayılan değer: "nil" |
Dönüşler
Kod Örnekleri
AssetService:CreateAssetVersionAsync
local AssetService = game:GetService("AssetService")
local assetIdToUpdate = 321
local model = Instance.new("Model")
local requestParameters = {
CreatorId = 123,
CreatorType = Enum.AssetCreatorType.User,
}
local ok, result, versionOrUploadErr = pcall(function()
return AssetService:CreateAssetVersionAsync(model, Enum.AssetType.Model, assetIdToUpdate, requestParameters)
end)
if not ok then
warn(`CreateAssetVersionAsync çağrısında hata: {result}`)
elseif result == Enum.CreateAssetResult.Success then
print(`başarılı, yeni varlık sürümü: {versionOrUploadErr}`)
else
warn(`CreateAssetVersionAsync'te yükleme hatası: {result}, {versionOrUploadErr}`)
endCreateDataModelContentAsync
Parametreler
Dönüşler
CreateEditableImage
Parametreler
Dönüşler
CreateEditableImageAsync
AssetService:CreateEditableImageAsync(
Parametreler
Dönüşler
CreateEditableMesh
Parametreler
Dönüşler
CreateEditableMeshAsync
Parametreler
Dönüşler
CreateMeshPartAsync
Parametreler
| Varsayılan değer: "nil" |
Dönüşler
CreatePlaceAsync
CreatePlaceInPlayerInventoryAsync
CreateSurfaceAppearanceAsync
Parametreler
Dönüşler
Kod Örnekleri
AssetService:CreateSurfaceAppearanceAsync
local AssetService = game:GetService("AssetService")
local Workspace = game:GetService("Workspace")
-- Kırmızı renk
local colorEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(4, 4) })
colorEditableImage:DrawRectangle(Vector2.zero, colorEditableImage.Size, Color3.fromRGB(255, 0, 0), 0, Enum.ImageCombineType.Overwrite)
-- Metaliklik (sadece kırmızı kanala bak)
local metalnessEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(1, 1) })
metalnessEditableImage:DrawRectangle(Vector2.zero, metalnessEditableImage.Size, Color3.new(1, 0, 0), 0, Enum.ImageCombineType.Overwrite)
-- Pürüzlülük (sadece kırmızı kanala bak)
local roughnessEditableImage = AssetService:CreateEditableImage({ Size = Vector2.new(1, 1) })
roughnessEditableImage:DrawRectangle(Vector2.zero, roughnessEditableImage.Size, Color3.new(0.2, 0, 0), 0, Enum.ImageCombineType.Overwrite)
local surfaceAppearance = AssetService:CreateSurfaceAppearanceAsync({
ColorMap = Content.fromObject(colorEditableImage),
MetalnessMap = Content.fromObject(metalnessEditableImage),
RoughnessMap = Content.fromObject(roughnessEditableImage)
})
local meshPart = Instance.new("MeshPart")
meshPart.Parent = Workspace
-- Yüzey görünümünü ağ parçasına uygula
surfaceAppearance.Parent = meshPartGetAssetIdsForPackage
GetAssetIdsForPackageAsync
GetAudioMetadataAsync
Parametreler
Dönüşler
Kod Örnekleri
Ses Meta Verilerini Al
local AssetService = game:GetService("AssetService")
local SoundService = game:GetService("SoundService")
local trackIDs = {
SoundService.Sound1.SoundId,
SoundService.Sound2.SoundId,
SoundService.Sound3.SoundId,
SoundService.Sound4.SoundId,
}
local success, result = pcall(function()
return AssetService:GetAudioMetadataAsync(trackIDs)
end)
if success then
for i = 1, #trackIDs do
local contentId = "rbxassetid://" .. result[i].AssetId
if trackIDs[i] == contentId then
print(result[i].Title, "tarafından", result[i].Artist)
else
warn("Talep edilen varlık için hiçbir meta verisi alınamadı #" .. tostring(i))
end
end
endGetBundleDetailsAsync
Parametreler
Dönüşler
Kod Örnekleri
Paket Ayrıntılarını Alma
local AssetService = game:GetService("AssetService")
local BUNDLE_ID = 14
local success, result = pcall(function()
return AssetService:GetBundleDetailsAsync(BUNDLE_ID)
end)
if success then
print(result)
--[[
{
["BundleType"] = "BodyParts",
["Description"] = "Yıl 5003, Battlebot 5000 en güçlü düşmanı ile yüzleşmek zorunda, aksi takdirde yok olmaya mahkum.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Sol Kol",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
endGetCreatorAssetID
GetGamePlacesAsync
Dönüşler
Kod Örnekleri
AssetService:GetGamePlacesAsync
local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Ad:", place.Name)
print("YerId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
endLoadAssetAsync
PromptCreateAssetAsync
AssetService:PromptCreateAssetAsync(
Parametreler
Dönüşler
PromptImportAnimationClipFromVideoAsync
SavePlaceAsync
Parametreler
Dönüşler
()
SearchAudio
SearchAudioAsync
Parametreler
Dönüşler
Kod Örnekleri
Müzik Arama Başlıklarını Alma
local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudioAsync(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService hatası: " .. result)
end
--[[ Dönen veri formatı
{
"AudioType": string,
"Artist": string,
"Title": string,
"Tags": {
"string"
},
"Id": number,
"IsEndorsed": boolean,
"Description": string,
"Duration": number,
"CreateTime": string,
"UpdateTime": string,
"Creator": {
"Id": number,
"Name": string,
"Type": number,
"IsVerifiedCreator": boolean
}
}
--]]