자산 라이브러리 구성

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


자산 라이브러리 구성은 게임 내 중앙 위치에서 자산 모음을 가져오고 구성하여 쉽게 접근하고 재사용할 수 있도록 하는 과정입니다. 이 과정은 환경을 구성할 준비를 할 때 상당한 시간을 절약할 수 있으며, 특히 각 자산의 값을 구성하여 성능을 향상시키고 중저가 장치에서 메모리 사용을 최적화하는 데 도움이 됩니다.

환경 아트 - 자산 구성 .rbxl 파일을 참조하여, 이 환경 아트 커리큘럼의 섹션에서는 다듬어진 자산에서 자산 라이브러리를 구성하는 방법을 단계별로 안내합니다:

  • 타일 가능한 텍스처에서 지형을 위한 사용자 정의 재료 만들기.
  • 트림 시트를 위한 SurfaceAppearance 객체 만들기 및 이를 자산 라이브러리의 언랩된 메시에 적용하기.
  • 모든 장치에서 최적의 성능을 보장하기 위해 자산의 렌더링 매개변수 설정하기.
  • 자산을 패키지로 변환하여 모든 프로젝트에서 업데이트하고 재사용할 수 있도록 하기.

이 섹션을 완료한 후에는 자산 라이브러리를 창의적으로 활용하여 회색 상자 환경을 교체하거나 변환하고, 전체 3D 공간을 향상시키는 최종 터치를 추가하는 방법을 배우게 됩니다.

샘플 레이저 태그 게임의 모듈형 및 소품 키트.

사용자 정의 재료 만들기

Studio는 사용자 정의 재료를 MaterialVariant 객체로 나타내며, 이는 MaterialService 내에 있습니다. 이러한 MaterialVariant 객체는 고품질 사용자 정의 재료를 생성하기 위해 네 가지 타일 가능한 텍스처 맵을 결합하는 네 가지 속성을 가지고 있습니다:

이 속성에 텍스처 맵을 제공한 후, 새 사용자 정의 재료를 부품, 메시 및 지형에 적용할 수 있습니다. 최종 샘플 레이저 태그 환경 내에서 Lumpy Moss, Flowering Lumpy Moss, Lumpy Moss with Stones 및 Stones 사용자 정의 재료를 만들기 위해 샘플 텍스처 맵 .png 파일을 사용하거나, 이전 섹션에서 디자인한 자신의 파일을 사용할 수 있습니다.

타일 가능한 텍스처에 대한 MaterialVariant 객체를 만들려면:

  1. Window ⟩ 3D 메뉴에서 Material을 선택하여 Material Manager를 엽니다.

  2. Materials 목록에서 타일 가능한 텍스처와 가장 잘 일치하는 기본 재료를 선택합니다. 예를 들어, Lumpy Moss 타일 가능한 텍스처에 대한 MaterialVariant 객체를 만들고자 한다면, 기본 지면 재료를 선택하여 재료가 물리적 속성을 상속받도록 합니다.

  3. 상단 도구 모음에서 ⊕ 아이콘을 클릭합니다. 새로운 MaterialVariant가 팔레트에 표시되며, 오른쪽 하단 모서리에 사용자 정의 재료임을 나타내는 아이콘이 표시됩니다.

    사용자 정의 재료를 나타내는 아이콘이 있는 Material Manager의 새 MaterialVariant 타일
  4. Inspector에서 General 섹션으로 이동한 후, 재료의 이름을 타일 가능한 텍스처의 이름에 맞게 변경합니다.

    재료 이름이 강조된 Inspector 보기.
  5. Texture Maps 섹션에서 Color의 오른쪽에 있는 Import 버튼을 클릭합니다. 파일 브라우저가 표시됩니다.

    Import 버튼이 강조된 Inspector 보기의 Texture Maps 섹션.
  6. 파일 브라우저에서 해당 타일 가능한 텍스처에 대한 Albedo 텍스처 맵 .png 파일을 선택한 후, Open 버튼을 클릭합니다. 파일 브라우저가 닫히고, 새로운 색상 맵이 자산 ID와 함께 표시됩니다.

  7. Metalness, Normal, 및 Roughness 텍스처 맵에 대해서도 이 과정을 반복합니다. 사용자 정의 재료가 텍스처 맵을 반영하도록 업데이트됩니다.

    Moss_Lumpy_A 재료에 대한 모든 텍스처 맵.
    Moss_Lumpy_A 재료가 적용된 구형 부품.
  8. Overrides 섹션에서 Set as Override 토글을 활성화하여 지형에 지면을 적용할 때 Studio가 이 사용자 정의 재료를 사용하도록 합니다.

    Set as Override 토글이 활성화된 상태.
  9. 선택 사항
    유기 재료를 나타내는 사용자 정의 재료를 만드는 경우,

    1. Tiling 섹션에서 Pattern 드롭다운을 클릭합니다.
    2. Organic을 선택하여 출력을 무작위화하고 눈에 보이는 타일링을 줄입니다.
    설정이 있는 Inspector 보기의 Tiling 섹션.
  10. 게임에 포함할 각 타일 가능한 텍스처에 대해 이 과정을 반복합니다.

SurfaceAppearance 패키지 만들기

Studio는 UV 데이터를 포함하는 MeshParts에 부모로 할 수 있는 SurfaceAppearance 객체 내에서 트림 시트를 사용합니다. 사용자 정의 재료와 유사하게, SurfaceAppearance 객체는 고품질 3D 시각적 표면 처리를 생성하기 위해 네 가지 트림 시트 텍스처 맵을 결합하는 네 가지 속성을 가지고 있습니다:

SurfaceAppearance.ColorMap – 알베도 텍스처 맵을 나타냅니다.
SurfaceAppearance.MetalnessMap – 금속성 텍스처 맵을 나타냅니다.
SurfaceAppearance.NormalMap – 노멀 텍스처 맵을 나타냅니다.
SurfaceAppearance.RoughnessMap – 거칠기 텍스처 맵을 나타냅니다.

이 속성에 텍스처 맵을 제공한 후, SurfaceAppearance 객체를 트림 시트에 매핑되는 UV 데이터를 가진 MeshPart의 자식으로 만들 수 있으며, UV 데이터는 자동으로 부모 메시에도 적용됩니다. 이러한 이유로 SurfaceAppearance 객체를 패키지로 만드는 것이 유용하여 모든 모듈형 자산 및 소품에서 동일한 SurfaceAppearance 객체를 재사용할 수 있습니다. 예를 들어, 다음 메시들은 모두 단일 SurfaceAppearance 객체 패키지 내에서 표현된 동일한 트림 시트 레이아웃에 매핑되는 UV 데이터를 가지고 있습니다.

샘플 텍스처 맵 .png 파일을 사용하거나 수정하여 최종 샘플 레이저 태그 환경 내의 샘플 모듈형 자산 및 소품에 대한 UV 데이터를 준수하는 SurfaceAppearance 객체를 만들 수 있으며, 이전 섹션에서 디자인한 자신의 파일을 사용할 수도 있습니다.

모듈형 키트 및 소품에 자식으로 할 수 있는 SurfaceAppearance 패키지를 만들려면:

  1. Workspace에 SurfaceAppearance 객체를 삽입합니다.

  2. SurfaceAppearance 객체를 선택한 후, Properties 창에서 ColorMap 속성을 선택합니다. 팝업이 표시됩니다.

  3. Add Image… 버튼을 클릭합니다. 파일 브라우저가 표시됩니다.

    Add Image 버튼이 강조된 ColorMap 팝업.
  4. 해당 타일 가능한 텍스처에 대한 Albedo 텍스처 맵을 선택한 후, Open 버튼을 클릭합니다. 파일 브라우저가 닫히고, ColorMap 속성이 새로운 자산 ID로 업데이트됩니다.

  5. MetalnessMap, NormalMap, 및 RoughnessMap 속성에 대해서도 이 과정을 반복하여 파일 브라우저에서 해당 텍스처 맵을 선택합니다.

  6. Explorer 창에서 SurfaceAppearance 객체를 마우스 오른쪽 버튼으로 클릭한 후, 컨텍스트 메뉴에서 Convert to Package를 선택합니다. Convert to Package 대화 상자가 표시됩니다.

  7. Title 및 Description 필드를 작성하고, 소유권을 자신 또는 그룹으로 설정한 후, Submit 버튼을 클릭합니다. 완료되면 SurfaceAppearance 객체의 아이콘 위에 체인 링크 기호가 표시되어 패키지로 식별됩니다.

    체인 링크 기호가 있는 Surface Appearance 아이콘.
  8. 선택 사항
    SurfaceAppearance 객체의 자식 PackageLink 객체를 선택한 후, Properties 창에서 AutoUpdate를 활성화하여 SurfaceAppearance 객체에 수정 사항이 있을 경우 패키지가 자동으로 업데이트되도록 합니다.

모듈형 자산 및 소품 가져오기

Studio는 가져온 모듈형 자산 및 소품을 Model 객체로 나타내며, 자산의 각 구성 요소에 대해 자식 MeshParts를 포함합니다. 예를 들어, 상단 트림, 하단 트림 및 벽 구성 요소가 있는 벽 섹션을 가져오는 경우, Studio는 .fbx 또는 .obj 파일을 Wall_Section Model로 나타내며, 별도의 자식 Top_Trim, Bottom_Trim, 및 Wall MeshParts를 포함합니다.

Importer를 사용하여 샘플 모듈형 키트 및 소품을 Studio에 가져와 자산 라이브러리에서 사용할 수 있으며, 이전 섹션에서 디자인한 자산을 가져올 수도 있습니다. 이 도구의 기능에 대한 자세한 내용은 Importer를 참조하십시오.

게임에 모듈형 자산 및 소품을 가져오려면:

  1. File 메뉴에서 Import를 선택합니다. 파일 브라우저가 표시됩니다.

  2. 모듈형 자산 또는 소품에 대한 .fbx 파일을 선택합니다.

  3. 객체 미리보기를 확인하고 가져오기 설정이 객체에 대해 올바른지 확인합니다.

  4. 경고 또는 오류 메시지를 확인합니다.

  5. Import를 클릭합니다. 자산이 Explorer 창과 뷰포트에 표시됩니다.

  6. 각 모듈형 자산 및 소품에 대해 이 과정을 반복합니다.

  7. 모든 자산을 게임의 회색 상자 기하학 근처의 한 영역으로 이동합니다. 이 구역이 자산 라이브러리입니다.

SurfaceAppearance 데이터 적용

타사 모델링 소프트웨어에서 메시의 UV를 언랩하는 과정을 거치면, 소프트웨어는 메시의 .fbx 또는 .obj 파일 내에 UV 데이터를 저장합니다. 해당 메시를 Studio에 가져오면, 결과 MeshPart 객체는 해당 데이터를 유지하지만, 자산에 트림 텍스처를 표시하기 위해서는 트림 시트의 텍스처 맵 속성을 가진 SurfaceAppearance 객체를 적용해야 합니다.

자산 라이브러리의 언랩된 메시에 SurfaceAppearance 텍스처 맵 데이터를 적용하려면:

  1. Explorer 창에서 SurfaceAppearance 패키지를 클릭한 후 CtrlD (⌘D)를 눌러 복제합니다.
  2. 복제한 SurfaceAppearance 패키지를 모듈형 자산 또는 소품에 자식으로 추가합니다. 자산이 UV 데이터를 텍스처 맵에 적용하고 시각적 처리를 표시합니다.
  3. 각 모듈형 자산 및 소품에 대해 이 과정을 반복합니다.

물리 및 렌더링 매개변수 설정

이제 자산이 Studio에 있으므로, 자산이 메모리 및 GPU 제한이 있는 장치에서 가능한 한 높은 시각적 품질을 유지할 수 있도록 물리 및 렌더링 매개변수를 설정하는 것이 중요합니다. 일반적으로 이 섹션의 지침을 준수할수록 게임의 성능이 향상됩니다. 그러나 각 자산을 전체 환경 내에서 배치할 계획인 맥락을 신중하게 고려하여 미적 목표와 게임 플레이 요구 사항을 유지하는 것이 중요합니다.

Anchored

BasePart.Anchored 속성은 Roblox 엔진의 물리 시스템이 객체의 위치에 영향을 미치는지 여부를 결정합니다. 이 속성을 Part 또는 MeshPart에 대해 활성화하면, 게임에서 항상 실행되는 동적 시뮬레이션의 물리 계산에서 객체가 제거되며, 이는 객체가 중력이나 다른 객체의 충돌로 인해 위치가 변경되지 않음을 의미합니다.

물리적 반응을 시뮬레이션하지 않는 객체는 물리 계산에 필요한 GPU를 차지하지 않기 때문에 렌더링 비용이 저렴합니다. GPU를 확보하면 게임의 성능이 향상되며, 특히 빠른 게임 플레이를 위해 GPU를 절약해야 하는 저사양 장치에서 더욱 그렇습니다. 이러한 이유로 최종 샘플 레이저 태그 환경의 모든 자산은 문을 제외하고는 고정되어 있습니다.

CanCollide

BasePart.CanCollide 속성은 객체가 다른 객체와 물리적으로 상호작용할 수 있는지 여부를 결정합니다. 이 속성을 Part 또는 MeshPart에 대해 활성화하면, 객체는 침투할 수 없으며, Roblox 엔진은 물리 계산에서 이를 고려합니다. 이러한 계산은 엔진이 물리 계산에서 고려해야 할 객체가 많을 경우 게임의 성능에 영향을 미칠 수 있습니다.

성능에 미치는 영향을 완화하기 위해, 사용자가 절대 상호작용하지 않을 객체에 대해 이 속성을 비활성화합니다. 예를 들어, 최종 샘플 레이저 태그 환경에서는 모든 식물에 대해 이 속성을 비활성화합니다.

CanTouch

BasePart.CanTouch 속성은 Touched 및 TouchEnded 이벤트가 객체에서 발생하는지 여부를 결정합니다. 이 속성을 Part 또는 MeshPart에 대해 활성화하면, Roblox 엔진은 객체의 터치 이벤트 상태를 확인하여 이벤트를 트리거하거나 중지해야 하는지 확인합니다.

이 과정은 매 프레임마다 발생하며, 엔진이 한 번에 많은 객체의 터치 이벤트 상태를 확인해야 할 경우 상당한 양의 메모리를 차지할 수 있습니다. 메모리에 미치는 영향을 완화하기 위해, 이벤트를 트리거해야 하는 객체에 대해서만 이 속성을 활성화합니다.

CanQuery

BasePart.CanQuery 속성은 Roblox 엔진이 공간 쿼리 작업(예: 레이캐스팅) 중에 객체를 고려하는지 여부를 결정합니다. Studio는 기본적으로 모든 Part 또는 MeshPart에 대해 이 속성을 활성화하므로, 엔진은 각 객체가 공간 쿼리 작업을 호출해야 하는지 확인합니다. 이 과정은 매 프레임마다 발생하며, 엔진이 한 번에 많은 객체에 대해 이러한 확인을 수행해야 할 경우 상당한 양의 메모리를 차지할 수 있습니다.

이러한 이유로, Roblox 엔진이 공간 쿼리 작업을 고려할 필요가 없는 객체에 대해 이 속성을 비활성화하는 것이 좋습니다. 이 속성을 비활성화할지 여부를 결정할 때, 각 자산이 게임 플레이에 미치는 영향을 고려하십시오. 예를 들어, 최종 샘플 레이저 태그 환경에서는 사용자가 레이저 태그 총에서 레이저를 발사할 때 이러한 표면을 고려해야 하므로 건물의 모든 벽에 대해 이 속성을 활성화합니다. 엔진이 이러한 자산을 고려하지 않으면 레이저가 건물을 통과하게 됩니다.

CastShadow

BasePart.CastShadow 속성은 객체가 그림자를 드리우는지 여부를 결정합니다. 이 속성을 Part 또는 MeshPart에 대해 활성화하면, Roblox 엔진은 런타임에 객체의 모든 정점 위치를 계산한 다음, 태양에서 이웃 객체까지 레이캐스트를 그려 그림자를 생성합니다.

이러한 계산은 특히 기하학적 복잡성이 높은 많은 객체가 있을 경우 성능 비용이 발생할 수 있습니다. 기하학적 복잡성이 높은 객체는 기하학적으로 단순한 객체보다 더 많은 다각형을 가지므로, 엔진이 객체의 그림자를 계산해야 하는 정점이 더 많습니다. 객체의 다각형 수가 적을수록 작업이 더 빨라지고 그림자가 더 저렴해집니다.

다각형이 적은 벽 섹션과 많은 다각형을 가진 식물이 흰 벽에 그림자를 드리우고 있습니다.

그림자는 3D 기하학적 깊이를 가진 객체에 사실감을 제공할 수 있으므로, 이 속성을 비활성화할 위치를 결정할 때, 객체가 환경에 상당한 시각적 개선을 제공하는 위치와 사용자가 그림자가 없는 것을 알아차릴 위치를 고려하십시오. 예를 들어, 식물의 복잡한 그림자는 사용자가 볼 가능성이 높은 야외 공간에서 몰입감을 제공할 수 있지만, 사용자가 절대 상호작용하지 않을 천장에 비치는 식물의 그림자는 그와 같은 몰입감이 필요하지 않습니다.

그림자를 드리우는 식물.
BasePart.CastShadow = 활성화됨
그림자를 드리우지 않는 식물.
BasePart.CastShadow = 비활성화됨

DoubleSided

MeshPart.DoubleSided 속성은 메시의 양면 또는 다각형을 렌더링할지 여부를 결정합니다. 이 속성을 평면 MeshPart(예: 잎, 머리카락 또는 천 카드)에 대해 활성화하면, Roblox 엔진은 사용자가 객체를 보는 각도에 관계없이 객체의 전체를 볼 수 있도록 메시의 양면 또는 다각형을 렌더링합니다. 예를 들어, 다음 나무 잎은 단면 평면 메시이며, 이 속성을 활성화하면 카메라에서 멀리 있는 잎도 사용자에게 보이게 됩니다.

카메라를 향한 모든 평면 메시를 가진 나무.
MeshPart.DoubleSided = 활성화됨
카메라를 향하지 않는 모든 평면 메시가 비활성화된 나무.
MeshPart.DoubleSided = 비활성화됨

이 속성은 환경에 사실감을 추가하는 데 유용하지만, 엔진이 객체의 다각형을 두 번 렌더링해야 하므로 성능 비용이 발생합니다: 한 번은 사용자의 카메라를 향하는 방향에 대해, 또 한 번은 사용자의 카메라에서 멀리 있는 메시를 위해. 이러한 성능 영향을 완화하기 위해, 최종 샘플 레이저 태그 환경에서는 사실감이 3D 공간에서 강한 시각적 영향을 미치기 때문에 식물에 대해서만 이 속성을 활성화합니다.

CollisionFidelity

MeshPart.CollisionFidelity 속성은 메시 또는 유니온의 물리적 히트박스가 시각적 표현과 얼마나 밀접하게 일치하는지를 결정합니다. 기본적으로 이 설정은 메시의 다각형 모양과 대략 동일한 히트박스를 렌더링하므로, 사용자가 객체와 충돌하는 위치가 메시의 실제 기하학과 유사합니다. 예를 들어, 다음 이미지의 성 캐슬 메시에는 기하학의 모양과 거의 일치하는 기본 히트박스가 있습니다.

회색 성 메시.
원본 메시
사용자가 성과 충돌할 수 있는 위치를 보여주는 다채로운 히트박스를 가진 동일한 성 메시.
기본값

이 속성을 다른 값으로 설정하여 메시의 히트박스 정밀도를 줄일 수 있습니다. 예를 들어, 이 속성을 Hull로 설정하면 Roblox 엔진은 메시의 히트박스 정점을 크게 줄이고, 이 속성을 Box로 설정하면 엔진은 메시를 둘러싼 큐브로 히트박스를 줄입니다. 또한, 메시의 히트박스 정밀도를 높이려면 이 속성을 PreciseConvexDecomposition으로 설정하여 히트박스의 정점 수를 늘릴 수 있습니다.

사용자가 성과 충돌할 수 있는 위치를 보여주는 큐브 히트박스를 가진 동일한 성 메시.
Box
사용자가 성과 충돌할 수 있는 위치를 보여주는 원통형 히트박스를 가진 동일한 성 메시.
Hull
사용자가 성과 충돌할 수 있는 위치를 보여주는 다채로운 히트박스를 가진 동일한 성 메시. 이 버전은 기본 히트박스보다 더 많은 다채로운 면을 보여줍니다.
PreciseConvexDecomposition

BasePart.CastShadow와 유사하게, Roblox 엔진이 렌더링해야 하는 정점 수가 많을수록 성능 비용이 높아집니다. 이러한 이유로, 각 메시와 사용자가 상호작용하는 방식을 고려하여 엔진이 메시의 히트박스를 렌더링하는 데 필요한 정점 수를 줄일 수 있는지 확인하는 것이 중요합니다. 히트박스가 정밀할 필요가 없는 경우, 이 속성을 Box 또는 Hull로 설정합니다.

이 개념을 설명하기 위해, 최종 샘플 레이저 태그 환경의 1층과 2층 사이의 고도를 제공하는 벽 모델의 모든 메시의 히트박스를 표시하는 다음 이미지를 참조하십시오. 기본 히트박스는 사용자가 해당 방향으로 이동하지 못하도록 하는 표면을 제공하는 데 불필요한 기하학이 많습니다. 이 메시의 속성을 Box로 설정하면, 이 중복 기하학을 제거하면서 히트박스의 목적을 유지할 수 있습니다.

고도를 제공하는 벽 모델.
원본 메시
사용자가 벽과 충돌할 수 있는 위치를 보여주는 다채로운 히트박스를 가진 동일한 벽 모델.
기본값
트림에 대한 다채로운 히트박스가 있는 동일한 벽 모델, 그러나 벽 메시에는 단지 박스 히트박스만 있습니다.
Box

이러한 결정을 내릴 때, 기본값을 변경하는 것이 사용자가 환경을 탐색할 때 부정적인 영향을 미칠 수 있는지 고려하는 것이 중요합니다. 예를 들어, 벽 모델의 트림 메시의 속성을 Box로 설정하면 사용자가 벽 근처에서 점프하려고 할 때 히트박스와 충돌하게 됩니다. 대신, 이러한 메시를 Hull로 설정하여 정점 수를 줄이면서 히트박스를 메시의 기하학 모양에 더 가깝게 유지합니다.

상단 트림에 대한 박스 히트박스가 있는 벽 모델. 박스가 튀어나와 있어 사용자가 상단 트림과 의도치 않게 충돌할 수 있습니다.
Box
상단 트림에 대한 헐 히트박스가 있는 동일한 벽 모델. 헐 히트박스가 모델의 상단에 훨씬 더 가깝게 맞춰져 있어 사용자가 트림과 충돌하지 않도록 합니다.
Hull

메시의 모양에 정확하게 맞는 히트박스를 갖는 것이 중요할 수 있으며, 특히 사용자가 그 모양과 어떻게 충돌하는지를 정확하게 제어해야 할 때 더욱 그렇습니다. 예를 들어, 최종 샘플 레이저 태그 환경에서는 사용자가 출입구의 가장자리에만 충돌하고 출입구 자체에는 충돌하지 않도록 하는 것이 중요합니다. 그렇지 않으면 사용자는 전투 구역에 들어가거나 나올 수 없습니다.

최적화된 히트박스 메시가 있는 출입구 모델.

RenderFidelity

MeshPart.RenderFidelity 속성은 사용자에게 표시되는 메시의 세부 수준을 결정합니다. 이 속성을 Enum.RenderFidelity.Automatic으로 설정하면, 사용자가 메시에서 멀어질수록 메시의 세부 사항이 줄어들고, 이 속성을 Enum.RenderFidelity.Precise로 설정하면, 메시의 모든 정점이 거리와 관계없이 정확하게 렌더링됩니다.

엔진이 사용자에게 어떤 거리에서든 정확하게 렌더링해야 하는 객체가 많을수록, 특히 정점 수가 많은 경우 성능 비용이 높아집니다. 이러한 성능 영향을 완화하기 위해, 이 속성을 기하학적 복잡성이 있는 객체(예: 샘플 자산 라이브러리의 식물)에 대해 Enum.RenderFidelity.Performance로 설정하여, 게임 플레이 요구 사항을 위해 멀리서 전체를 표시할 필요가 없도록 합니다. 이렇게 하면 전체 시각적 품질을 유지하면서 게임의 다각형 수를 줄일 수 있습니다.

자산을 패키지로 변환

모든 모듈형 자산이 Studio에 있고 모든 사용자가 높은 시각적 품질을 유지할 수 있도록 렌더링 매개변수가 설정되었으므로, 이제 이를 패키지로 변환할 시간입니다. 자산을 패키지로 변환하는 것이 중요한 이유는 현재 게임 및 다른 프로젝트에서 반복적으로 재사용할 수 있도록 해주기 때문입니다. 또한, 패키지를 수정하면 모든 인스턴스에 즉시 반영되어 반복 작업에서 많은 시간을 절약할 수 있습니다.

SurfaceAppearance 객체가 이미 패키지이므로, Model 객체를 패키지로 변환하면 중첩 패키지가 됩니다. 중첩 패키지는 Model 객체 패키지와 독립적으로 수정할 수 있는 자식 객체의 복잡한 계층 구조를 유지할 수 있게 해줍니다. 이를 통해 자산의 개별 구성 요소에 대한 더 큰 제어를 할 수 있습니다.

모듈형 자산 및 소품을 패키지로 변환하려면:

  1. Explorer 창에서 모듈형 자산 또는 소품을 마우스 오른쪽 버튼으로 클릭한 후, 컨텍스트 메뉴에서 Convert to Package를 선택합니다. Convert to Package 대화 상자가 표시됩니다.

  2. Title 및 Description 필드를 작성하고, 소유권을 자신 또는 그룹으로 설정한 후, Submit 버튼을 클릭합니다. 완료되면 모델 아이콘 위에 체인 링크 기호가 표시되어 패키지로 식별됩니다.

    체인 링크 기호가 있는 모델 아이콘.
  3. 각 모듈형 자산 및 소품에 대해 이 과정을 반복합니다.

자산 라이브러리의 전체 레이아웃에 만족하면, 새로 다듬어진 자산으로 환경을 장식하고 3D 공간의 추가 요소를 구성하여 세상을 생동감 있게 만드는 작업을 진행할 수 있습니다.

©2026 Roblox Corporation. Roblox 및 Roblox 로고, 'Powering Imagination'은 미국 및 기타 국가 내 당사의 등록 및 미등록 상표입니다.