데이터스미스(Datasmith) 가 Autodesk 3ds Max 에서언리얼 에디터 로 씬을 가져올 경우 데이터스미스 개요 및 데이터스미스 임포트 프로세스에 설명된 프로세스를 따르지만, 3ds Max에만 적용되는 특별한 변환 비헤이비어가 추가됩니다.
데이터스미스 익스포터가 씬을 변환하는 방법과 언리얼 에디터에서 결과물을 작업하는 방법을 자세히 알아보려면 이 페이지를 참조하세요.
지오메트리
이 섹션에서는 데이터스미스가 3ds Max 씬의 지오메트리 오브젝트를 언리얼 엔진 프로젝트의 스태틱 메시 에셋(Static Mesh Assets) 과 액터(Actors) 로 변환하는 원리를 설명합니다.
메시 및 테셀레이션
대부분의 경우, 데이터스미스는 각 3ds Max 오브젝트의 렌더 메시를 사용하여 언리얼 엔진의 해당 스태틱 메시 에셋을 위한 지오메트리를 생성합니다. 언리얼 엔진 에셋에는 보통 3ds Max 렌더링에 표시되는 것과 정확히 동일한 트라이앵글이 있습니다.
3ds Max 몸체 오브젝트(Body Object)(3ds Max 문서의 몸체 오브젝트 범주 참조)의 경우, 데이터스미스는 렌더 메시 대신 3ds Max 뷰포트 메시의 스태틱 메시 에셋을 기반으로 합니다.
3ds Max가 뷰포트에 렌더링할 때 사용할 테셀레이션의 입자성을 조절할 수 있습니다.
- Viewport Display Settings 롤아웃에서 Mesh Quality Presets 을 Coarse, Medium, 또는 Fine 으로 설정합니다.
데이터스미스는 씬의 각 몸체 오브젝트에 설정한 테셀레이션 레벨을 고려합니다.
메시 퀄리티 프리셋 세팅에 대한 자세한 내용은 3ds Max 문서의 뷰포트 표시 설정 롤아웃을 참조하세요.
인스턴스
데이터스미스가 3ds Max 씬에서 동일한 마스터 오브젝트의 여러 인스턴스를 탐지하는 경우, 해당 오브젝트를 위한 하나의 스태틱 메시 에셋을 생성한 후 해당 스태틱 메시의 여러 인스턴스를 언리얼 엔진의 레벨(Level) 에 배치합니다.
3ds Max 씬에서 창문, 문 또는 의자 등의 반복적인 엘리먼트에는 인스턴스를 사용할 것을 권장합니다. 일반적으로 인스턴스는 언리얼 엔진 프로젝트의 런타임 메모리 요구사항 및 퍼포먼스에 더 좋습니다. 스태틱 메시의 수가 줄어들기 때문에 콘텐츠 관리에도 도움이 됩니다.
인스턴스에 대한 자세한 내용은 3ds Max 문서에서 복사본, 인스턴스 및 참조 만들기를 참조하세요.
피벗 포인트
3ds Max에서 씬의 각 오브젝트에 커스텀 피벗 포인트를 설정할 수 있습니다. 그 오브젝트가 동일한 마스터 오브젝트의 인스턴스일 경우도 마찬가지입니다. 언리얼 엔진에서는 동일한 지오메트리의 모든 인스턴스가 동일한 피벗 포인트를 사용해야 합니다.
3ds Max 씬의 오브젝트 인스턴스에 커스텀 피벗 포인트가 있는 경우, 데이터스미스는 해당 커스텀 피벗 포인트를 복제하려고 시도합니다. 데이터스미스가 피벗 포인트를 변환하는 방식은 3ds Max의 모든 인스턴스가 동일한 피벗 포인트를 사용하는지 여부에 따라 다릅니다.
데이터스미스는 피벗 포인트가 서로 다르면서 비균등 스케일이 적용된 3ds Max 인스턴스 임포트를 지원하지 않습니다. 이러한 인스턴스가 있는 경우 익스포트하기 전에 변환 재설정 유틸리티를 사용하세요.
단일 공유 피벗 포인트 변환하기
3ds Max의 모든 인스턴스가 동일한 커스텀 피벗 포인트를 가진 경우, 데이터스미스는 해당 위치를 데이터스미스에서 생성하는 스태틱 메시 에셋의 피벗 위치로 설정합니다. 데이터스미스가 언리얼 엔진 레벨에서 이 오브젝트를 위해 생성하는 스태틱 메시 액터를 회전하는 경우, 예상대로 해당 커스텀 피벗 위치를 중심으로 회전합니다.
다수의 커스텀 피벗 포인트 변환하기
하나 이상의 인스턴스가 서로 다른 피벗 위치를 사용하는 경우, 데이터스미스는 다음 동작을 수행합니다.
- 언리얼에서 생성하는 스태틱 메시 에셋이 3ds Max 오브젝트의 디폴트 피벗 위치를 사용하도록 설정합니다.
- 언리얼 엔진 레벨에 에셋을 배치하는 경우, 데이터스미스는 스태틱 메시 액터를 생성하는 대신 해당 인스턴스의 커스텀 피벗 위치에 비어 있는 새 부모 액터를 생성합니다.
- 마지막으로, 데이터스미스는 부모 액터에 다음과 같은 특성을 가진 스태틱 메시 컴포넌트(Static Mesh Component) 를 부여합니다.
- 스태틱 메시 에셋을 참조합니다.
- 3D 씬의 필요한 곳에 배치하는, 부모 액터로부터 받은 이동 오프셋이 있습니다.
- 이름에
_pivot
접미사가 붙습니다.
언리얼 엔진 레벨에서 부모 액터를 이동, 회전하거나 스케일 조절할 때 모델이 예상대로 행동합니다. 모델이 스태틱 메시 액터 자체가 아니라 부모 액터의 컴포넌트라는 점만 유의하면 됩니다.
커스텀 피벗 포인트 예시
예를 들어 다음 이미지에서 오른쪽 찻주전자는 디폴트 피벗 포인트를 사용하는 반면, 왼쪽 찻주전자는 뚜껑 상단에 커스텀 피벗이 있습니다.
이미지를 클릭하면 확대됩니다.
데이터스미스가 씬을 언리얼로 가져올 때는 오른쪽 찻주전자에 대한 스태틱 메시 액터를 생성합니다. 왼쪽 찻주전자에 대해서는 다음을 수행합니다.
- 3D 월드의 해당 피벗 포인트 위치에
Teapot002
라는 새 액터를 생성합니다. Teapot002
액터에Teapot002_2
라는 스태틱 메시 컴포넌트를 부여합니다. 해당 스태틱 메시 컴포넌트는 찻주전자에 대해 스태틱 메시 에셋을 참조합니다.- 씬의 다른 지오메트리를 기준으로 위치를 올바르게 설정하기 위해 부모 액터인
Teapot002
로부터 적절한 양의 오프셋을Teapot002_2
에 적용합니다.
이미지를 클릭하면 확대됩니다.
UV 채널
데이터스미스는 언리얼 엔진에 가져오는 모든 스태틱 메시에 UV 세트가 있도록 하며, 이러한 UV 세트는 라이트매스(Lightmass) 가 라이트맵 텍스처에 스태틱 라이팅을 빌드하는 데 사용할 수 있습니다(글로벌 일루미네이션 참조). 3ds Max 씬을 동기화하거나 데이터스미스 파일을 임포트할 경우 언리얼 엔진은 해당 UV 채널을 자동 생성합니다. 모든 스태틱 메시 에셋은 라이트맵을 구울 때 새 채널을 사용합니다.
3ds Max에서 커스텀 라이트맵 UV를 생성하여 대신 사용할 수도 있습니다. 이러한 경우, 데이터스미스가 3ds Max에서 언리얼로 UV를 가져오는 방법과 해당 비헤이비어를 오버라이드하는 방법을 이해하는 것이 중요합니다.
- 다음 섹션에서는 데이터스미스가 3ds Max로부터 UV를 임포트하는 방법을 설명합니다.
- 이어지는 섹션인 커스텀 라이트맵 UV 사용에서는 데이터스미스의 디폴트 임포트 비헤이비어를 오버라이드하는 방법을 설명합니다.
데이터스미스가 UV 채널을 임포트하는 방법
언리얼 엔진은 스태틱 메시당 최대 8개의 UV 채널을 지원합니다. 데이터스미스는 라이트맵 UV 생성에 그중 2개를 사용합니다. 이는 데이터스미스가 3ds Max에서 임포트하는 각 오브젝트에 대해 최대 6개의 기존 UV 채널을 보존할 수 있다는 것을 의미합니다. 3ds Max에서는 오브젝트가 최대 99개의 UV 채널을 가질 수 있으며, 채널 인덱스를 순차적으로 설정할 필요가 없습니다. 데이터스미스는 인덱스 값이 가장 낮은 채널 6개를 익스포트합니다.
데이터스미스는 UV 채널을 임포트할 때 다음을 수행합니다.
- UV 채널 인덱스가 0에서 시작하도록 리셋합니다.
- 3ds Max의 가장 낮은 인덱스 값이 언리얼의 가장 낮은 인덱스 값이 되고, 3ds Max의 두 번째로 낮은 인덱스 값이 언리얼의 두 번째로 낮은 인덱스 값이 되는 방식으로 매핑합니다.
- 자동 생성된 라이트맵에 2개의 추가 채널을 생성합니다.
예를 들어, 아래의 표는 데이터스미스가 인덱스가 완전히 순차적이지 않은 채널 5개가 있는 3ds Max 오브젝트를 임포트할 때 UV 채널을 리인덱싱하는 방법을 보여줍니다. 다음 사항에 유의하세요.
- 채널 0~4 이외에도 데이터스미스가 라이트맵에 채널 5 및 6을 추가합니다.
- 일부 3ds Max UV 인덱스 간에 차이가 클 경우, 데이터스미스는 각 인덱스를 언리얼 엔진에서 사용할 수 있는 가장 낮은 슬롯에 리매핑합니다.
3DS Max UV 채널 | 언리얼 UV 채널 | 참고사항 |
---|---|---|
1 | 0 | |
2 | 1 | |
3 | 2 | |
10 | 3 | |
99 | 4 | |
5 | 임포트 중 만들어져 데이터스미스 씬에 포함된 지오메트리의 자동 언랩을 생성합니다. 이는 UV 채널 6에서 사용되는 라이트맵 UV 생성의 기반이 됩니다. | |
6 | 스태틱 메시 라이트맵 해상도 값에 사용되는 데이터스미스 임포트 옵션을 기준으로 UV 차트를 적절하게 패딩 및 패킹하기 위해 UV 채널 5를 기반으로 생성됩니다. |
커스텀 라이트맵 UV 사용
임포트된 스태틱 메시가 3ds Max에서 생성한 기존 UV 채널을 사용하도록 하고 싶다면, 다음과 같은 두 가지 옵션이 있습니다.
-
옵션 1: 3ds Max에서 씬을 익스포트하기 전에, 데이터스미스 어트리뷰트 모디파이어(Datasmith Attributes Modifier)를 적용하여 언리얼 엔진이 라이트맵에 사용할 UV 채널의 인덱스를 지정합니다. 자세한 내용은 오브젝트별 변환 세팅을 참조하세요.
-
옵션 2: 언리얼 에디터에 씬을 임포트한 후에는 언리얼 엔진이 라이트맵에 사용하도록 할 UV 채널의 인덱스를 변경할 수 있습니다.
- 콘텐츠 브라우저에서 라이트맵 UV 인덱스를 변경하고 싶은 스태틱 메시 에셋을 더블클릭하면 스태틱 메시 에디터가 열립니다.
- 디테일 패널에서 일반 세팅(General Settings) > 고급(Advanced) 으로 이동하여 라이트 맵 좌표 인덱스(Light Map Coordinate Index) 를 사용할 UV 채널로 설정합니다.
대안으로 Python에서 라이트맵 UV 인덱스를 변경할 수도 있습니다. 다음 함수를 호출합니다.
static_mesh.set_editor_property("light_map_coordinate_index", index)
커스텀 콜리전 셰이프
언리얼 엔진에서 피직스 시뮬레이션의 비헤이비어 및 퍼포먼스를 향상하려면, 3ds Max 오브젝트에 커스텀 지오메트리를 모델링한 후 언리얼 엔진에서 해당하는 스태틱 메시의 콜리전 메시로 사용하면 됩니다. 커스텀 지오메트리를 원본 씬 오브젝트의 볼륨에 최대한 가깝게 일치시키면서 포함된 트라이앵글 수는 최소화하는 것입니다.
- 다음 섹션인 커스텀 콜리전 셰이프를 사용할 때의 고려사항에서는 커스텀 콜리전 셰이프를 사용할 때 고려해야 할 점을 설명합니다.
- 이어지는 섹션인 커스텀 콜리전 셰이프 구성에서는 커스텀 콜리전 셰이프를 구성하는 방법을 설명합니다.
커스텀 콜리전 셰이프를 사용할 때의 고려사항
셰이프 타입
커스텀 콜리전 셰이프를 사용할 경우, 콜리전 메시로 설정한 오브젝트는 완전히 닫힌 컨벡스 3D 셰이프가 될 수 있습니다. 상자를 예로 들 수 있습니다. 다음 도표는 셰이프 종류의 허용 가능 여부를 보여줍니다.

피벗 포인트 위치
또한, 커스텀 지오메트리의 피벗 포인트가 원본 오브젝트의 피벗 포인트와 볼륨을 기준으로 동일한 위치에 있어야 합니다. 예를 들어 다음 이미지에서 오른쪽 의자와 왼쪽 단순화된 표현은 모두 볼륨의 하단 중앙에 피벗 포인트가 있습니다.

콜리전 지오메트리의 피벗 포인트를 전체 볼륨 기준 동일한 위치에 두지 않으면, 물리 세계의 객체 표현이 오브젝트의 표시 범위와 맞지 않습니다. 이로 인해 예상치 못한 곳에 콜리전이 발생할 수 있습니다.
커스텀 콜리전 셰이프 구성
데이터스미스가 언리얼 엔진으로 임포트할 수 있도록 3ds Max에서 커스텀 콜리전 셰이프를 구성하려면 데이터스미스 어트리뷰트 모디파이어를 사용합니다. 3ds Max에서 모디파이어를 씬의 하나 이상의 오브젝트에 할당한 후, 언리얼 엔진에서 콜리전 메시로 사용할 오브젝트 지정에 사용합니다. 자세한 내용은 오브젝트별 변환 세팅에서 커스텀 콜리전 볼륨 설정 을 참조하세요.
언리얼 엔진에서 커스텀 콜리전 셰이프 확인
데이터스미스가 커스텀 콜리전 셰이프를 올바르게 임포트했는지 확인하려면 레벨 뷰포트(Level Viewport) 에서 콜리전 렌더링을 켭니다.
- 뷰포트 오버레이 메뉴에서 표시(Show) > 콜리전(Collision) 을 선택합니다.
언리얼 엔진은 씬 오브젝트 상단에 커스텀 콜리전 볼륨을 렌더링합니다. 다음 이미지는 박스 오브젝트를 커스텀 콜리전 볼륨으로 사용하는 구체를 보여줍니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
버텍스 컬러
버텍스 컬러와 3ds Max 오브젝트를 연결하는 경우, 데이터스미스는 언리얼 엔진에서 해당하는 스태틱 메시 에셋을 생성할 때 버텍스 컬러를 보존합니다.
데이터스미스는 Vertex Alpha, Map Channel Color 또는 Soft Selection Color 와 같은 다른 3ds Max 메시 채널에서는 데이터를 변환하지 않습니다.
이러한 버텍스 컬러는 언리얼 에디터에서 커스텀 머티리얼 을 생성하면 사용할 수 있습니다. 커스텀 머티리얼 생성은 머티리얼 그래프에서 Constants > Vertex Color 노드를 포함하면 됩니다.
예를 들어 다음 이미지는 버텍스 컬러를 표시하도록 설정된 3ds Max의 오브젝트 및 버텍스 컬러를 얻어 바로 베이스 컬러(Base Color) 출력으로 전달하는 언리얼 엔진의 단순한 커스텀 머티리얼을 보여줍니다.
3ds Max에 표시된 버텍스 컬러입니다. 이미지를 클릭하면 확대됩니다.
언리얼 엔진에 표시된 버텍스 컬러입니다. 이미지를 클릭하면 확대됩니다.
임포트된 버텍스 컬러 확인하기
언리얼 엔진에서 버텍스 컬러를 시각화하여 데이터스미스가 올바르게 변환했는지 확인할 수 있습니다.
- 콘텐츠 브라우저(Content Browser) 에서 스태틱 메시 에셋(Static Mesh Asset) 을 더블클릭하여 스태틱 메시 에디터(Static Mesh Editor) 를 엽니다.
- 뷰포트 툴바에서 표시(Show) > 버텍스 컬러(Vert Colors) 를 선택합니다.
임포트된 버텍스 컬러의 다른 활용법
커스텀 머티리얼 그래프(Material Graph) 의 버텍스 컬러는 단순히 표면에 컬러를 표시하는 것 외에도 많은 일을 할 수 있습니다. 다른 표면 프로퍼티와 결합하고 블렌드할 수도 있습니다.
또한 버텍스 컬러를 사용하여 커스텀 데이터 값과 소스 오브젝트의 지오메트리를 연결하고, 언리얼 에디터의 커스텀 머티리얼에 해당 값을 전달하여 비주얼 이펙트를 구현할 수도 있습니다.
예를 들면 버텍스 컬러를 사용하여 나뭇가지와 나뭇잎에 무게를 할당하고, 해당 무게로 버텍스 셰이더에서 적용한 바람 애니메이션 이펙트를 조절할 수도 있습니다.
레벨 오브 디테일
데이터스미스는 3ds Max에서 세팅한 커스텀 레벨 오브 디테일(Levels of Detail) 을 임포트하지 않으며, 언리얼 에디터에서 새 레벨 오브 디테일을 자동 생성할 수 있습니다. 자세한 내용은 자동 LOD 생성 또는 블루프린트 또는 Python에서 레벨 오브 디테일 생성하기를 참조하세요.
Forest Pack 및 RailClone 오브젝트
iToo Software의 Forest Pack 및 RailClone은 스캐터링하거나 많은 수의 지오메트릭 오브젝트를 절차적으로 배치하여 씬을 채울 수 있는 3ds Max용 플러그인입니다.
데이터스미스가 ForestPack 및 Railclone 오브젝트를 변환하는 방법
데이터스미스를 사용하여 Forest Pack 또는 RailClone 오브젝트가 포함된 3ds Max 씬을 언리얼 엔진에서 임포트하거나 동기화하는 경우, 데이터스미스는 언리얼 엔진 레벨에 단일 액터를 생성한 후 3ds Max 오브젝트의 이름에 맞추어 명명합니다.
액터 내에서 데이터스미스는 각 오브젝트가 처리하는 지오메트리 타입에 대해 다음을 생성합니다.
- 계층형 인스턴스드 스태틱 메시(Hierarchical Instanced Static Mesh, HISM) 컴포넌트
- 프로젝트 콘텐츠의 스태틱 메시 에셋
그런 다음 데이터스미스는 각 지오메트리 타입의 HISM 컴포넌트가 스태틱 메시 에셋을 참조하도록 설정합니다.
각 HISM 컴포넌트 내에서 데이터스미스는 3ds Max 씬에 표시되는 인스턴스마다 스태틱 메시 에셋의 인스턴스 1개를 추가한 후, 3ds Max에서 각 인스턴스의 위치 및 회전 정도를 일치시킵니다.
이러한 임포트 프로세스를 통해 원본 3ds Max 씬과 시각적, 구조적으로 밀접한 언리얼 엔진 레벨이 만들어집니다. 씬 계층구조 내에서 하나의 Forest Pack 또는 RailClone 오브젝트가 내부적으로 모든 인스턴스를 관리한다는 뜻입니다.


HISM 컴포넌트는 언리얼 엔진의 폴리지(Foliage) 시스템에 사용되는 것과 동일한 기술입니다. 같은 스태틱 메시의 여러 인스턴스를 렌더링할 때 매우 효율적인 방식입니다. 언리얼 엔진 렌더러는 같은 HISM 컴포넌트가 관리하는 모든 인스턴스를 일괄적으로 묶은 후, 스태틱 메시 에셋에 할당된 머티리얼당 하나의 드로 콜을 만듭니다. HISM을 사용함으로써 렌더러는 GPU 퍼포먼스나 프레임 레이트에 영향을 주지 않으면서 인스턴스는 더 많이 처리할 수 있습니다.
단순화된 지오메트리로 Forest Pack 및 RailClone 오브젝트 교체
언리얼 엔진에서 실시간으로 더 효율적인 퍼포먼스를 발휘하는 더 단순한 지오메트리로 교체하기 위해 나무처럼 복잡한 지오메트리가 있는 오브젝트를 관리하는 데 Forest Pack이나 RailClone을 사용하고 싶을 수 있습니다.

Forest Pack 또는 RailClone 오브젝트를 단순화된 지오메트리로 교체하는 방법은 다음과 같습니다.
- 3ds Max에서 Forest Pack 또는 RailClone 오브젝트에 데이터스미스 어트리뷰트 모디파이어 를 적용한 후 지오메트리의 바운딩 박스만 익스포트하도록 설정합니다.
바운딩 박스만 익스포트하는 방법은 오브젝트별 변환 세팅의 바운딩 박스만 섹션을 참조하세요. - 3ds Max 씬을 동기화하거나 임포트합니다.
- 새 스태틱 메시를 사용하기 위해 언리얼 엔진 레벨의 모든 인스턴스를 업데이트하려면 HISM 컴포넌트를 수정한 후 디테일(Details) 패널에서 스태틱 메시(Static Mesh) 세팅을 변경합니다.
외부 참조 장면
외부 참조 장면(XRef scene)은 외부에서 참조되는 씬으로, 현재 파일에 나타나지만 다른 MAX 파일에서 일시적으로 로드됩니다. 자세한 내용은 3ds Max 문서의 외부 참조 장면을 참조하세요. 씬이 하나 이상의 외부 참조 장면을 참조하는 경우, 데이터스미스는 기본적으로 해당 외부 참조 장면을 익스포트합니다.
데이터스미스가 외부 참조 장면을 익스포트하지 않도록 하려면 다음을 수행합니다.
3ds Max 리본의 Datasmith 탭에서 Settings 패널로 이동하여 Export XRef Scenes 를 비활성화합니다.
라이팅 및 렌더링 환경
3ds Max는 데이터스미스가 지원하는 다른 서드파티 애플리케이션보다 훨씬 세밀하고 정교한 라이팅 및 렌더링 기능을 제공합니다. 여기서는 3ds Max 라이팅 및 렌더링 데이터를 언리얼 엔진으로 가져올 때 데이터스미스가 시도하는 방법을 설명합니다.
라이트
데이터스미스는 표준, 포토메트릭, V-Ray, Corona 라이트 등 다양한 3ds Max 라이트 타입을 변환합니다. 각 라이트에 대해 데이터스미스가 언리얼로 가져오는 라이트 정보는 다음과 같습니다.
- 3D 공간의 위치, 방향, 셰이프, 크기
- 라이트 타입(예: 포인트 라이트 또는 스포트 라이트)
- 강도, 단위, 램프 색, 온도, 필터 색
- 렌더 셰이프 가시성
- IES 라이트 프로파일


IES 프로파일과 스케일 적용 켈빈 온도를 사용한 포인트 라이트 가운데: IES 프로파일과 스케일 적용 라이트 강도를 사용한 포인트 라이트 하단: 필터 색을 사용한 스포트 라이트
데이터스미스는 3ds Max에서 구성한 라이팅을 최대한 비슷하게 모방하려고 하지만, 언리얼 엔진에 씬을 임포트한 후에는 결과물의 외관을 예상대로 바꾸고 런타임의 라이팅 퍼포먼스를 최적화하기 위해 레벨의 라이팅을 조정해야 할 수 있습니다. 일반적으로 레벨의 라이팅을 미세조정할 때는 포스트 프로세싱 노출 값을 조절합니다.
데이터스미스 사용 시 3ds Max와 언리얼 엔진의 현저한 차이점은 다음과 같습니다.
-
언리얼 엔진은 현재 라이트에 인스턴스를 지원하지 않습니다. 3ds Max 씬의 인스턴스드 라이트 각각에 대해 데이터스미스는 언리얼 엔진 레벨에 별도의 라이트 액터 를 생성합니다.
언리얼 엔진에서 라이트를 인스턴싱할 수는 없지만, 디테일 패널에서 선택하고 프로퍼티를 변경하는 방법으로 한꺼번에 편집할 수는 있습니다.
- 3ds Max의 표준 라이트는 단위가 없으며, 언리얼 엔진이 지원하지 않는 커스텀 감쇠 파라미터를 허용합니다.
- 수직 원기둥(Vertical Cylinder), 회전타원체(Spheroid), 커스텀 메시(Custom Mesh) 라이트 등 일부 V-Ray 셰이프는 지원되지 않습니다.
- 에어리어 라이트는 특수한 블루프린트 클래스를 사용하여 처리됩니다. 자세한 내용은 데이터스미스 임포트 프로세스를 참조하세요.
노출
데이터스미스는 3ds Max 라이트의 강도를 보존하지만, 강도만으로는 씬이 제대로 렌더링되는 것을 보장하기에 충분하지 않습니다. 언리얼 엔진 렌더러가 라이트 강도를 해석할 때는 씬의 휘도, 최종 렌더링에서 씬이 얼마나 밝게 또는 어둡게 보일지를 결정하는 컨텍스트에서 이루어져야 합니다.
이 컨텍스트의 일부는 카메라 또는 뷰의 노출 값, 씬의 라이트 강도 대비 최종 이미지의 민감도를 제어하는 물리적 특성 집합으로 제공됩니다.
데이터스미스는 3ds Max로부터 여러 노출 값도 변환합니다.
자세한 내용은 다음과 같은 섹션에서 확인하세요.
물리적 카메라 노출 세팅
3ds Max 씬에 물리적 카메라(Physical Camera)가 포함된 경우, 데이터스미스는 해당 카메라의 노출 및 화이트 밸런스 세팅을 보존하여 언리얼 엔진 레벨에서 물리적 카메라를 나타내는 시네 카메라 액터에 가져옵니다.
각 카메라에 대해 데이터스미스는 언리얼 엔진의 다음 세팅이 3ds Max의 해당 세팅에 일치하도록 설정합니다.
- 화이트 밸런스(WhiteBalance) > 온도(Temp)
- 셔터 속도(Shutter Speed)
- ISO
- 조리개 (F값)(Aperture (f-stop))
또한 노출(Exposure) > 미터링 모드(Metering Mode) 를 수동(Manual) 으로 설정하여 자동 노출을 비활성화합니다.
이 카메라를 통해 레벨을 보면, 라이트 레벨이 3ds Max의 렌더링 결과와 거의 일치할 것입니다.


시네 카메라 액터 세팅에 대한 자세한 내용은 시네 카메라 액터를 참조하세요.
글로벌 노출 세팅
3ds Max의 Exposure Control 세팅이 Physical Camera Exposure Control 또는 VRay Exposure Control 을 사용하는 경우, 데이터스미스는 이제 데이터스미스 씬에 포스트 프로세스 볼륨(Post Process Volume) 을 생성하여 해당 글로벌 노출 세팅을 전체 언리얼 엔진 레벨에 적용합니다.
3ds Max에서 노출 세팅은 Environment and Effects 다이얼로그에 있습니다. 메인 메뉴에서 Rendering > Exposure Control... 을 선택합니다.
데이터스미스는 언리얼 엔진의 포스트 프로세스 볼륨이 3ds Max의 해당 세팅과 일치하도록 다음 세팅을 설정합니다.
- 화이트 밸런스(WhiteBalance) > 온도(Temp)
- 셔터 속도(Shutter Speed)
- ISO
- 조리개 (F값)(Aperture (f-stop))
또한 노출(Exposure) > 미터링 모드(Metering Mode) 를 수동(Manual) 으로 설정하여 자동 노출을 비활성화합니다.
언리얼 에디터 뷰포트에서 디폴트 카메라를 사용하여 레벨을 보면, 3ds Max에서 렌더링된 결과물과 라이트 강도가 비슷할 것입니다.


글로벌 노출 세팅 vs 물리적 카메라 세팅
3ds Max에서 글로벌 화이트 밸런스 및 노출 세팅은 물리적 카메라에 할당된 세팅과 일치하지 않아도 됩니다. 이때 원근 카메라의 시점에서 씬을 렌더링하면, 렌더러는 특정 물리적 카메라에 할당된 세팅이 아니라 글로벌 노출 세팅을 사용합니다.
언리얼 엔진에서도 마찬가지입니다. 레벨 뷰포트에서 디폴트 카메라를 통해 씬을 보면, 언리얼 엔진은 프로젝트에 글로벌 적용되거나 활성화된 포스트 프로세싱 볼륨에서 가져온 노출 세팅을 사용합니다. 시네 카메라 액터를 통해 씬을 보면, 언리얼 엔진은 카메라의 노출 세팅을 사용합니다.
자동 노출
언리얼 엔진에는 자동 노출 시스템이 내장되어 있습니다. 자동 노출 시스템은 카메라에 닿는 빛의 양을 모니터링하고 노출을 자동으로 조정하여 최종 이미지의 휘도를 적정 수준으로 자동 조정합니다.
자동 노출 시스템은 기본적으로 활성 상태입니다. 언리얼 엔진의 자동 노출 기능에 대한 자세한 내용은 자동 노출을 참조하세요.
카메라
데이터스미스는 3ds Max 씬의 모든 카메라에 대해 3D 공간의 같은 위치 및 회전 정도를 적용하여 언리얼 엔진에서 시네 카메라 액터를 생성하며, 카메라의 초점 프로퍼티를 최대한 보존하려고 합니다. 언리얼 엔진에서 카메라를 통해 레벨을 보는 것이 3ds Max의 해당 카메라에서 렌더링한 씬을 보는 것과 최대한 비슷한 것이 이상적입니다.
3ds Max의 카메라에 타깃이 있는 경우, 데이터스미스는 언리얼 엔진에서 시네 카메라 액터가 해당 액터를 추적하도록 설정합니다. 언리얼 엔진 레벨에서 타깃 액터를 이동하는 경우, 시네 카메라 액터는 자동으로 회전하여 타깃 액터를 추적합니다.
데이터스미스가 물리적 카메라의 노출 세팅을 변환하는 방법에 대한 자세한 내용은 물리적 카메라 노출 세팅을 참조하세요.
머티리얼
데이터스미스는 3ds Max 씬을 언리얼 엔진에 임포트할 때 프로젝트의 Materials/Master 폴더에 하나 이상의 부모 머티리얼 에셋을 생성합니다. 데이터스미스는 언리얼 엔진의 물리 기반 렌더러에서 3ds Max로 렌더링할 때 볼 수 있는 것과 동일한 결과를 얻기 위해 이 부모 머티리얼 각각에 대해 머티리얼 그래프를 생성합니다.
데이터스미스는 3ds Max 씬의 각 머티리얼을 부모 머티리얼의 새 인스턴스로 임포트합니다. 모든 머티리얼 인스턴스마다 부모가 있는 것은 아닙니다. 두 개의 서로 다른 머티리얼 인스턴스가 동일한 머티리얼 그래프를 공유할 수 있다면, 데이터스미스는 두 인스턴스에 동일한 부모 머티리얼을 사용하려고 시도합니다.
일반적으로 데이터스미스는 셰이딩 모델이 하나이고 상대적으로 단순한 그래프가 있는 3ds Max 머티리얼을 원활하게 변환할 수 있습니다. 다음 이미지의 머티리얼을 예로 들 수 있습니다.

단순한 머티리얼에서도 부모 머티리얼 에셋의 그래프가 3ds Max의 해당 머티리얼과 다르게 보일 때가 많습니다. 데이터스미스는 셰이딩 모델을 변환할 때 그래프에 연결이나 상수를 추가하게 되더라도 시각적인 결과물을 최대한 비슷하게 유지하려고 합니다.
셰이딩 모델 변환 제한 사항
3ds Max는 그 외에도 V-Ray, Corona, Mental Ray 등 여러 머티리얼 셰이딩 모델을 지원합니다. 각 셰이딩 모델은 항상 서로 일치하는 것은 아닌 고유 기능이 있는 별도의 소프트웨어입니다. 데이터스미스는 일부 기능을 언리얼 엔진의 비슷한 기능으로 변환할 수 있지만, 보다 복잡하거나 특수 목적이 있는 몇몇 기능은 처리하지 못할 수도 있습니다.
예를 들어, 여러 개의 출력 셰이더를 혼합한 복잡한 그래프가 있는 머티리얼은 데이터스미스가 언리얼 엔진에서 재현하기 어렵거나 불가능할 수 있습니다. 이럴 때는 씬을 임포트한 후 추가적인 조정 또는 교체 작업이 필요합니다. 다음 이미지의 그래프가 좋은 예시입니다.
프로시저럴 텍스처
3ds Max 씬이 프로시저럴 텍스처를 사용하는 경우, 데이터스미스는 생성한 언리얼 엔진 머티리얼에서 사용하는 구워진 텍스처로 프로시저럴 텍스처를 익스포트합니다. 데이터스미스는 이 구워진 텍스처를 .tga 파일로 저장합니다. 데이터스미스가 머티리얼을 생성하는 방법에 대한 자세한 내용은 머티리얼을 참조하세요.
씬에 있는 텍스처의 수와 크기는 3ds Max에서 익스포트하는 데 걸리는 시간과 언리얼 엔진에 임포트하는 데 걸리는 시간에 영향을 줍니다. 구워진 텍스처과 프로시저럴 텍스처의 해상도를 제한하여 임포트, 익스포트 퍼포먼스를 향상할 수 있습니다. 이는 특히 복잡한 머티리얼이 있는 대규모 씬에 유용합니다.
이 세팅은 TIFF 또는 JPEG 파일과 같은 래스터 텍스처의 크기에 영향을 주지 않습니다.
프로시저럴 텍스처를 구울 익스포트 해상도를 지정하려면 다음을 수행합니다.
- 3ds Max 리본의 Datasmith 탭에서 Settings 탭으로 이동하여 Limit Texture Resolution 을 원하는 값으로 설정합니다.
값은 목표 해상도의 픽셀 수를 지정하며, 범위는 4K(4,096픽셀)에서 16M(16메가픽셀) 사이입니다.
예를 들어 해상도 제한을 4K로 설정한 경우, 데이터스미스는 64x64, 128x32px 또는 다른 가로/세로 값 등 4096 픽셀 내의 해상도로 텍스처를 제한합니다.
메타데이터
오브젝트 프로퍼티(Object Properties) 창의 사용자 정의(User Defined) 탭에서 3ds Max 오브젝트에 메타데이터를 추가합니다.

3ds Max에서 메시의 이 패널을 여는 방법은 다음과 같습니다.
- 아웃라이너 또는 뷰포트에서 메시를 선택합니다.
- 컨텍스트 메뉴에서 우클릭하여 프로퍼티(Properties) 또는 오브젝트 프로퍼티(Object Properties) 중 하나를 선택하거나, 메인 메뉴에서 편집(Edit) > 프로퍼티(Properties) 를 선택합니다.
- 이 패널에 메타데이터를 위와 같이
키 = 값
짝으로 입력합니다.등호(=) 양옆에 띄어쓰기를 한 칸씩 해야 합니다. 띄우지 않으면 데이터스미스가 인식하지 못해 예상대로 임포트할 수 없습니다.
MAXScript를 사용하여 사용자 정의 프로퍼티를 구성할 수도 있습니다.
모델을 Revit에서 만들고 3ds Max로 임포트한 경우, 사용자 정의 프로퍼티는 3ds Max 임포터가 모델의 BIM 정보로 미리 설정했을 것입니다.
변환 참고사항 및 경고
다음 시점에서 데이터스미스 변환 프로세스에 대한 정보를 얻을 수 있습니다.
- 3ds Max에서 씬을 익스포트하거나 동기화한 후
- 언리얼 엔진에서 씬을 동기화하거나 임포트한 후
3ds Max 참고사항 및 경고
데이터스미스는 3ds Max 씬을 익스포트한 후 프로세스에서 발생한 통계, 참고사항, 문제, 경고 또는 오류를 Messages Window에 목록으로 표시합니다(Datasmith Messages 창 참조).
3ds Max 및 언리얼 엔진을 동기화하는 데 다이렉트 링크를 사용하는 경우, 데이터스미스가 기본적으로 통계를 출력하지 않습니다. 다이렉트 링크 동기화 및 자동 동기화 시 통계 익스포트를 활성화하려면 MAXScript 콘솔 창에 다음 명령을 입력합니다.
Datasmith_SetExportOption_StatSync true
메시지에는 언리얼 엔진에서 정확히 예상대로 변환할 수 없는 씬 내 요소에 대한 알림이 나타납니다. 예를 들어 다음과 같이 할 수 있습니다.
- 이미지 누락 등 소스 씬에 문제가 있는 경우. 이 문제는 다시 익스포트하기 전에 3ds Max에서 해결하는 것이 좋습니다.
- 3ds Max 씬 내 일부 요소를 데이터스미스 또는 언리얼 엔진이 지원하지 않는 경우.
- 데이터스미스 변환이 예상과 다르게 이루어지는 요소가 있는 경우.
언리얼 엔진에서의 참고사항 및 경고
데이터스미스 씬을 언리얼 에디터로 임포트한 후에는 해결해야 할 변환 관련 문제의 정보를 출력 로그(Output Log) 에서 찾을 수 있습니다(메인 메뉴에서 창(Window) > 출력 로그(Output Log) 선택).
우선, 출력 로그가 경고만 표시하도록 필터를 적용해 봅니다. 출력 로그 툴바에서 필터(Filters) > 메시지(Messages) 와 필터(Filters) > 오류(Errors) 를 비활성화하면 됩니다.