지난 포스트에서는 레퍼런스를 바탕으로 다락 작업실의 블록아웃과 카메라 구도를 잡고, 벽과 가구, 그림 같은 에셋을 배치해 공간의 기본 구조를 만들었다.
이후 Nanite 적용 상태를 확인하고 Decal을 활용해 바닥과 벽면에 사용감까지 더했다.
이번에는 이전 단계에서 만든 다락 작업실 씬에 전선을 추가했다.
전선이 지나갈 위치를 기준으로 C4D에서 경로와 형태를 제작한 뒤, 언리얼 엔진으로 다시 가져와 머티리얼을 적용했다.
이후 Volumetric Fog와 Light Function으로 야간 실내의 빛줄기를 만들고, Spot Light와 Light Channel로 화면에서 강조할 요소를 정리했다.
마지막에는 Sequencer에서 카메라 이동과 컷 전환을 구성해, 정적인 씬을 영상으로 연결하는 과정까지 진행했다.
전선은 작은 소품처럼 보이지만, 기둥과 조명 사이를 연결하는 흐름을 만들고 화면에 깊이를 더하는 역할을 했다.
이전 포스트에서 공간의 큰 틀을 만들었다면, 이번 작업은 그 공간에 빛과 움직임을 더해 장면의 분위기를 구체화하는 단계에 가까웠다.
C4D에서 전선 제작하기
C4D에서 전선 제작을 위한 위치 가이드 내보내기
언리얼 엔진에서도 위치와 거리를 확인할 수는 있지만, 기둥을 돌아 전등으로 이어지는 입체적인 전선 경로를 C4D에서 잡으려면 기준이 될 오브젝트를 함께 가져가는 편이 편리하다.
이번 작업에서는 전선의 시작점, 전선이 지나갈 기둥, 전등 위치를 먼저 정한 뒤, 해당 위치 정보를 C4D로 가져가 전선 경로를 만드는 방식을 사용했다.
우선 전선이 시작될 위치에 임시 액터를 배치해 시작점을 표시했다.
이 액터는 최종 씬에 남길 오브젝트가 아니라, C4D에서도 전선의 시작 위치를 동일하게 확인하기 위한 기준점으로 사용했다.


그다음 전선 시작점 액터, 기둥, 전등을 함께 선택한 뒤 Outliner에서 우클릭해 Level - Create Level Instance로 Level Instance를 만들었다.


이번 작업에서는 전선 시작점, 기둥, 전등을 하나의 가이드 세트로 묶어 FBX로 내보내기 위해 Level Instance를 사용했다.
Level Instance는 여러 액터를 하나의 레벨 에셋으로 관리할 수 있어, 관련 오브젝트를 함께 정리하거나 다른 작업 환경으로 전달할 때도 활용할 수 있다.
생성된 Level 에셋은 Content Browser에서 우클릭한 뒤 Asset Actions - Export를 선택해 FBX 파일로 내보냈다.

이번 FBX는 최종 메시를 제작하기 위한 가이드 용도이므로, Export Options에서 다음 항목은 해제했다.
- Level of Detail
- Collision

이번 FBX는 전선의 경로와 배치 위치를 확인하기 위한 가이드 용도이므로, Level of Detail과 Collision은 해제한 상태로 내보냈다.
전선 경로 잡기: Spline Pen
언리얼에서 내보낸 FBX를 C4D로 불러온 뒤에는 전선이 지나갈 위치를 기준으로 전체 흐름을 잡았다.
C4D와 언리얼 엔진은 사용하는 축 체계와 FBX 변환 설정이 다르기 때문에, 가져온 가이드 오브젝트가 예상과 다른 방향으로 보일 수 있다.
이때는 특정 회전값을 외우기보다 기둥과 전등처럼 기준이 되는 오브젝트의 실제 방향을 보고 회전값을 조절하는 편이 안전하다.


먼저 Right 뷰에서 Spline Pen을 사용해 전선이 지나갈 높이와 전체적인 흐름을 잡았다.
이 단계에서는 시작점, 기둥 주변의 경유 지점, 전등으로 이어지는 끝점을 중심으로 큰 형태만 먼저 정리했다.

Right 뷰에서는 전선과 기둥이 겹쳐 보였지만, Perspective 뷰에서 확인하니 기둥이 대각선 방향으로 놓여 있어 스플라인이 기둥을 비껴가고 있었다.
Right 뷰는 높이와 좌우 흐름을 잡기에는 편리하지만, 깊이 방향까지 정확히 판단하기는 어렵다.

이후 스플라인 포인트를 이동해 전선 경로가 기둥 주변을 자연스럽게 돌아 전등으로 이어지도록 조정했다.

이 단계에서 만든 것은 전선의 최종 메시가 아니라, 전선이 지나갈 위치를 정의한 스플라인 경로다.
이후에는 이 스플라인을 바탕으로 전선의 두께와 형태를 만들고, 완성한 에셋을 언리얼 엔진으로 다시 가져와 씬에 배치할 예정이다.
전선 형태 만들기: Sweep
앞 단계에서 만든 Spline은 전선이 지나갈 경로를 정의한 상태다.
이제 이 경로에 두께를 더해 실제 전선 형태로 만들면 된다.
먼저 전선의 단면이 될 Circle Spline과 앞에서 만든 경로 Spline을 Sweep 오브젝트의 자식으로 넣었다.


Sweep은 단면 Spline을 경로 Spline을 따라 이동시키며 메시를 생성하기 때문에, 전선의 굵기는 Circle의 크기로, 전체 흐름은 경로 Spline으로 조절할 수 있다.
전선이 길게 휘거나 꼬인 구간에서는 Sweep 자체보다 경로 Spline의 Intermediate Points 설정이 결과에 더 큰 영향을 준다.
이번 작업에서는 Interpolation을 Natural 또는 Uniform으로 설정해 곡선이 자연스럽게 이어지도록 했다.
특히 전선이 많이 꺾이거나 꼬이는 부분에서 형태가 각져 보인다면 Point 수를 늘려야 한다.
이번에는 값을 20 정도로 높여 곡선이 부드럽게 유지되도록 조절했다.

Natural은 곡률 변화에 맞춰 포인트를 배치하기 좋고, Uniform은 전체 길이에 비교적 고르게 포인트를 배치할 때 편리하다.
어느 방식이 항상 더 좋다고 보기보다는, 카메라에서 전선 실루엣이 자연스럽게 보이는 쪽을 선택하는 편이 좋았다.
전선은 작은 소품이지만 화면 앞쪽을 가로지르거나 구조물을 따라 흐르게 배치하면 공간의 깊이를 만드는 데 도움이 된다.
특히 이번 씬처럼 목재 구조물이 많은 공간에서는 전선의 곡선이 직선적인 구조물 사이에 변화를 더해 주었다.
전선 메시 정리
전선 형태를 만든 뒤에는 가이드로 가져왔던 기둥, 전등, 시작점 액터 등 불필요한 오브젝트를 제거하고 전선만 남겼다.

이후 Connect Objects를 사용해 전선을 하나의 객체로 정리했다.


언리얼 엔진으로 내보낼 때 메시가 여러 조각으로 나뉘어 있으면 머티리얼 적용과 배치 과정이 복잡해질 수 있기 때문에, 이번처럼 하나의 전선으로 사용할 에셋은 미리 정리해 두는 편이 편했다.
전선 UV 펼치기: Automatic UV
전선에 스크래치와 Roughness 텍스처를 적용하기 위해 UV Edit로 이동했다.
Automatic UV에서 Packed, Cubic, Angle 방식 중 결과가 가장 자연스러운 방식을 선택했다.
이번 전선은 Packed 방식에서 UV Island가 비교적 안정적으로 정리되어 해당 방식을 사용했다.


전선은 길고 얇은 구조라 UV가 길게 펼쳐지는 형태가 된다.
이번에는 검은색 Base Color와 반복되는 Roughness 텍스처를 적용할 예정이었기 때문에, 캐릭터 페인팅용 UV처럼 복잡하게 배치하기보다는 텍스처가 심하게 늘어나지 않는지에 초점을 맞췄다.
Island 간격 정리하기: UV Packing
Automatic UV 이후에는 UV Packing 탭으로 이동해 Island 위치를 정리했다.


UV Island 사이의 여백을 주기 위해 Spacing 값을 50%로 설정했다.
여백이 있으면 Island 경계에서 텍스처가 섞이거나 번지는 현상을 줄이는 데 도움이 될 수 있다.
다만 Spacing 값을 크게 줄수록 UV 공간을 덜 효율적으로 사용하게 된다.
이번처럼 반복 텍스처만 적용하는 전선은 비교적 넉넉한 여백을 사용해도 괜찮지만, 나중에 고해상도 베이크 텍스처를 사용할 경우에는 필요한 만큼만 간격을 두는 편이 좋다.
FBX로 내보내 언리얼 엔진에 배치하기
UV 작업을 마친 전선은 FBX로 저장한 뒤 언리얼 엔진으로 다시 가져왔다.


전선을 레벨에 배치한 뒤, 기존에 Level Instance로 묶어 두었던 구조물과 전등을 다시 개별 액터로 분리했다.

Outliner에서 Level Instance로 묶였던 오브젝트를 선택한 뒤 우클릭하고 Level - Break - Break Level Instance를 눌러서, 각각 별개의 액터로 분리해 줬다.



이후 시작점을 표시하는 액터를 지워줬다.
C4D에서 경로를 먼저 잡아 두었기 때문에 언리얼 엔진에서는 전선을 완전히 새로 배치하기보다, 씬의 구조물과 자연스럽게 연결되는지 확인하는 데 집중할 수 있었다.
언리얼 엔진에서 전선 머티리얼 만들기
전선에는 완전히 균일한 검은색보다 약간의 스크래치와 반사 변화가 있는 재질이 더 자연스럽게 보인다.
새 Material을 만들고 전선에 적용할 기본 머티리얼을 제작하고, 임시로 지정해 줬다.


Roughness 텍스처로 스크래치 표현하기
먼저 Base Color는 거의 검은색에 가까운 값으로 설정했다.
이번에는 약 0.03 정도의 어두운 값을 사용했다.

0으로 완전히 고정된 검은색을 사용하면 조명이 약한 장면에서 전선의 형태가 거의 보이지 않을 수 있다.
0.03은 절대적인 정답이라기보다, 어두운 재질의 실루엣과 반사광을 확인하기 위한 시작값으로 사용했다.
전선의 스크래치는 색 텍스처가 아니라 Roughness 텍스처로 표현했다.


스크래치 텍스처를 Roughness에 연결하면 전선 표면에 색이 칠해지는 것이 아니라, 빛을 받는 부분의 반사 차이로 마모된 느낌이 나타난다.

전선 길이에 맞춰 텍스처 타일링하기
전선은 길이가 길기 때문에 텍스처를 한 번만 적용하면 스크래치가 지나치게 크게 보일 수 있다.
그래서 Texture Coordinate에 타일과 오프셋 값을 추가했다.

이렇게 구성하면 전선 길이에 맞춰 텍스처 반복 횟수와 시작 위치를 따로 조절할 수 있다.
머티리얼을 만든 뒤에는 Material Instance를 생성해 전선에 적용했다.

Material Instance에서는 U Tile, V Tile 값을 조절하면서 스크래치의 크기와 반복 간격을 확인했다.

텍스처가 너무 자주 반복되면 인공적인 패턴처럼 보일 수 있으므로, 카메라 거리에서 스크래치가 과하게 눈에 띄지 않는 수준으로 조절하는 편이 좋다.

야간 빛줄기 만들기: Volumetric Fog
전선과 소품 배치가 끝난 뒤에는 야간 실내 분위기를 만들기 위해 Volumetric Fog를 적용했다.
먼저 Exponential Height Fog를 추가하고 Volumetric Fog를 활성화했다.

Volumetric Fog는 공기 중의 안개나 먼지처럼 빛을 산란시키는 매질을 계산해 빛줄기를 보이게 만든다.
따라서 Directional Light만 비추는 것보다, 빛을 가리는 구조물과 Volumetric Fog가 함께 있을 때 훨씬 뚜렷한 빛줄기를 만들 수 있다.
노출 고정하기: Post Process Volume
야간 씬에서는 Auto Exposure가 켜져 있으면 화면이 어두운 곳과 밝은 곳에 따라 계속 보정된다.
이 상태에서는 조명 Intensity를 조절해도 실제로 밝기가 바뀐 것인지, 자동 노출이 반응한 것인지 판단하기 어려워진다.
그래서 Post Process Volume을 추가한 뒤 Infinite Extent(Unbound)를 활성화했다.

이후 Lens 항목에서 Min EV100과 Max EV100을 둘 다 1로 맞춰 Auto Exposure를 고정했다.

Min EV100과 Max EV100이 동일하면 자동 노출이 비활성화된다.
노출을 고정한 뒤에는 Post Process Volume의 Exposure Compensation과 Directional Light의 Intensity를 조절하면서 씬의 밝기를 정리했다.
야간 실내 씬에서는 절대적인 숫자보다, 어두운 영역의 형태가 유지되는지와 강조하고 싶은 물체가 충분히 보이는지를 기준으로 판단하는 편이 좋았다.
Directional Light로 차가운 기본광 만들기
밤 분위기를 만들기 위해 Directional Light는 푸른 계열로 조정하고, 밝기가 과하게 올라가지 않도록 Intensity를 낮게 유지했다.

이때 함께 확인한 항목은 Indirect Lighting Intensity와 Volumetric Scattering Intensity다.
- Indirect Lighting Intensity: 해당 조명이 간접광에 기여하는 정도를 조절
- Volumetric Scattering Intensity: 해당 조명이 Volumetric Fog에 얼마나 강하게 기여할지를 조절
Volumetric Scattering Intensity를 높이면 광원 자체를 과도하게 밝히지 않아도 안개 속 빛줄기를 강조할 수 있다.

Fog Density만 계속 높이면 씬 전체가 뿌옇게 보일 수 있다.
그래서 전체 Fog Density는 과하지 않게 유지하고, 필요한 경우 Directional Light의 Volumetric Scattering Intensity를 조절하는 방식으로 빛줄기를 강화했다.


Volumetric Fog 품질 높이기
빛줄기가 거칠거나 계단처럼 보일 때는 콘솔 명령어로 Volumetric Fog의 해상도를 조절할 수 있다.
GridPixelSize는 화면 기준 볼류메트릭 격자의 크기에 영향을 준다.
값을 낮출수록 빛줄기와 안개의 디테일은 좋아질 수 있지만 GPU 비용도 증가한다.
GridSizeZ는 카메라 깊이 방향으로 계산되는 볼륨 슬라이스 수를 조절한다.
값을 높이면 깊이 방향의 품질이 좋아질 수 있지만, 역시 렌더링 비용이 커진다.
이번에는 GridPixelSize를 4, GridSizeZ를 256으로 설정해 빛줄기의 품질을 높였다.
r.VolumetricFog.GridPixelSize 4
r.VolumetricFog.GridSizeZ 256


다만 1이나 512처럼 값을 무조건 높게 설정하는 것이 항상 좋은 것은 아니다.
최종 렌더 카메라에서 실제 차이가 보이는지 확인하고, GPU 부하가 과하지 않은 범위에서 조절하는 편이 좋다.
움직이는 빛 만들기: Light Function & Panner
빛줄기가 완전히 고정되어 있으면 정적인 배경처럼 보일 수 있다.
그래서 노이즈 텍스처를 이용해 빛이 아주 천천히 흔들리는 효과를 추가했다.
새 Material을 만든 뒤 Material Domain을 Light Function으로 변경했다.


Light Function 머티리얼에서는 노이즈 텍스처를 Emissive Color에 연결했다.


이후 Texture Sample 앞에 Panner 노드를 추가하고, Panner의 Speed 값을 조절했다.

Panner 속도를 낮게 설정하면 변화가 크게 느껴지지는 않지만, 시간이 지나면서 빛이 조금씩 이동하는 느낌을 만들 수 있다.
완성한 Material은 Directional Light의 Light Function Material 슬롯에 지정했다.

Light Function은 Material Domain을 Light Function으로 설정하고, Emissive Color에 결과를 연결해 만든 뒤 라이트의 Light Function Material 슬롯에 적용하는 방식으로 사용한다.

Light Function은 Mobility가 Movable 또는 Stationary인 Light에만 적용할 수 있다.
또한 동적 그림자를 사용하는 조명과 비슷한 추가 렌더링 비용이 발생할 수 있으므로, 화면에서 변화가 잘 보이는 핵심 광원에만 사용하는 편이 좋다.
Spot Light & Light Channel로 시선 유도
차가운 Directional Light만으로는 실내의 중심이 약하게 느껴질 수 있어, 램프와 그림 주변에는 따뜻한 색의 Spot Light를 추가했다.
Spot Light는 Mobility를 Movable로 설정하고, Intensity Units를 Lumen으로 설정하고 Light Color를 따뜻한 색으로 설정해 줬다.


Spot Light에서 주로 조절한 항목은 다음과 같다.
- Outer Cone Angle: 빛이 퍼지는 범위
- Intensity: 광원의 밝기
- Indirect Lighting Intensity: 주변 간접광 기여도
- Volumetric Scattering Intensity: 안개 속 빛줄기 기여도
- Source Radius: 그림자 가장자리의 부드러운 정도

Spot Light는 내부 Cone에서는 밝게 유지되고, Outer Cone까지 갈수록 부드럽게 감쇠된다.
Source Radius는 Point Light와 Spot Light에서 그림자의 반그림자 크기에 영향을 준다.
다만 Source Radius는 주로 표면에 드리워지는 그림자의 부드러움에 영향을 준다.
Volumetric Fog 안에서 보이는 빛줄기 경계는 Fog Density, Volumetric Scattering Intensity, Cone Angle, 그림자 구조를 함께 조절하는 편이 안정적이다.

램프 에셋의 발광 제거
Fab에서 가져온 램프 에셋은 머티리얼에 Emissive가 적용되어 자체적으로 빛나는 상태였다.

실제 Spot Light를 따로 배치한 상태에서 에셋의 Emissive까지 강하면 램프가 과하게 밝아 보일 수 있다.
그래서 지정된 Material Instance에서 Emissive Factor와 Emissive Strength의 Override를 해제해 부모 Material의 기본값을 사용하도록 했다.


체크를 해제하는 것은 발광 기능을 끄는 동작이 아니라 부모값으로 되돌리는 방식이므로, 부모 Material도 발광하는 상태라면 Override를 활성화한 뒤 Emissive Strength를 0으로 설정해야 한다.
특정 오브젝트만 비추기: Light Channel
Spot Light가 모든 오브젝트에 영향을 주면 원하지 않는 곳까지 밝아질 수 있다.
이번에는 Light Channel을 이용해 조명이 필요한 그림과 소품만 강조했다.
Spot Light에서는 Lighting Channels의 Channel 0을 끄고 Channel 1을 활성화했다.

이후 Spot Light의 빛을 받고 싶은 액터들을 각각 선택한 뒤, 해당 액터의 Light Channels에서도 Channel 1을 활성화했다.

Light Channel은 같은 채널을 공유하는 라이트와 오브젝트 사이에서 직접광 영향을 분리하는 방식이다.
Stationary 또는 Movable Light에서 사용할 수 있으며, 불투명 머티리얼의 직접광에 주로 적용된다.
따라서 간접광과 모든 반사 효과까지 완전히 분리하는 기능은 아니다.
이 기능을 사용하면 실제 공간의 물리적인 조명 구조와는 다르더라도, 영상에서 중요한 소품이나 배경 요소를 더 분명하게 보여줄 수 있다.

조명 겹침 확인: Light Complexity
조명을 추가한 뒤에는 View Mode에서 Light Complexity를 확인했다.

붉은색이나 밝은 영역이 넓게 나타난다면 여러 조명이 겹쳐 해당 구간의 셰이딩 비용이 높아질 수 있다.
붉은 영역이 보인다고 반드시 잘못된 것은 아니지만, 카메라에 잘 보이지 않는 구역까지 조명이 많이 겹치고 있다면, Spot Light 범위나 Attenuation Radius를 줄여 정리할 필요가 있다.

차가운 외부광과 따뜻한 Spot Light를 함께 사용하니, 전선과 목재 구조물은 배경으로 남기면서도 램프와 그림이 화면의 중심으로 자연스럽게 읽히기 시작했다.

카메라 이동 & 컷 구성: Sequencer
라이팅까지 정리한 뒤에는 Level Sequence를 생성해 카메라 움직임과 컷 전환을 만들었다.
먼저 이동할 Camera Actor의 위치 잠금을 해제하고, Level Sequence에 기존 Cine Camera Actor를 추가했다.

카메라를 원하는 위치로 이동한 뒤 Transform Track에 키프레임을 추가했다.
이후 다른 프레임으로 이동해 카메라 위치를 다시 조절하고 키를 추가하면서 카메라 이동 경로를 만들었다.

카메라가 일정한 속도로 이동해야 하는 구간에서는 키프레임을 선택한 뒤 숫자 4를 눌러 Linear 보간으로 변경했다.

Linear 보간은 키 사이를 일정한 속도로 이동하게 만들기 때문에, 시작과 끝에서 천천히 가속하거나 감속하는 느낌이 줄어든다.
하나의 시퀀스 안에서 두 개의 샷을 구성하기 위해 두 번째 Cine Camera Actor를 레벨에 추가했다.


Level Sequence에 새로 생성한 Cine Camera Actor를 추가한 뒤, 카메라 위치를 이동시키며 키 프레임을 추가해 줬다.


그리고 두 컷을 연결할 프레임에 Indicator를 두고, Camera Cut Track의 + 버튼을 눌러 새로 생성한 Cine Camera Actor를 선택했다.

Camera Cut Track은 Sequencer 재생 중 어떤 카메라를 사용할지 결정하는 트랙이다.
카메라를 여러 개 배치한 뒤 원하는 프레임에 Camera Cut을 추가하면 장면 전환을 만들 수 있다.
카메라 이동과 컷 구성이 끝난 뒤에는 Render(Local)로 렌더링 하고, 이후 After Effects에서 색보정과 후처리를 진행했다.



이번 작업에서는 C4D에서 전선 경로를 만들고 Sweep으로 형태를 제작한 뒤, UV를 정리해 언리얼 엔진으로 다시 가져왔다.
이후 Roughness 텍스처와 Material Instance를 활용해 전선의 표면 변화를 더하고, 씬 안에서 자연스럽게 연결되도록 배치했다.
라이팅에서는 Volumetric Fog로 빛줄기를 만들고, Light Function과 Panner로 빛이 미세하게 흔들리는 느낌을 추가했다.
여기에 Spot Light와 Light Channel을 함께 사용해, 전체 공간을 과하게 밝히지 않으면서도 그림과 램프처럼 시선을 모으고 싶은 요소를 강조할 수 있었다.
이전 포스트에서 블록아웃과 에셋 배치로 공간의 구조를 정리했다면, 이번에는 전선, 재질, 빛, 카메라 움직임을 통해 그 공간이 실제로 사용되고 있는 장면처럼 보이도록 다듬었다.
특히 야간 실내 씬에서는 조명을 많이 추가하는 것보다, 먼저 노출을 고정하고 차가운 기본광과 따뜻한 포인트광의 역할을 나누는 방식이 더 안정적이었다.
씬을 구성할 때는 오브젝트 하나를 더하는 것보다, 그 오브젝트와 빛이 카메라 안에서 어떤 흐름을 만드는지 함께 확인하는 과정이 중요하다는 점을 다시 느낄 수 있었다.
'3D Video Production > Unreal Engine (5.6.1)' 카테고리의 다른 글
| UE 5.6 버스 정류장 씬 제작: 네온 간판 & 물웅덩이 머티리얼 만들기 (0) | 2026.07.09 |
|---|---|
| UE 5.6 텍스처 작업: glTF·FBX 임포트 및 ORM 채널 패킹 (0) | 2026.07.07 |
| UE 5.6 다락 작업실 씬 제작: 블록아웃부터 Nanite, Decal 적용까지 (0) | 2026.07.03 |
| UE 5.6에서 C4D 애니메이션 불러오기: Cineware, Alembic, FBX (0) | 2026.07.02 |
| UE 5.6 Material UV 타일링 (0) | 2026.07.01 |