이 페이지에서는 데이터스미스에서 Maxon Cinema 4D 씬을 언리얼 에디터로 임포트하는 방법을 살펴봅니다. 이 설명은 데이터스미스 개요 및 데이터스미스 임포트 프로세스에 대하여에 나와 있는 기본적인 프로세스를 따르지만 Maxon Cinema 4D에 한정되는 특수한 이동 행동이 일부 추가됩니다. 데이터스미스를 사용하여 Cinema 4D 씬을 언리얼 에디터로 임포트하려는 경우, 이 페이지는 씬이 이동되는 방식과 언리얼 에디터에서 해당 결과물을 사용하여 작업하는 방법을 이해하는 데 도움이 될 수 있습니다.


크레딧: 이 페이지에서 사용된 교실 씬은 Turbosquid 사용자 scripter 님이 제공해 주셨습니다.
Cinema 4D 워크플로
데이터스미스는 Cinema 4D에 다이렉트 워크플로를 사용합니다. 즉, 데이터스미스를 사용하여 언리얼 엔진으로 Cinema 4D 콘텐츠를 가져오려면 다음 단계를 따릅니다.
- Cinema 4D에서 씬을
.c4d
파일로 저장합니다. Cinema 4D의 메인 메뉴에서 다음 중 하나를 수행합니다.- 최신 버전의 Cinema 4D를 사용하는 경우 File > Save Project for Cineware 옵션을 선택합니다.
- 이전 버전을 사용하는 경우에는 대신 File > Save Project for Melange 를 선택해야 합니다.
-
언리얼 엔진에서 프로젝트에 대해 데이터스미스 C4D 임포터(Datasmith C4D Importer) 플러그인을 활성화합니다. 플러그인을 활성화하는 방법을 알아보려면 플러그인으로 작업하기를 참고하세요.
- 언리얼 엔진에서 데이터스미스 임포트 옵션을 사용하여
.c4d
파일을 프로젝트에 임포트합니다. 관련 지침은 언리얼 엔진에 데이터스미스 콘텐츠 임포트하기를 참고하세요.
Cinema 4D의 R22 이전 버전에서는 .c4d
파일을 저장할 때 데이터스미스에서 필요로 하는 정보를 자동으로 포함하도록 Cinema 4D를 환경설정할 수 있습니다.
-
메인 메뉴에서 Edit > Preferences 를 선택합니다.
-
Preferences 대화창의 Files 탭에서 다음 옵션을 활성화합니다.
- Save Polygons for Melange
- Save Animations For Melange
이 옵션을 활성화하면 저장하는 파일의 크기가 커집니다. 파일 크기가 문제가 되거나, 언리얼 엔진으로 임포트할 필요가 없는 Cinema 4D 씬으로 자주 작업하는 경우에는 File > Save Project for Melange 옵션은 필요할 때만 사용하는 것이 좋을 수도 있습니다.
지오메트리
데이터스미스는 Cinema 4D 씬에 표시되는 각각의 지오메트릭 오브젝트별로 스태틱 메시 에셋을 생성합니다.
Cinema 4D의 'Properties' 패널에 표시되는 오브젝트 이름은 데이터스미스가 언리얼 엔진 내의 해당 스태틱 메시 에셋에 할당한 이름입니다.
씬을 익스포트하기 전에 Cinema 4D에서 오브젝트를 병합하면 데이터스미스가 생성하는 스태틱 메시 에셋과 액터의 세분화에 영향을 미칠 수 있습니다.
예를 들어 다음과 같이 할 수 있습니다.
-
Cinema 4D의 Connect Objects 명령을 사용하여 두 오브젝트를 단일 오브젝트로 병합합니다. 자세한 내용은 Cinema 4D 문서의 오브젝트 연결을 참고하세요.
-
유연성을 더 높이려면 Cinema 4D의 Connect Objects 를 사용하여 지정된 한계치 값보다 더 가까운 오브젝트를 단일 메시로 결합합니다. 이 경우, 데이터스미스 임포터는 단일 스태틱 메시 에셋을 결합된 메시로 만들지만 연결된 조각은 Cinema 4D에서 여전히 개별 오브젝트로 남게 됩니다. 자세한 내용은 Cinema 4D 문서의 오브젝트 연결을 참고하세요.
오브젝트 비저빌리티
언리얼 엔진으로 임포트하지 않을 오브젝트가 있다면 .c4d
파일을 저장하기 전에 Cinema 4D에서 숨겨야 합니다. 데이터스미스 임포터는 숨김 처리한 오브젝트의 지오메트리를 스태틱 메시 에셋으로 임포트하지 않으며, 데이터스미스 씬 계층구조에도 포함하지 않습니다.
Cinema 4D의 Objects 패널을 사용하여 오브젝트를 개별적으로 숨길 수 있습니다. 또는 생략하려는 오브젝트를 전용 레이어에 배치하고 Layers 패널을 사용하여 해당 레이어의 오브젝트를 모두 숨길 수 있습니다.
제너레이터와 디포머
Melange용 Cinema 4D 씬을 저장할 때는 씬의 모든 제너레이터가 단일 트라이앵글 메시로 베이킹되어 오브젝트의 프로시저럴하게 생성된 모든 지오메트리를 표현합니다. 이와 비슷하게 모든 디포머는 디포머의 최종 상태를 기반으로 단일 트라이앵글 메시로 베이킹됩니다. 데이터스미스는 이러한 트라이앵글 메시를 각각 단일 스태틱 메시 에셋으로 임포트합니다.
인스턴스, 클로너 및 배열
Cinema 4D 씬에서 인스턴스, 클로너 또는 배열을 사용하여 씬의 서로 다른 여러 위치에 단일 오브젝트의 사본을 배치할 경우 데이터스미스는 그 의도를 따라 해당 오브젝트의 지오메트리에서 콘텐츠 브라우저에 단일 스태틱 메시 에셋을 생성합니다. 그런 다음 해당 스태틱 메시 에셋의 여러 인스턴스를 데이터스미스 씬에 배치합니다.
노멀 페이싱 방향
언리얼 엔진은 대부분의 리얼타임 렌더러와 마찬가지로 카메라를 향하지 않는 트라이앵글을 자동으로 컬링하여 퍼포먼스를 극대화합니다. 하지만 Cinema 4D는 이러한 후면 컬링 유무에 관계없이 지오메트리를 렌더링할 수 있습니다. Cinema 4D의 구성 방식에 따라 표면이 향하는 방향을 고려하는 데 익숙하지 않을 수도 있습니다. 표면 노멀이 일반적인 방향과 다른 쪽을 가리키는 단면 지오메트리가 씬에 포함되어 있는 경우 언리얼 엔진의 특정 각도에서는 해당 지오메트리가 사라지는 것처럼 보일 수도 있습니다.
예를 들어 아래 이미지는 표면 노멀 하나가 안쪽을 향하도록 모델링된 책을 보여줍니다. 씬이 언리얼 엔진으로 임포트되고나면 처음에는 책 표지가 없어진 것처럼 보일 수도 있습니다. 이 경우 표면의 노멀 방향을 플립하면 각 면이 정상적으로 표시됩니다.


이 문제는 Cinema 4D에서 검증을 통해 표면을 원하는 방향으로 향하도록 돌려서 해결할 수 있습니다. 여기에는 몇 가지 방법이 있습니다. 예를 들면 다음과 같습니다.
-
뷰포트에서 Options > Backface Culling 세팅을 활성화할 수 있습니다. 그러면 노멀이 카메라에서 다른 방향을 향하는 모든 페이스를 숨기고, 동일한 방식으로 언리얼 엔진에서 숨겨집니다.
-
폴리곤 모드인 경우 선택된 페이스가 자신 쪽으로 향할 때 노란색 하이라이트로 표시되고, 파란색 하이라이트는 자신과 다른 방향을 향하는 것입니다.
-
뷰포트를 환경설정하여 버텍스 노멀을 각 페이스의 중앙에서 연장되는 흰색 선으로 표시할 수 있습니다. Options > Configure 를 선택하여 Attributes 패널로 갑니다. 반드시 Polygon Normals 세팅을 활성화하고 Selected Only 옵션을 비활성화해야 폴리곤 모드일 때 선택한 모델의 모든 페이스에 대한 노멀이 시각화됩니다.
Cinema 4D에서 반전 노멀을 가진 페이스는 Reverse Normals 명령으로 플립할 수 있습니다. 자세한 내용은 Cinema 4D 문서를 참고하세요.
이 주제에 대한 자세한 내용과 가능한 솔루션은 데이터스미스 임포트 프로세스 페이지를 참고하세요.
라이트
데이터스미스는 대부분의 라이트 타입을 Cinema 4D에서 언리얼 엔진의 동일한 라이트 타입으로 변환합니다. 이런 이동은 라이트의 가장 중요한 이미시브 프로퍼티를 보존하며, 여기에는 씬에서의 배치, 컬러, 포토메트릭 강도, 원뿔 각도, IES 프로파일 등이 포함됩니다.
다음 표에서는 데이터스미스가 Cinema 4D 라이트 타입을 언리얼 엔진 라이트 타입으로 매핑하는 방식을 설명합니다.
Cinema 4D | 언리얼 엔진 |
---|---|
포인트 라이트, IES 라이트 | 포인트 라이트 |
스포트 라이트, 타깃 라이트 | 스포트 라이트 |
에어리어 라이트, PBR 라이트 | 데이터스미스 에어리어 라이트 블루프린트 |
썬 라이트, 무한 라이트 | 디렉셔널 라이트 |
카메라
데이터스미스는 데이터스미스 씬에서 Cinema 4D 씬의 각 카메라에 시네 카메라 액터를 생성합니다. 이 카메라는 Cinema 4D에서와 동일한 위치와 회전에 배치되며, 초점 길이를 비롯한 카메라의 실제 특성과 관련된 선택적 세팅 일부를 보존합니다.
씬 계층구조
데이터스미스가 Cinema 4D 씬을 언리얼 엔진으로 임포트할 때 Cinema 4D의 오브젝트 계층구조와 매우 유사한 액터 계층구조가 생성됩니다. 데이터스미스는 오브젝트 이름과 계층구조 관계를 가능한 한 비슷하게 보존하지만, 완전히 똑같게 만들지는 못할 수도 있습니다.
다음과 같은 사항이 달라질 수 있습니다.
-
오브젝트 순서: 언리얼 에디터에서는 아웃라이너(Outliner) 가 계층구조의 각 레벨에 있는 액터를 알파벳 순서로 정렬합니다. 액터는 Cinema 4D에서 대응하는 오브젝트와 순서가 다르게 나타날 수 있지만 계층구조 관계에는 영향을 미치지 않습니다.
-
오브젝트 이름: 데이터스미스가 생성하는 액터 이름에는 영숫자, 하이픈 및 언더스코어만 포함할 수 있습니다. Cinema 4D 오브젝트 이름에 허용된 것 이외의 문자가 포함된 경우, 데이터스미스가 해당 문자를 언더스코어로 자동 변환합니다.
-
프로시저럴 엘리먼트 베이킹: 임포트 프로세스 동안 데이터스미스는 Cinema 4D 씬의 프로시저럴 기능을 베이킹한 다음, 해당 이펙트를 리플리케이트하는 스태틱 액터 세트로 대체합니다. 이 작업은 언리얼 엔진에서의 최종 계층구조에 영향을 미칠 수 있습니다. 자세한 내용은 다음 섹션을 참고하세요.
데이터스미스가 Cinema 4D 프로시저럴 기능을 베이킹하는 방법
데이터스미스는 Cinema 4D 씬의 각 프로시저럴 오브젝트, 즉 제너레이터, 클로너 또는 배열 등을 원본 Cinema 4D 오브젝트와 동일한 이름을 가진 단일 부모 액터로 언리얼 엔진에 임포트합니다.
데이터스미스는 각 부모 액터 아래에 프로시저럴 지오메트리의 이펙트를 시뮬레이션하는 스태틱 메시 액터를 생성합니다. 이러한 스태틱 메시 액터는 부모와 액터와 이름이 동일하지만 숫자 접미사가 붙습니다.
Cinema 4D에서 프로시저럴 기능을 광범위하게 사용하는 경우, 데이터스미스가 씬을 언리얼 엔진으로 임포트할 때 복잡한 씬 계층구조가 생성될 수 있습니다. 하지만 언리얼 엔진에서 각 개별 액터에 별도의 인스턴스로 액세스할 수 있습니다.
레이어
Cinema 4D 씬을 임포트할 때 데이터스미스는 최소 하나의 오브젝트가 있는 명명된 모든 레이어를 임포트합니다. 빈 레이어, 즉 오브젝트가 없는 Cinema 4D 씬의 레이어는 임포트하지 않습니다. 데이터스미스는 언리얼 엔진에서 생성한 레벨 액터를 Cinema 4D 씬에서 대응하는 오브젝트가 할당된 동일한 레이어에 할당합니다.
임포트한 레이어를 보려면 '레이어(Layers)' 패널을 사용합니다(레이어 패널 참고).
Cinema 4D 머티리얼
데이터스미스는 Cinema 4D 씬에 있는 표준 머티리얼 및 피지컬 머티리얼마다 언리얼 엔진 프로젝트에 새 머티리얼 에셋을 생성합니다.
이 머티리얼 에셋의 목표는 Cinema 4D에서 표면 룩을 구성한 방식을 최대한 따르면서 언리얼 엔진의 물리 기반 렌더러를 최대한 활용할 수 있도록 부가 프로퍼티를 몇 가지 노출하는 것입니다.
머티리얼을 수정하려면 다음 단계를 따릅니다.
-
콘텐츠 브라우저 에서 더블클릭합니다. 또는 수정할 머티리얼을 사용하는 레벨의 액터를 선택한 다음 디테일(Details) 패널에서 머티리얼을 더블클릭합니다.
-
아래에 표시된 '머티리얼 인스턴스 에디터(Material Instance Editor)'를 열고 디테일 패널의 세팅을 사용하여 Cinema 4D에서 임포트한 프로퍼티를 수정할 수 있습니다. 언리얼 렌더러에 노출된 다른 내장 파라미터를 수정할 수도 있습니다.
'머티리얼 인스턴스 에디터'를 사용하는 방법에 대한 자세한 내용은 머티리얼 인스턴스 에디터 UI 페이지를 참고하세요.
머티리얼 채널로 작업하기
Cinema 4D에서 임포트한 머티리얼을 편집할 때는 임포트 프로세스에서 현재 데이터스미스가 처리 중인 다양한 Cinema 4D 채널이 디테일 패널의 상단에 나열됩니다. Cinema 4D에서의 머티리얼 작업에 익숙하다면 이 채널 및 세팅의 효과도 익숙할 것입니다.

상단 00 글로벌(00 Global) 섹션에서 채널이 활성화된 경우에는 디테일 패널 아래에 해당 채널과 관련한 세팅을 환경설정할 수 있는 섹션도 있습니다. 이 세팅은 Cinema 4D에서 해당 채널에 설정할 수 있는 가장 중요한 프로퍼티를 노출합니다.
예를 들어 위 이미지에서 활성화된 채널은 추가 섹션을 나타냅니다. 아래의 이미지에서 이러한 섹션, 즉 컬러(Color)(1), 리플렉턴스(Reflectance)(2), 스페큘러(Specular)(3), 노멀(Normal)(4)을 확인할 수 있습니다.

이 규칙의 유일한 예외는 ReflectionColor 채널입니다. Use_ReflectionColor 세팅이 활성화되어 있는 경우에는 새 ReflectionColor 와 ReflectionColor_Strength 세팅이 01_Color 그룹에 추가됩니다.

Reflectance 채널에서 설정한 값은 언리얼 엔진의 다양한 머티리얼 출력 채널영향을 미치는데, 여기에는 Roughness, Metallic 및 Specular 채널이 포함됩니다. 이러한 복잡한 관계로 인해 데이터스미스는 Cinema 4D의 리플렉턴스 채널에서 레이어 하나만 이동합니다.
텍스처 UV 제어하기
디테일 패널 하단에서는 머티리얼 내 모든 채널의 UV 매핑을 제어하는 세팅을 볼 수 있습니다. 이 세팅을 변경하면 머티리얼이 셰이딩하는 스태틱 메시의 지오메트리에 텍스처 맵을 적용하는 방식을 변경할 수 있습니다. 여기서 설정하는 값은 텍스처 맵을 사용하는 채널 모두 에 적용됩니다. 이 세팅은 Cinema 4D에서 텍스처 태그의 오프셋 및 타일링 세팅과 비슷한 효과를 냅니다.

세팅에 텍스처 맵을 제공하는 각 채널에는 자체 부가 UV 래핑 제어 기능도 갖춰져 있습니다. 예를 들어 04_Normal 채널은 노멀 맵 텍스처를 수용하므로 노멀 맵 텍스처에만 적용되는 부가 UV 제어 세트의 활성화 세팅도 제공합니다.

이 옵션을 활성화하면 새로운 UV 매핑 제어 세트도 채널 세팅에 추가됩니다.

UV 그룹의 일반 UV 세팅과 특정 채널에 대한 세팅을 둘 다 커스터마이징할 경우 그 효과는 함께 추가됩니다.
부모 머티리얼
데이터스미스가 생성하는 각 머티리얼 에셋은 머티리얼 인스턴스라고 합니다. 이 머티리얼 인스턴스의 부모는 항상 데이터스미스 플러그인에 내장된 C4DMaster 머티리얼입니다. 이 부모 머티리얼을 열어 보면 머티리얼 그래프에서 머티리얼 인스턴스에 노출된 각 프로퍼티가 연결된 방식을 확인할 수 있습니다. 또한 부모 머티리얼을 수정하여 다른 프로퍼티를 노출시키거나, 기존 프로퍼티가 셰이딩 계산 과정에서 고려되는 방식을 변경할 수도 있습니다. 자세한 내용은 데이터스미스 마스터 머티리얼 수정 페이지를 참고하세요.
머티리얼 임포트 제한 사항
Cinema 4D에서 언리얼 엔진으로 넘어가는 데이터스미스의 머티리얼 변환 프로세스에는 몇 가지 제한 사항이 있습니다. 이 프로세스에서는 노이즈, Cinema 4D R20에서 도입된 노드 기반 머티리얼 또는 서드 파티 렌더러와 같은 프로시저럴 텍스처를 지원하지 않습니다.
이러한 경우에 Cinema 4D에서 보이는 것과 최대한 비슷한 결과물을 언리얼 엔진에서 내고 싶다면 머티리얼을 비트맵 텍스처로 베이킹하고, 이렇게 베이킹된 비트맵을 오브젝트에 적용하는 새 머티리얼을 생성하는 것이 가장 좋습니다. 자세한 내용은 Cinema 4D 문서의 머티리얼 베이킹을 참고하세요.
애니메이션
키프레임 애니메이션, MoGraph 또는 Dynamics를 포함하여 경과 시간에 따라 애니메이팅되는 3D 트랜스폼이 Cinema 4D 씬에 포함되어 있는 경우 데이터스미스는 이러한 애니메이팅된 트랜스폼을 새 레벨 시퀀스 에셋(Level Sequence Asset)에 자동으로 임포트합니다. 시퀀서 툴을 사용하여 언리얼 에디터에서 애니메이션을 재생하고, 블루프린트를 사용하여 런타임에서 인터랙티브 재생을 관리할 수 있습니다.
데이터스미스가 생성한 레벨 시퀀스 작업 방식과 관련된 중요한 내용은 임포트 프로세스에 대하여 페이지의 애니메이션 섹션을 참고하세요.
사용자 데이터
Cinema 4D에서 씬의 오브젝트에 사용자 데이터를 추가하려면 Attributes 패널에서 User Data > Manage User Data 를 선택하면 됩니다. Cinema 4D에서 사용자 데이터를 추가하는 방법에 대한 자세한 내용은 Cinema 4D 문서를 참고하세요.

데이터스미스는 Cinema 4D 오브젝트에서 사용자 데이터를 임포트하여 해당하는 레벨 액터에 데이터스미스 메타데이터로 저장합니다. 이 메타데이터는 언리얼 에디터에서 블루프린트나 Python으로 액세스할 수 있으며, 언리얼 엔진의 런타임에서는 블루프린트를 사용하여 액세스할 수 있습니다. 자세한 내용은 블루프린트 및 Python에서 메타데이터 액세스하기를 참고하세요.
데이터 변환에 적용되는 중요한 사항이 아래와 같이 몇 가지가 있습니다.
-
Cinema 4D 에서, User Data 를 계층 그룹으로 체계를 구성할 수 있지만, 언리얼 엔진의 데이터스미스 메타데이터는 항상 키와 값을 평평한 목록으로 저장합니다. 사용자 데이터에 그룹이 포함되어 있는 경우 데이터스미스에서 다음과 같은 작업을 수행합니다.
- 계층구조를 평탄화합니다.
- 모든 그룹의 모든 메타데이터 키를 하나의 일반 목록에 넣습니다.
- 그룹 이름을 버립니다.
-
Cinema 4D 에서 User Data 에 설정한 데이터 타입과 상관없이, 데이터스미스 메타데이터에 저장되는 값은 항상 스트링입니다. 가능한 한 데이터스미스는 원본 데이터 값을 스트링으로 변환해서 파싱을 통해 관련 정보를 추출할 수 있도록 하고 있습니다. 하지만 그레이디언트, 다른 씬 오브젝트로의 링크, 우선순위 값, 스플라인 등의 일부 Cinema 4D 데이터 타입은 지원하지 않습니다.
-
메타데이터 키 이름에는 영숫자, 하이픈, 언더스코어만 허용됩니다. Cinema 4D의 사용자 데이터 이름에 허용된 것 이외의 문자가 포함된 경우 데이터스미스가 해당 문자를 언더스코어로 자동 변환합니다.