AssetService

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

만들 수 없음
서비스

AssetService 는 Roblox 웹 API에 대한 자산 관련 쿼리를 처리하는 비 복제 서비스입니다.

요약

메서드

속성

메서드

CreateEditableImage

새로운 EditableImage 을 생성합니다. 기본적으로 해상도는 512×512로 설정되지만 메서드의 옵션 테이블을 사용하여 다른 크기를 지정할 수 있습니다.

장치 특정 편집 가능 메모리 예산이 소진되면 생성이 실패하고 이 메서드는 nil을 반환합니다.

매개 변수

editableImageOptions: Dictionary

메서드에 대한 컨트롤이 있는 옵션 테이블:

  • Size – 이미지의 너비 및 높이를 지정하는 Vector2입니다.

반환

CreateEditableMesh

새로운, 비어 있는 EditableMesh 를 생성합니다. 측정, 삼각형 및 그 특성은 동적으로 추가될 수 있습니다. 장치 특정 편집 가능 메모리 예산이 소진되면 생성이 실패하고 이 메서드는 nil 을 반환합니다.

매개 변수

editableMeshOptions: Dictionary

반환

CreateEditableImageAsync

생성

지정된 텍스처로 새로운 EditableImage 인스턴스를 생성합니다. 기본 텍스처 ID(예: rbxthumb://)를 사용하는 비 자산 텍스처 ID(예: nil 를 포함하여)는 지원되지 않습니다. 경험

매개 변수

content: Content
editableImageOptions: Dictionary

반환

제공된 이미지가 포함된 새로운 EditableImage 입니다.

CreateEditableMeshAsync

생성

기존 메쉬 콘텐츠 ID에서 생성된 새로운 EditableMesh 인스턴스를 반환합니다. 기본적으로 이 메쉬 데이터 생성 메서드에서 생성된 EditableMesh 는 메쉬 데이터만 수정할 수 있으므로 메쉬 데이터가 추가

장치 특정 편집 가능 메모리 예산이 소진되면 생성이 실패하고 이 메서드는 nil 을 반환합니다.

매개 변수

content: Content
editableMeshOptions: Dictionary

메서드에 대한 컨트롤이 있는 옵션 테이블:

  • FixedSize – 은 bool 입니다. 기본값은 true 이며, 반환된 0> Class.EditableMesh0> 는 복셀을 추가하거나 제거할 수 없습니다. 메쉬 토폴로지를 변경하는 대신 값을 수정하는 것입니다

반환

새로운 EditableMesh 인스턴스.

CreateMeshPartAsync

생성

이 메서드는 MeshPart 를 지정한 CollisionFidelity 와 Class.MeshPart.RenderFidelity

매개 변수

meshContent: Content
options: Dictionary

메서드에 대한 하나 이상의 컨트롤이 있는 옵션 테이블:

기본값: "nil"

반환

CreatePlaceAsync

생성

지정된 templatePlaceID 을 통해 장소를 클론하고 새로운 장소의 PlaceId를 반환합니다. 이 새로운 플레이스TeleportService 와 함께 사용할 수 있습니다. 클론 장소는 플레이스생성자의 인벤토리에 표시되며 지정된 이름과 설명을

템플릿 장소에서 템플릿 복사를 사용하도록 장소 설정에서 템플릿 복사를 활성화해야 합니다. 이 메서드를 사용하여 보유않은 장소를 클론할 수 없습니다.

이 API를 자주 사용하지 마십시오, 특히 만든 장소에 스크립트가 포함되어 있으면, 코드를 대량의 장소에 신속하게 업데이트하는 것이 불가능해지기 때문에. 사용자 생성 세계의 경우 사용자 크리에이션을 직렬화하고 DataStores 에 저장하는 것이 좋습니다.

매개 변수

placeName: string

새로운 플레이스이름.

templatePlaceID: number

PlaceId 의 장소를 클론하는 위치.

description: string

새로운 플레이스설명.

기본값: ""

반환

CreatePlaceInPlayerInventoryAsync

생성

매개 변수

player: Instance
placeName: string
templatePlaceID: number
description: string
기본값: ""

반환

GetAssetIdsForPackage

생성

지정된 패키지에 포함된 자산 ID 배열을 반환합니다.

매개 변수

packageAssetId: number

반환

지정된 패키지에 포함된 자산 ID.

GetAudioMetadataAsync

생성

특정 오디오 원본에 대한 유용한 메타데이터를 제공합니다(예: 아티스트, 타이틀, 지속 시간, 입력등.).

매개 변수

idList: Array

메타데이터를 검색할 자산 또는 콘텐츠 ID 배열. 최대 대량 크기는 30입니다.


반환

요청과 동일한 순서로 배열된 사전 테이블 집합, 각 사전에 자산/콘텐츠에 대한 다음 메타데이터가 포함되어 있습니다.

요청한 자산의 메타데이터를 검색할 때 오류가 발생하면 자산 ID가 없는 경우 해당 자산의 디텍터 테이블이 반환 배열에 포함되지만 참조 목적으로만 AssetId 필드를 포함합니다. 또한, AudioType 을 결

코드 샘플


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, "by", result[i].Artist)
else
warn("No metadata fetched for requested asset #" .. tostring(i))
end
end
end

GetBundleDetailsAsync

생성

이 함수는 지정된 번들의 내용에 대한 세부 정보를 반환합니다.

번들 ID가 없으면 HTTP 400 (Bad Request) 을 던져줍니다. bundleId 가 정수로 변환되지 않으면 Unable to cast string to int64 을 던져줍니다.

매개 변수

bundleId: number

지정된 번들의 ID입니다.


반환

지정된 번들에 대한 자세한 내용이 포함된 키-값 쌍 사전:

  • Id — 번들 ID(전달된 bundleId 인수와 동일)

  • Name — 번들 이름

  • Description — 번들 설명

  • BundleType — 문자열 표시 Enum.BundleType , 예를 들어 "BodyParts" 또는 0>>DynamicHead0>

  • Items — 번들배열, 각각 다음 키를 통해 표시되는 세부 정보를 가지고 있습니다.

    • Id — 아이템 ID

    • Name — 아이템 이름

    • Type — 아이템 유형, 예를 들어 "Asset".

코드 샘플

Getting Bundle Details

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"] = "The year is 5003, Battlebot 5000 must face his mightiest foe, or face becoming obsolete.",
["Id"] = 14,
["Items"] = {
[1] = {...},
[2] = {
["Id"] = 1678225030,
["Name"] = "SinisterBot 5001 Left Arm",
["Type"] = "Asset"
},
[3] = {...},
[4] = {...},
[5] = {...},
[6] = {...},
[7] = {...}
},
["Name"] = "SinisterBot 5001"
}
--]]
end

GetGamePlacesAsync

생성

현재 경험에 있는 장소의 이름과 StandardPages 장소의 위치를 포함하는 PlaceId 개체를 반환합니다.


반환

코드 샘플

AssetService:GetGamePlacesAsync

local AssetService = game:GetService("AssetService")
local placePages = AssetService:GetGamePlacesAsync()
while true do
for _, place in placePages:GetCurrentPage() do
print("Name:", place.Name)
print("PlaceId:", place.PlaceId)
end
if placePages.IsFinished then
break
end
placePages:AdvanceToNextPageAsync()
end

PromptCreateAssetAsync

생성

사용자가 게시 대화 상자를 입력하도록 요청하여 경험 내 자산 생성을 사용자에게 허용합니다. 호출되면 대화 상자에 사용자 이름, 설명 및 자산 미리보기를 입력하도록 요청합니다. 제출되면 자산이 사용자의 인벤토리에 저장됩니다. 서버 사이드에서만 호출할 수 있습니다.

매개 변수

player: Player

자산 작품제출하는 사용자.

instance: Instance

생성할 자산입니다. 현재 스크립트나 네스트되지 않은 자산을 포함할 수 없습니다.

assetType: Enum.AssetType

자산 입력. 현재 Enum.AssetType.Model 만 가능합니다.


반환

성공적으로 하면 Enum.PromptCreateAssetResult 및 자산 ID 쌍이 됩니다.

PromptImportAnimationClipFromVideoAsync

생성

매개 변수

player: Player
progressCallback: function

반환

SavePlaceAsync

void
생성

현재 장소의 상태를 저장합니다. 장소를 생성한 위치에 대해서만 작동하며, 장소 설정에서 플레이스 비쥬얼 API를 활성화한 경우에만 작동합니다.


반환

void

SearchAudio

생성

지정된 검색의 결과를 포함하는 AudioPages 개체를 반환합니다. 비어 있는 값을 가진 필드를 반환하지 않습니다.

이 메서드에는 낮은 HTTP 요청 제한이 있으므로 오류가 발생할 수 있으므로 오류 처리를 위해 pcall() 안에 항상 감싸여 있어야 합니다. 오류 메시지에는 다음이 포함됩니다.


<tbody>
<tr>
<td>HTTP 429(요청 너무 많음)</td>
<td><code>Class.AssetService:SearchAudio()</code> 이 너무 많이 호출되었습니다.</td>
</tr>
<tr>
<td>데이터 유형을 기대하지 않은 경우 배열을 기대하는 것이 null</td>
<td>키워드 인수가 필터링되었습니다.</td>
</tr>
</tbody>
오류 메시지이유

매개 변수

searchParameters: AudioSearchParams

반환

코드 샘플

Getting Music Search Titles

local AssetService = game:GetService("AssetService")
local audioSearchParams = Instance.new("AudioSearchParams")
audioSearchParams.SearchKeyword = "happy"
local success, result = pcall(function()
return AssetService:SearchAudio(audioSearchParams)
end)
if success then
local currentPage = result:GetCurrentPage()
for _, audio in currentPage do
print(audio.Title)
end
else
warn("AssetService error: " .. result)
end
--[[ Returned data 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
}
}
--]]

이벤트