InsertService 用於從 Roblox 網站上插入資產,通常是 LoadAsset 函數。
要載入素材,必須由體驗載入者(可能是用戶或群組)來載入,這可能是用戶或群組的資產。如果體驗載入者是其他創作者,資產數據將不會可用。有關此安全檢查的更多細節,請參閱 Class.InsertService:LoadAsset()|Load
也看看
- AssetService,可以提供資產可能要用插入服務載入的資訊
概要
方法
- CreateMeshPartAsync(meshId : ContentId,collisionFidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):MeshPart
建立新 MeshPart 以具有指定的靈活度值。
從目型錄中取得免費貼紙的清單。
從目型錄中取得免費模型的列表。
返回資產創建創作者的最新資產版本InsertService:LoadAssetVersion()。可與 Class.InsertService:LoadAssetVersion() 組合使用,以載入遊戲中運行時更新的最新版模型。
返回 Model 內含有素材。
返回 InsertService 內的模型,包含資產版本ID。
屬性
AllowClientInsertModels
方法
CreateMeshPartAsync
創建一個新的 MeshPart 以具有指定 CollisionFidelity 和 RenderFidelity 的。因為 1> Class.MeshPart.MeshId
參數
網格資產 ID。
返回
GetFreeDecals
取得免費裝飾功能從目型錄中取回一個清單免費 Decals 。此方法的返回類型非常奇怪,因為它返回單一的表包在表中。
最好的方法是顯示返回的陣列的視覺:
[1] = {CurrentStartIndex = 1, -- 這可能會因為您輸入的頁面而變化。TotalCount = 21, -- 永遠是 21。Results = {-- 這裡的所有參數都是假。它們可以根據素材而變化。[1] = {Name = "Asset Name",AssetId = 0000000,AssetVersionId = 0000000,CreatorName = "Roblox",},-- [2]、[3]、以及更多... 達到 [21]},}
這個列表的示例已提供在此頁面底部。
此外,如果您想要插入 Models ,您可以使用 InsertService:GetFreeModels() 函數。
注意: 頁面參數從 0 開始。 所以第 1 頁 = 0、第 2 頁 = 1 等等。
參數
返回
單一的表 (裝飾免費裝袋) 包含在一個表中。
範例程式碼
local InsertService = game:GetService("InsertService")
local page = unpack(InsertService:GetFreeDecals("Cats", 0)) -- Search for "Cats" on Page 1.
for i = 1, page.TotalCount do
local item = page.Results[i]
print("Item #" .. i)
for key, value in pairs(item) do
print(" " .. key .. ": " .. value)
end
end
GetFreeModels
GetFreeModels 函數從目型錄中擷取一個免費 Models 的列表。此方法的返回類型非常奇怪,因為它返回一個包含在表中的單一表。
最好的方法是顯示返回的陣列的視覺:
[1] = {CurrentStartIndex = 1, -- 這可能會因為您輸入的頁面而變化。TotalCount = 21, -- 永遠是 21。Results = {-- 這裡的所有參數都是假。它們可以根據素材而變化。[1] = {Name = "Asset Name",AssetId = 0000000,AssetVersionId = 0000000,CreatorName = "Roblox",}-- [2]、[3]、以及更多... 達到 [21]}}
這個列表的示例已提供在此頁面底部。
此外,如果您想要插入免費 Decals,您可以使用 InsertService:GetFreeDecals() 函數。
參數
返回
包含在表中的免費模型的單一表。
範例程式碼
local InsertService = game:GetService("InsertService")
local page = unpack(InsertService:GetFreeModels("Cats", 0)) -- Search for "Cats" on Page 1.
for i = 1, page.TotalCount do
local item = page.Results[i]
print("Item #" .. i)
for key, value in pairs(item) do
print(" " .. key .. ": " .. value)
end
end
GetLatestAssetVersionAsync
返回資產創建創作者的最新資產版本InsertService:LoadAssetVersion()。可與 Class.InsertService:LoadAssetVersion() 組合使用,以載入遊戲中運行時更新的最新版模型。
參數
返回
LoadAsset
LoadAsset 函數擷取資產的 ID 並返回一個 Model 包含素材的。例如,要載入此公共 DogeModel,其資產 ID 為 1>2> 2574897262> ,您可以使用:
local assetId = 257489726local InsertService = game:GetService("InsertService")local model = InsertService:LoadAsset(assetId)model.Parent = workspace
如果提供模型的服務器發生了問題,則可能無法呼叫此功能。因此,通常建議將此功能包含在 pcall 以捕捉這種類型的錯誤。
local assetId = 257489726local InsertService = game:GetService("InsertService")local success, model = pcall(InsertService.LoadAsset, InsertService, assetId)if success and model thenprint("Model loaded successfully")model.Parent = workspaceelseprint("Model failed to load!")end
安全檢查
這個函數載入的資產必須是 創建或擁有 由遊戲創作者或 Roblox 所有的。此外,像 T 恤、上衣、褲子和頭像配件等,是載入任何遊戲的公開資產。
也看:
- AssetService:GetBundleDetailsAsync(),以查看哪些資產與一個束縛包關聯。
- 對於插件,請參閱 DataModel:GetObjects()
參數
資產正在載入的資產 ID。
返回
載入素材的實例。
範例程式碼
local InsertService = game:GetService("InsertService")
local ASSET_ID = 82353
local asset = InsertService:LoadAsset(ASSET_ID)
asset.Parent = workspace
LoadAssetVersion
返回 InsertService 內的模型,包含資產版本ID。
參數
返回
範例程式碼
local InsertService = game:GetService("InsertService")
local ASSET_VERSION_ID = 296050499
local asset = InsertService:LoadAssetVersion(ASSET_VERSION_ID)
asset.Parent = game.Workspace