3ds Max 의 오브젝트에 데이터스미스 어트리뷰트(Datasmith Attribute) 모디파이어를 적용하면 데이터스미스 가 개별 씬 오브젝트를 3ds Max에서 언리얼 엔진 으로 변환하는 방법을 커스터마이징할 수 있습니다.
다음을 수행할 수 있습니다.
- 언리얼 엔진에서 생성하는 라이트맵에 사용할 UV 채널에 대한 인덱스를 지정합니다. 자세한 내용은 라이트맵 UV 인덱스 지정을 참고하세요.
- 씬 내 오브젝트에 커스텀 콜리전 지오메트리를 할당합니다. 자세한 내용은 커스텀 콜리전 볼륨 설정을 참고하세요.
- 오브젝트를 전체 지오메트리 대신 단순화된 바운딩 박스로 익스포트합니다. 자세한 내용은 바운딩 박스만 익스포트를 참고하세요.
데이터스미스 어트리뷰트 모디파이어 적용
3ds Max의 리본 또는 Modify 패널에서 데이터스미스 어트리뷰트 모디파이어를 적용합니다.
기본적으로 모디파이어는 데이터스미스가 3ds Max 콘텐츠를 변환하는 방법에 설명된 익스포트 행동은 변경하지 않습니다. 디폴트 행동을 커스터마이징하려면 모디파이어의 세팅을 변경해야 합니다.
3ds Max 리본에서 적용
3ds Max 씬에서 데이터스미스 어트리뷰트 모디파이어를 오브젝트에 적용하는 가장 쉬운 방법은 3ds Max 리본을 사용하는 것입니다.
- 익스포트 세팅을 커스터마이징할 오브젝트를 선택합니다.
- 3ds Max 리본의 Datasmith 탭에 있는 Tools 패널에서 Add Datasmith Attributes Modifier 를 선택합니다.
Modify 패널에서 적용
3ds Max에서 다른 모디파이어를 적용할 때와 동일한 방식으로 데이터스미스 어트리뷰트 모디파이어를 적용할 수도 있습니다. 자세한 내용은 3ds Max 문서의 Modifiers를 참고하세요.
- 익스포트 세팅을 커스터마이징할 오브젝트를 선택합니다.
- Modify 패널을 엽니다.
- 'Modifier List' 드롭다운 메뉴에서 OBJECT-SPACE MODIFIERS > Datasmith Attributes 를 찾아서 선택합니다.
라이트맵 UV 인덱스 지정
기본적으로 데이터스미스는 씬 내 각 지오메트릭 오브젝트에 두 가지 새 UV 채널을 생성합니다. 자세한 내용은 데이터스미스가 3ds Max 콘텐츠를 변환하는 방법의 UV 채널 을 참고하세요. 한 채널은 라이트맵 UV로, 사전 연산된 라이팅을 저장하고 모든 오브젝트가 언리얼 엔진의 스태틱 및 스테이셔너리 라이팅과 호환되게 합니다.
이미 3ds Max에서 오브젝트에 대한 라이트맵 UV를 생성한 경우에는 이를 대신 사용하는 것이 좋습니다. 데이터스미스 어트리뷰트 모디파이어를 사용하여 오브젝트가 3ds Max에서 생성한 라이트맵 UV를 사용하게 할 수 있습니다. 이 경우 데이터스미스는 씬을 언리얼 엔진으로 임포트할 때 추가 UV를 생성하지 않습니다.
라이트맵 UV 인덱스를 지정하려면 다음을 수행합니다.
- 생성된 라이트맵 UV를 사용할 오브젝트를 3ds Max에서 선택합니다.
- 데이터스미스 어트리뷰트 모디파이어를 적용합니다. 자세한 내용은 데이터스미스 어트리뷰트 모디파이어 적용을 참고하세요.
- 데이터스미스 어트리뷰트 모디파이어 세팅에서 다음을 수행합니다.
- Lightmap UVs 를 Specify Lightmap Channel 로 설정합니다.
- Map Channel 을 선택된 오브젝트에서 사전 연산된 라이팅에 사용하게 할 UV 채널 인덱스로 설정합니다.
씬을 언리얼 엔진과 동기화하거나 언리얼 엔진에서 익스포트 또는 임포트할 때 데이터스미스 어트리뷰트 모디파이어가 적용된 오브젝트는 지정된 맵 채널을 사용합니다. 데이터스미스는 새 UV 채널을 생성하지 않습니다.
언리얼 엔진의 UV에 대한 자세한 내용은 스태틱 메시에서 UV 채널 사용하기를 참고하세요.
언리얼 엔진에서 UV 인덱스 검증
언리얼 엔진이 올바른 라이트맵 UV 인덱스 세팅을 사용 중인지 검증하려면 다음을 수행합니다.
- 3ds Max에서 라이트맵 UV를 생성한 오브젝트 중 하나에 해당하는 스태틱 메시 에셋 을 콘텐츠 브라우저 에서 찾습니다.
- 에셋을 더블클릭하여 스태틱 메시 에디터(Static MEsh Editor) 에서 엽니다.
- 디테일(Details) 패널에서 일반 세팅(General Settings) > 라이트맵 좌표 인덱스(Lightmap Coordinate Index) 세팅을 찾습니다. 이 값은 3ds Max에서 식별한 UV 채널에 해당해야 합니다.
언리얼 엔진으로 오브젝트를 임포트할 때 데이터스미스가 UV 채널을 다시 인덱싱하는 방법에 따라 라이트맵 좌표 인덱스 세팅에 표시되는 인덱스 번호가 데이터스미스 어트리뷰트 모디파이어에 설정한 번호와 일치하지 않을 수 있습니다.
인덱스가 예상한 UV 레이아웃을 레퍼런스하는지 검증하기 위해 '스태틱 메시 에디터'에 라이트맵을 표시할 수 있습니다.
- '스태틱 메시 에디터' 툴바에서 UV > [UV 인덱스 번호] 를 선택합니다. UV 인덱스 번호는 라이트맵 좌표 인덱스 세팅의 번호입니다.
'스태틱 메시 에디터'가 뷰포트 왼쪽 하단에 라이트맵을 표시합니다.
커스텀 콜리전 볼륨 설정
데이터스미스 어트리뷰트 모디파이어를 사용하여 언리얼 엔진에서 다른 씬 오브젝트의 콜리전 메시로 사용할 오브젝트를 지정할 수 있습니다. 콜리전 메시 오브젝트는 완전히 컨벡스여야 하며, 피벗은 볼륨에 상대적으로 원본 오브젝트와 같은 위치에 있어야 합니다. 자세한 내용은 데이터스미스가 3ds Max 콘텐츠를 변환하는 방법의 커스텀 콜리전 셰이프를 참고하세요.
커스텀 콜리전 볼륨을 설정하려면 다음 단계를 따릅니다.
- 3ds Max에서 커스텀 콜리전 메시를 설정할 오브젝트를 선택합니다.
- 데이터스미스 어트리뷰트 모디파이어를 적용합니다. 자세한 내용은 데이터스미스 어트리뷰트 모디파이어 적용을 참고하세요.
- 데이터스미스 어트리뷰트 모디파이어 세팅에서 다음을 수행합니다.
- Use Custom Collision Mesh 를 활성화합니다.
- Pick Geometric Object 를 클릭합니다.
- 3ds Max 뷰포트 또는 Outliner 패널에서 콜리전 메시로 사용할 오브젝트를 선택합니다.
씬을 동기화하거나 언리얼 에디터로 리임포트하면 데이터스미스 어트리뷰트 모디파이어를 할당한 오브젝트가 콜리전 메시 오브젝트의 셰이프로 새 콜리전 볼륨을 갖습니다.
바운딩 박스만 익스포트
때로는 언리얼 엔진 및 3ds Max에서 동일한 씬 오브젝트에 서로 다른 지오메트리를 사용하게 해야 하는 경우가 있습니다. 예를 들어 3ds Max 씬에 오프라인 렌더링에서 사용할 복잡하거나 밀도가 매우 높은 지오메트리가 있고, 언리얼 엔진에서는 리얼타임에서 보다 효과적일 수 있도록 덜 복잡한 버전을 사용한다고 가정할 수 있습니다.
데이터스미스 어트리뷰트 모디파이어를 사용하여 씬을 익스포트할 때 지오메트리를 단순화된 표현으로 대체할 오브젝트를 식별할 수 있습니다. 데이터스미스는 전체 지오메트리를 익스포트하는 대신 각 오브젝트의 3D 바운딩 박스를 기반으로 오브젝트의 가벼운 지오메트릭 표현을 생성합니다.
동기화하거나 씬을 언리얼 엔진으로 임포트하면 데이터스미스 어트리뷰트 모디파이어로 표시한 씬 오브젝트에서는 원본 지오메트리가 단순 회색 바운딩 볼륨으로 대체됩니다. 이는 원본 오브젝트와 동일한 이름 및 위치를 갖습니다.
선택된 오브젝트의 바운딩 박스 표현을 익스포트하려면 다음 단계를 따릅니다.
- 3ds Max에서 바운딩 박스 표현 익스포트를 설정할 오브젝트를 선택합니다.
- 데이터스미스 어트리뷰트 모디파이어를 적용합니다. 자세한 내용은 데이터스미스 어트리뷰트 모디파이어 적용을 참고하세요.
- 데이터스미스 어트리뷰트 모디파이어 세팅에서 'Export Geometry As'를 Bounding Geometry 로 설정합니다.
바운딩 박스 익스포트 예시
아래 이미지에서 3ds Max 씬의 창문은 데이터스미스 어트리뷰트 모디파이어가 적용되고 바운딩 박스만 익스포트하도록 설정되어 있습니다. 이를 언리얼 엔진 레벨로 임포트하면 디폴트 머티리얼이 있는 단순 볼륨으로 표시됩니다.
이 3ds Max 씬의 창문은 바운딩 박스만 익스포트하도록 설정되어 있습니다. 이미지를 클릭하면 확대됩니다.
언리얼 엔진에서 창문은 디폴트 머티리얼이 있는 단순 볼륨으로 표시됩니다. 이미지를 클릭하면 확대됩니다.
단순화된 씬 엘리먼트는 다양한 방식으로 사용할 수 있습니다. 예를 들어 단순화된 오브젝트를 자체 커스텀 스태틱 메시 에셋의 인스턴스로 대체할 수 있습니다. 또는 단순화된 액터를 뷰에서 숨기고 여기에 포함된 정보(예: 3D 스페이스 내 위치 또는 바운딩 박스 크기)를 다른 용도로 사용할 수도 있습니다.