SLIM

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

SLIM (Scalable Lightweight Interactive Models)은 클라우드 기반 트랜스코딩(자산을 더 효율적인 형식으로 변환)을 사용하여 Models 및 플랫폼 아바타의 경량화된 최적화 표현을 생성하는 자동 최적화 시스템입니다. SLIM이 활성화되면 여러 부분이 더 적은 드로우 호출( GPU에 전송되는 렌더링 명령)로 결합되고, 여러 수준의 디테일이 생성되어 엔진이 거리, 장치 능력 및 사용 가능한 리소스에 따라 최상의 표현을 지능적으로 선택할 수 있습니다.

SLIM 없이 — 스트리밍된 모델이 보이지 않음
SLIM 사용 시 — 최적화된 대체물이 보임

SLIM은 세 가지 주요 이점을 제공합니다:

  • 시각적 품질
    — 먼 모델이 기존 모델 수준의 디테일 시스템보다 더 세밀하게 보이며, 원본에 더 가까운 충실도를 유지합니다.
  • 일관된 전환
    — 모델 내 모든 부분이 동시에 디테일 수준을 전환하여 불쾌한 부분별 전환을 없앱니다.
  • 성능
    — 복합 메시가 드로우 호출, 삼각형 수 및 메모리 사용량을 극적으로 줄여 모든 장치 계층에서 더 풍부한 장면을 가능하게 합니다.

다음 게시된 게임에서 SLIM을 탐색해 보세요:

City People Cars SLIM Template — SLIM이 활성화된 월드 모델

SLIM 플랫폼 아바타 — SLIM으로 렌더링된 200개의 애니메이션 아바타

전제 조건

SLIM은 다음을 요구합니다:

  1. StreamingEnabledWorkspace 객체에서 활성화되어야 합니다. 관련 추천 설정에 대한 스트리밍 속성도 참조하세요.
  2. 장소는 Roblox에 저장되어야 하며(로컬 .rbxl 파일이 아님), SLIM은 클라우드 트랜스코딩을 사용하여 최적화된 자산을 생성합니다. 로컬에서 테스트하는 경우, 장소를 게시한 후 SLIM을 활성화하세요.
  3. 게임에 대해 팀 생성이 활성화되어야 하며, SLIM은 클라우드 자산 생성을 위한 관련 속성에 의존합니다.

기술적 동작

SLIM이 활성화된 모델로 게임을 게시하거나 플레이 테스트할 때, 엔진은 모델 데이터를 클라우드 서비스에 업로드하여 여러 수준의 디테일을 가진 최적화된 복합 메시를 생성합니다. 런타임에서 클라이언트는 CDN에서 이러한 자산을 가져오고, 엔진은 거리와 장치 능력에 따라 적절한 디테일 수준을 선택하며, 각 SLIM 모델을 카메라와의 거리 기반으로 렌더링 영역으로 분류합니다:

플레이어 캐릭터에서 방사형으로 뻗어 있는 네 개의 SLIM 렌더링 영역을 보여주는 다이어그램.
범위동작
전체 인스턴스가 스트리밍됨; 전통적인 부분별 렌더링.
전체 인스턴스가 스트리밍되지만, 엔진은 더 효율적일 때 SLIM 복합체를 렌더링합니다.
인스턴스가 스트리밍 아웃됨(최소한의 자리 표시자만 DataModel에 존재하며, 전체 모델 계층은 아님), SLIM 복합체 렌더링.
DataModel에 최소한의 자리 표시자 존재, 렌더링되지 않음.

모델을 위한 SLIM

SLIM은 정적 월드 기하학을 나타내는 모델에서 가장 잘 작동합니다 — 건물, 소품, 차량, 지형 특징 및 런타임 중에 변경되지 않는 기타 환경 객체. 런타임 중에 부분을 추가하거나 제거하거나, 재료를 변경하거나, 기하학을 수정하면 SLIM이 모델을 올바르게 렌더링하지 못합니다. 일반 모델 구조 지침에 대한 모델 구조 및 전체 제외 목록에 대한 제한 사항을 참조하세요.

모델에서 SLIM을 활성화하려면, 속성 창에서 LevelOfDetail 속성을 SLIM으로 설정하세요.

LevelOfDetail 속성이 SLIM으로 설정된 속성 창.

모델에 SLIM이 설정되면, 엔진은:

  1. 모델의 렌더링 관련 속성(기하학, 재료, 텍스처, 변환)을 압축된 표현으로 직렬화합니다. 모델 내에서 지원되는 인스턴스 유형에는 Part, MeshPart, Decal, Texture, SurfaceAppearance, PartOperation, NegateOperation, 및 SpecialMesh가 포함됩니다.
  2. 첫 게시 또는 플레이 시 이 데이터를 클라우드 트랜스코딩 서비스에 업로드합니다.
  3. 클라우드 서비스는 숨겨진 내부 기하학을 제거하고 텍스처를 최적화하여 여러 수준의 디테일을 가진 복합 메시를 생성합니다.
  4. 런타임에서 클라이언트는 최적화된 SLIM 자산을 가져오고, 엔진이 원래 모델을 스트리밍 아웃할 때 또는 SLIM이 전체 모델보다 더 효율적일 때 이를 렌더링합니다.

게임이 StreamingMesh 설정을 사용하고 있는 경우, 개별 모델을 선택하고 속성 창에서 속성을 변경하여 변환할 수 있습니다. 또는 다음과 같은 스크립트를 명령 바에서 사용하여 여러 모델을 일괄 변환할 수 있습니다. StreamingMesh와 함께 작동했던 일부 모델은 SLIM에 대해 조정이 필요할 수 있으며, 특히 겹치는 부분이나 복잡한 PartOperation 계층이 있는 경우에 그렇습니다.

Batch-Convert StreamingMesh to SLIM
for _, descendant in workspace:GetDescendants() do
if descendant:IsA("Model") and descendant.LevelOfDetail ==
Enum.ModelLevelOfDetail.StreamingMesh then
descendant.LevelOfDetail = Enum.ModelLevelOfDetail.SLIM
end
end

아바타를 위한 SLIM

현재 스트리밍된 영역 외부의 플랫폼 아바타는 기본적으로 보이지 않습니다. SLIM 아바타를 활성화하면 표준 리그 플레이어 캐릭터가  액세서리나 의류 레이어가 몇 개 있든 관계없이 경량화된 애니메이션 대체물로 렌더링되어 렌더링 비용의 일부로 시각적 충실도를 유지합니다.


아바타를 위한 주요 SLIM 속성은 Workspace.EnableSLIMAvatars로, 속성 창에서 Enabled로 설정해야 하며, 비아바타 월드 모델의 LevelOfDetailSLIM으로 설정해야 합니다.

EnableSLIMAvatars 속성이 Enabled로 설정된 속성 창.

EnableSLIMAvatars가 활성화되면, 엔진은:

  • 실제 아바타 모델이 스트리밍 아웃될 때 SLIM 버전을 렌더링합니다.
  • 사용 가능한 리소스에 따라 SLIM과 전체 해상도 표현 간에 전환합니다. 스트리밍 반경 내에서도 가능합니다.
  • 장면 중요도와 사용 가능한 대역폭에 따라 SLIM 애니메이션을 조절합니다.

모델 SLIM과 달리, 모델에서 멀어져서 스트리밍 아웃될 때 혼자 테스트할 수 있지만, SLIM 아바타는 게임에서 여러 플레이어가 있어야 관찰할 수 있습니다. SLIM 아바타를 테스트하기 위해 다음 중 하나의 테스트 모드를 사용하세요:

  • 팀 테스트 — 친구나 대체 계정으로 참여하여 먼 거리에서 SLIM 아바타를 확인하세요.
  • 서버 및 클라이언트 — 각 클라이언트가 다른 클라이언트가 먼 거리에서 SLIM으로 렌더링하는 아바타 복사본을 표시하는 두 개 이상의 클라이언트 창을 실행하세요.

아바타는 SLIM이 활성화된 게임에서 트랜스코딩되어야 SLIM으로 나타납니다. 첫 번째 테스트에서 아바타가 SLIM으로 렌더링되지 않으면, 트랜스코딩이 완료될 수 있도록 잠시 후 게임에 다시 참여하세요.

제한 사항

제한 사항세부 사항
스트리밍 필요SLIM은 StreamingEnabledtrue로 설정된 경우에만 작동합니다. 스트리밍이 없으면 SLIM 적합 모델은 전통적인 수준의 디테일 렌더링으로 돌아갑니다.
정적 모델만모델 SLIM은 런타임 중에 수정된 모델(부분 추가/제거, 속성 변경)이나 애니메이션을 재생하는 모델을 지원하지 않습니다.
휴머노이드 인스턴스엔진은 정적 모델 SLIM 처리에서 Humanoid가 포함된 모델을 제외합니다. 애니메이션 플레이어 캐릭터에는 SLIM 아바타를 사용하세요.
아바타 제한SLIM 아바타는 R15 표준 리그 플레이어 캐릭터만 지원합니다. R6 리그, NPC 및 사용자 정의 비율 아바타는 기본 렌더링으로 돌아갑니다.
클라우드 의존성클라우드 서비스는 SLIM 자산을 생성하고 CDN에 저장합니다. 게시된 장소 없이 오프라인 또는 로컬 테스트는 SLIM 결과를 생성하지 않습니다.
제로 스케일 모델엔진은 SLIM 처리에서 Scale0인 모델을 제외합니다.
플랫폼 가용성SLIM이 아직 지원되지 않는 플랫폼에서는 SLIM으로 설정된 모델이 Disabled로 돌아갑니다.

문제 해결

  • StreamingEnabledtrue인지 확인하세요.
  • 장소가 Roblox에 게시되었고 팀 생성이 활성화되어 있는지 확인하세요.
  • 모델에 대해 LevelOfDetailSLIM으로 설정되어 있는지 확인하세요.
  • 클라우드 트랜스코딩이 완료될 수 있도록 첫 게시 후 1-2분 기다린 후 다시 참여하세요.
  • 모델에 Humanoid 인스턴스가 포함되어 있지 않은지 확인하세요.

솔리드 모델링PartOperation 인스턴스(유니온, 교차, 부정)는 일부 SLIM 모델에서 올바르게 렌더링되지 않을 수 있습니다. SLIM 표현에서 유니온이 누락되거나 왜곡되어 보이는 경우, 영향을 받는 PartOperation을 별도의 모델로 분리하거나 CSG 작업을 단순화해 보세요.

원래 모델의 부분이 겹치거나 동면 면을 가질 때 Z-전투가 발생할 수 있습니다. 이를 해결하려면:

  • 겹치는 부분을 약간 떨어뜨리세요(0.01 스터드 정도면 충분합니다).
  • 동일한 모델 내에서 인접한 부분 간에 완벽하게 평평한 표면을 피하세요.

SLIM은 트랜스코딩 중에 UV 매핑(텍스처가 3D 표면에 투영되는 방식)을 재생성합니다. 기본 Roblox 재료는 원본과 약간 다른 타일 패턴을 보일 수 있습니다. 이를 완화하려면:

  • 중요한 표면에 대해 SurfaceAppearance를 통해 사용자 정의 텍스처를 사용하세요.
  • 시각적으로 관련된 부분을 동일한 모델로 그룹화하여 일관된 텍스처링을 보장하세요.

전신 또는 손가락 애니메이션은 뼈 복제 타이밍으로 인해 가끔 시각적 아티팩트를 나타낼 수 있습니다. 이는 알려진 문제로, 적극적으로 개선되고 있습니다. 문제가 심각한 경우, 애니메이션 스크립트가 표준 애니메이션 파이프라인 외부에서 뼈 변환을 수정하지 않는지 확인하세요.

렌더링 통계 패널은 SLIM 아바타가 활성화된 경우 부정확한 삼각형 수를 보고할 수 있습니다. 이는 알려진 보고 버그이며 실제 렌더링 성능에는 영향을 미치지 않습니다.

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