InsertService 用于从 Roblox 网站上插入资产,通常是 LoadAsset 函数。
要加载素材,它必须可以通过体验的加载创建者访问,这可以是用户或群组。如果体验被其他创建创作者上传,资产数据不会可用。请参阅 LoadAsset() 方法获取更多有关此安全检查。注意您不应该使用此服务加载 API 钥匙或
还见
- AssetService,可以提供您想要使用插入服务加载的资产的信息
概要
方法
- CreateMeshPartAsync(meshId : ContentId,collisionFidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):MeshPart
创建一个具有指定�idelity 值的新 MeshPart。
从目录中检索一些免费图标。
从目录中检索一列免费模型。
返回地方创建创作者创建资产的最新 AssetVersionId 对象的最新版本。可以与 InsertService:LoadAssetVersion() 组合使用,以加载游戏运行时更新的模型的最新版本,即使它在游戏运行时更新。
返回一个 Model 包含素材的返回。
返回一个包含资产版本为 InsertService 中的模型。
属性
AllowClientInsertModels
方法
CreateMeshPartAsync
创建一个新的 MeshPart ,并指定 CollisionFidelity 和 RenderFidelity 。 因为 1> Class.MeshPart.MeshId1> 是只读的,
参数
网格资产 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
获取免费模型函数从目录中恢复一个列表免费 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
返回地方创建创作者创建资产的最新 AssetVersionId 对象的最新版本。可以与 InsertService:LoadAssetVersion() 组合使用,以加载游戏运行时更新的模型的最新版本,即使它在游戏运行时更新。
参数
返回
LoadAsset
LoadAsset 函数从提供 ID 的资产中获取一个资产,并返回一个 Model 含有该素材的。例如,要加载这个公共 DogeModel,其资产 ID 为 1>2> 257489726 2> >1> ,你可以使用:
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 中的模型。
参数
返回
代码示例
local InsertService = game:GetService("InsertService")
local ASSET_VERSION_ID = 296050499
local asset = InsertService:LoadAssetVersion(ASSET_VERSION_ID)
asset.Parent = game.Workspace