3D Video Production/Unreal Engine (5.6.1)

UE 5.6 Foliage & Motion Design

보별 2026. 9. 3. 19:37
반응형

이번 포스트에서는 언리얼 엔진 5.6에서 자연환경을 구성하는 Foliage와 Landscape Grass, 반복 오브젝트를 애니메이션하는 Motion Design 기능을 함께 정리했다.

Foliage는 나무와 풀을 빠르게 배치할 수 있어 편리하지만, 인스턴스 수와 바람, 그림자, 머티리얼 비용이 한꺼번에 쌓이기 때문에 무작정 많이 심는 방식은 피해야 한다.

Motion Design에서는 Cloner와 Effector를 이용해 오브젝트를 배열하고 움직였으며, Mesh Cloner를 Arch에 적용해 꽃이 자라나거나 흩날리는 애니메이션도 만들어봤다.

 

Foliage Mode로 자연환경 구성하기

나무의 바람 표현과 성능

카메라 가까이에 있는 나무는 Pivot Painter를 사용하면 줄기, 가지, 잎의 계층에 맞춰 움직임을 표현할 수 있어 바람이 불 때 비교적 자연스럽게 보인다.
반대로 멀리 있거나 자세히 볼 필요가 없는 나무는 Simple Wind처럼 단순한 방식을 사용하는 편이 효율적이다.

좌측: Pivot Painter / 우측: Simple Wind

다만 가까운 나무는 무조건 Pivot Painter, 먼 나무는 무조건 Simple Wind를 사용해야 하는 것은 아니다.
최종 카메라 거리와 목표 플랫폼을 기준으로 실제 비용을 확인한 뒤 결정하는 것이 좋다.

일부 Megascans 식생 Material Instance에는 Wind - Advanced Wind 옵션이 있다.
이것은 언리얼 엔진의 모든 머티리얼에 공통으로 들어 있는 기능이 아니라, 해당 부모 Material에서 제공하는 고급 Wind 분기를 활성화하는 옵션이다.
더 세밀한 바람 계산과 추가 제어를 사용할 수 있지만 계산량도 늘 수 있으므로 활성화 전후를 비교해야 한다.

바람의 진폭과 속도가 지나치면 큰 나무가 고무처럼 휘어 부자연스럽게 보일 수 있다.
기능을 추가하기 전에 나무 크기와 장면의 풍속에 맞춰 흔들림의 강도를 낮춰보는 것이 좋다.

나무가 무거운 이유는 Polygon 수 하나만으로 설명되지 않는다.
Nanite가 Geometry 처리를 줄여주더라도 많은 인스턴스, 잎 카드의 Masked Material Overdraw, World Position Offset 기반의 바람, 그림자, 화면을 차지하는 Pixel 수는 여전히 비용으로 남는다.

따라서 큰 나무만 많이 배치하기보다 큰 나무와 작은 나무, 덤불, 풀을 섞어 적은 수로도 풍성한 층을 만드는 것이 좋다.
같은 종류의 나무만 반복했을 때보다 크기와 높이가 다른 식생을 섞었을 때 훨씬 자연스러운 실루엣이 만들어졌다.

Foliage 추가와 Paint 설정

Foliage Type은 반복 배치할 Static Mesh와 Density, Scale, Cull Distance 같은 설정을 보관하는 Asset이다.
반면 Static Mesh Actor를 Level에 직접 꺼내는 방식은 개별 수동 배치에 해당한다.

넓은 배경은 Foliage Brush로 빠르게 채울 수 있지만, 카메라 가까이에 보이는 식생은 구도와 실루엣을 세밀하게 조절해야 하므로 직접 배치하는 편이 좋다.
Brush를 사용할 때도 한 번에 넓게 칠하기보다 화면을 확인하면서 찍듯이 배치하고, 밀집된 곳과 비어 있는 곳을 함께 만들어야 자연스럽게 보인다.

Foliage Mode - Paint의 Palette에 Static Mesh나 Foliage Type을 추가한 뒤, 실제로 사용할 항목의 체크박스를 켜야 Brush의 대상이 된다.

  • Density: Brush로 배치되는 Foliage의 밀도
  • Scale X Min·Max: 지정한 범위 안에서 인스턴스 크기를 무작위로 생성
  • Filter - Landscape: Landscape 표면에 배치
  • Filter - Static Mesh: Static Mesh 표면에 배치
  • Filter - BSP: 과거의 Brush 기반 Geometry 표면에 배치
  • Filter - Foliage: 기존 Foliage 표면에도 새 Foliage를 배치

나무를 칠하는 동안 Filter의 Foliage가 켜져 있으면 이미 심은 나무 위에 또 다른 나무가 생성될 수 있다.
Landscape에만 배치하려면 Landscape만 켜고 나머지 Filter를 끄는 편이 안전하다.

Paint, Erase, Select와 나머지 도구

  • Paint: Brush 영역에 선택한 Foliage를 배치
  • Erase: Brush 영역의 선택된 Foliage를 제거
  • Select: 인스턴스를 하나씩 선택해 이동하거나 삭제
  • Lasso: Brush가 지나간 영역의 인스턴스를 범위 선택
  • Deselect: 선택한 인스턴스의 선택을 해제
  • Single: 선택한 Foliage를 한 번에 하나씩 배치
  • Fill: 선택한 Static Mesh Actor의 표면 전체를 Foliage로 채움
  • Reapply: 변경한 Foliage Type 설정을 이미 배치된 인스턴스에 다시 적용

Select
Lasso
Single

Erase Density는 지우는 비율이 아니라 Erase 후 남길 목표 밀도다.
0이면 모두 제거되고, 0.5면 약 절반이 남으며, 1이면 100%를 남기는 값이므로 거의 지워지지 않는다.

경사면 배치: Align to Normal

Align to Normal을 활성화하면 식생이 지면의 Normal 방향에 맞춰 기울어진다.

이를 끄면 나무의 위쪽 축을 유지해 경사면에서도 수직으로 세울 수 있다.

하지만 Align to Normal과 배치 가능한 경사각은 서로 다른 설정이다.
Ground Slope AngleMax가 낮으면 Align to Normal을 꺼도 가파른 면에는 배치되지 않는다.
경사면에 수직으로 심고 싶다면 Align to Normal을 끈 뒤 Ground Slope Angle의 최대값을 필요한 범위까지 높여준다.

90도까지 허용할 수는 있지만 절벽이나 벽에도 나무가 생성될 수 있으므로, 실제 지형에서는 필요한 경사만 포함하도록 값을 조절하는 것이 자연스럽다.

Cull Distance의 Min & Max

Cull Distance카메라와 멀어진 Foliage를 화면에서 제거해 렌더링 비용을 줄이는 설정이다.

  • Min 또는 Start: 거리 Fade가 시작되는 지점
  • Max 또는 End: 인스턴스 Cluster가 완전히 제거되는 지점
  • Min 0, Max 0: 해당 Foliage Type의 거리 컬링을 사용하지 않음
  • Min 0, Max 양수: Max 거리에서 제거되며 Material Fade가 없으면 갑작스러운 Pop이 보일 수 있음
  • Min보다 Max가 큰 경우: 비나나이트 Foliage Material에 PerInstanceFadeAmount를 연결하면 두 거리 사이를 점진적으로 Fade 가능

값의 단위는 Unreal Unit이며 기본적으로 1uu는 1cm다.
예를 들어 10,000은 약 100m에 해당한다.

Nanite가 활성화된 Mesh는 Foliage Cull Distance와 Instance Fade의 영향을 받지 않는다.

Nanite 식생이 멀리서 듬성듬성해 보인다면 먼저 Preserve Area와 Nanite 단순화 결과를 확인하고, 실제 제거 거리는 배치 방식과 별도의 가시성 설계로 관리한다.

풀의 LOD, Nanite & Preserve Area

풀 Foliage만 선택한 뒤 Density를 높여 Paint하면 지면을 빽빽하게 채울 수 있다.

Density 설정 화면과 결과

가까이에서 볼 때와 멀리서 볼 때 풀의 형태가 달라지는 주요 원인 중 하나는 화면 크기에 따른 Static Mesh LOD 전환이다.
다만 실제 화면에서는 Cull Distance, Material의 Mip, 그림자 거리 설정도 함께 영향을 줄 수 있다.

근거리와 원거리 비교

일반 Static Mesh는 LOD0, LOD1, LOD2처럼 단계별 Mesh로 바뀐다.

Nanite는 화면 크기에 맞춰 Geometry를 연속적으로 단순화해서 전통적인 LOD 전환보다 변화가 덜 눈에 띌 수 있다.

다만 잎이나 Grass Blade처럼 얇고 서로 떨어진 Geometry는 멀어질수록 일부가 사라져 숱이 줄어든 것처럼 보일 수 있다.
Nanite의 Preserve Area를 활성화하면 열린 경계에서 사라진 면적을 남은 Triangle에 재분배해 이러한 손실을 줄일 수 있다.

가까운 거리에서 보이던 풀의 그림자는 카메라가 멀어지면 사라질 수 있다.
이는 Mesh의 LOD만으로 발생하는 현상은 아니며, Light의 Shadow Distance와 Foliage Type의 Shadow 설정, Virtual Shadow Map 및 Scalability 설정도 함께 영향을 줄 수 있다.

Opacity Mask Clip Value

풀 Material Instance의 Material Property Overrides - Opacity Mask Clip Value는 거리 Cull 값이 아니라 Masked Material에서 Pixel을 남길지 버릴지를 정하는 임계값이다.

  • 1에 가까운 값: 높은 Alpha만 남아 풀이 크게 줄거나 거의 사라짐
  • 0에 가까운 값: 낮은 Alpha까지 남아 풀의 실루엣이 두꺼워짐
  • 0.1 정도의 값: 이번 에셋에서는 먼 거리의 Grass가 비교적 오래 유지됨

Opacity Mask Clip Value = 0.3333 (Default)
Opacity Mask Clip Value = 1
Opacity Mask Clip Value = 0.1

0.1은 모든 식생에 공통으로 적용되는 정답은 아니다.
값을 지나치게 낮추면 투명해야 할 카드 영역이 남거나 Overdraw가 늘 수 있으므로, 원본 Mask와 실루엣을 함께 확인해야 한다.

풀의 Base Color 보정

풀의 색상이 지나치게 옅거나 주변 Landscape와 어울리지 않을 때는 풀 Foliage에 적용된 Material Instance에서 색상을 보정할 수 있다.

이번에 사용한 Material Instance에서는 01 - Base Color 항목의 Tint Base Color를 활성화한 뒤, Base Color Tint에서 원하는 색상을 지정했다.
Tint Strength를 조절하면 지정한 색상이 반영되는 강도도 변경할 수 있다.

다만 Tint Base Color와 Base Color Tint는 모든 Foliage Material에 공통으로 제공되는 기능이 아니라, 해당 부모 Material에 미리 구성된 Parameter다.
색상이 옅어 보이는 원인에는 Lighting, Fog, Exposure, LOD 및 Texture Mip도 영향을 줄 수 있으므로 Tint 적용 전후를 비교하면서 조절하는 것이 좋다.

카메라가 앞뒤로 이동하면 LOD와 Cull 변화가 눈에 잘 띈다. 이번 장면처럼 전환이 거슬릴 때는 식생과의 거리가 크게 바뀌지 않는 수평 Pan이 유리했지만, 자연경관 촬영에서는 Pan만 사용해야 한다는 규칙은 아니다.

 

Landscape Material & Landscape Grass

Landscape Layer Material 만들기

새 Level에서 기본 Plane을 지우고 Landscape를 생성한 뒤, Landscape에 사용할 새 Material을 만든다.

  1. Landscape Layer Blend 노드를 생성하고 Layer를 두 개 추가
  2. 각 Layer에 A와 B처럼 서로 다른 이름을 지정
  3. 두 가지 색상 또는 Material 데이터를 각 Layer 입력에 연결
  4. Landscape Layer Blend의 출력을 Base Color에 연결
  5. 완성한 Material을 Landscape에 할당

Target Layers & Layer Info

Landscape에 Material을 할당한 뒤 Landscape Mode - Paint로 이동하면 Target Layers가 비어 있는 것처럼 보일 수 있다.

Material에 정의된 Layer 정보 자체는 자동으로 인식되지만, Target Layers의 Hide Unused Layers 옵션이 활성화돼 있으면 아직 사용하지 않은 Layer가 목록에서 숨겨지기 때문이다.

이때 눈 모양의 Show/Hide Unused Layers 버튼을 눌러 숨겨진 Layer를 표시하면 Material에 생성한 A와 B Layer가 Target Layers에 나타난다.
이 버튼은 새로운 Layer를 생성하는 기능이 아니라, 사용하지 않은 Layer의 표시 여부를 전환하는 필터다.

각 Layer 오른쪽의 + 아이콘은 해당 Layer에 사용할 Layer Info Object를 생성하거나 할당하는 메뉴다.
두 Layer가 서로 비중을 나누는 구조라면 Weight-Blended Layer (Normal)를 선택하고 A와 B에 각각 별도의 Layer Info Object를 생성한다.

바탕 Layer가 자동으로 칠해지지 않았다면 해당 Layer를 직접 Paint하거나, 지원되는 메뉴에서 Fill Layer로 Landscape 전체를 초기화하면 된다.

Weight-Blended Layer에서 B를 칠하면 B가 A 위에 단순히 더해지는 것이 아니라, 그 영역의 B Weight가 증가하면서 다른 Weight-Blended Layer의 비중이 줄어든다.

Landscape Grass Output 연결하기

  1. Landscape Layer Sample 노드를 만들고 Grass를 생성할 Layer 이름 지정
  2. Layer Sample을 Landscape Grass Output 노드에 연결
  3. Content Drawer의 빈 곳을 우클릭해 Foliage - Landscape Grass Type 생성
  4. Grass Type을 열고 + 버튼으로 Grass Varieties 추가
  5. 각 Index에 Grass Static Mesh를 넣고 Density, Start·End Cull Distance, Scale 범위 설정
  6. Landscape Grass Output에 방금 만든 Landscape Grass Type 지정

이제 지정한 Layer를 칠한 부분에만 Grass가 자동으로 생성된다.

Cull Distance를 높이면 먼 거리에서도 보이지만 그만큼 렌더링 범위가 넓어지므로, 촬영에 필요한 거리까지만 사용하는 것이 좋다.

좌측: Cull Distance 증가 전 / 우측: 증가 후

Fab Landscape Material에서 Grass 비활성화하기

지난 포스트에서 제작한 레벨에는 Fab에서 받은 Landscape Material이 적용돼 있다.
해당 Landscape를 가까이에서 확인하면 Material에 포함된 Landscape Grass 기능으로 인해 풀 Static Mesh가 자동으로 생성된 것을 확인할 수 있다.

Grass를 제거하려면 먼저 Landscape에 할당된 Material Instance를 열고 Parent 항목을 통해 부모 Material로 이동한다.
부모 Material Graph에서 Landscape Grass Output과 연결된 부분을 찾은 뒤, Grass를 생성하는 입력만 연결 해제한다.

Material을 Apply하고 저장하면 해당 Layer에서 더 이상 Grass가 생성되지 않는다.
다만 Landscape Grass 데이터가 Cache에 남아 있으면 Level에서 풀이 바로 사라지지 않을 수 있다.

이 경우 Console에서 grass.FlushCache를 실행해 Grass Cache를 갱신한다.
PIE 상태에서는 grass.FlushCachePIE를 사용할 수 있으며, 그래도 반영되지 않으면 다른 Level을 열었다가 돌아오거나 Editor를 다시 실행하면 된다.

Fab 부모 Material을 직접 수정하면 같은 부모 Material을 사용하는 다른 Material Instance에도 영향을 줄 수 있다.
다른 곳에서도 원본을 사용하고 있다면 부모 Material을 복제한 뒤 수정하는 편이 안전하다.

 

Motion Design

Plugin 활성화 & Shape 생성

Edit - Plugins에서 Motion Design을 검색해 활성화한 뒤 Editor를 재시작한다.

새 Level을 만들 때 Motion Design Template을 선택하거나, Basic Level에서 Motion Design Mode로 전환해 사용할 수 있다.

2D Shapes의 Rectangle은 한 번 클릭해 위치를 지정하고, 다시 클릭해 크기를 정하는 방식으로 배치할 수 있다.

현재 화면을 바라보는 방향을 기준으로 생성되므로 의도하지 않은 Rotation이 들어갔다면 값을 초기화한 뒤 다시 맞춰준다.

2D Shape의 Corner Radius로 꼭짓점을 둥글게 만들 수 있고, 3D Shape는 Details - Shape - Bevel Size로 C4D와 비슷한 Bevel 효과를 만들 수 있다.

일반 Actor 메뉴의 Convert Actors to Static Mesh로 변환되지 않는 경우에는 Shape의 Details - Export Mesh - Create Static Mesh를 사용한다.

이 기능은 Static Mesh Asset을 생성할 뿐, Level에 있는 원본 Shape를 자동으로 교체하지는 않는다.

Actors의 Text Actor에서는 Text와 Font, 자간, 정렬을 바꿀 수 있으며 Geometry의 Extrude와 Bevel로 입체적인 글자를 만들 수 있다.

Cloner의 Layout, Range와 Step

Cloner는 자식으로 들어간 Actor를 Grid, Line, Circle, Honeycomb, Mesh, Spline 등의 Layout으로 반복 생성한다.

자식이 두 종류 이상이면 Mesh Render Mode에 따라 순서대로 교대하거나 무작위로 선택할 수 있다.

Range를 활성화하면 Offset Min·Max, Rotation Min·Max, Scale Min·Max 범위 안에서 각 Clone의 초기 Transform이 무작위로 달라진다.
Seed를 바꾸면 같은 범위 안에서 다른 패턴을 만들 수 있다.

Step은 무작위 변화가 아니라 Clone 순서에 따라 Transform 값을 누적한다.
예를 들어 Rotation Z를 10도로 설정하면 뒤에 있는 Clone일수록 회전량이 순차적으로 증가해 부채꼴이나 나선형 배열이 만들어진다.
Position과 Scale도 같은 원리로 누적된다.

Effector의 Shape & Mode

Cloner의 Details에서 Create Linked Effector를 누르거나 Motion Design Mode - Effectors에서 Effector를 배치할 수 있다.

생성한 Effector는 Cloner의 Effectors 목록에 연결되어 있어야 한다.

Effector의 안쪽 빨간 영역은 영향이 강하게 적용되는 부분이며, 바깥 경계로 갈수록 Easing에 따라 영향이 약해진다.
이것은 Effector의 영향 범위를 보여주는 Visualizer이며 실제 Material 색이 바뀐 것은 아니다.

좌측: Sphere / 우측: Plane

Effector의 Shape는 Clone을 어떻게 변화시킬지가 아니라, Effector의 영향이 적용되는 공간적 범위를 결정한다.
반면 Mode는 해당 범위 안의 Clone에 위치, 회전, 스케일 등의 변화를 어떤 방식으로 적용할지를 결정한다.

대부분의 Shape에는 내부와 외부의 두 경계가 있다.
빨간색으로 표시되는 내부 영역에서는 Effector의 값이 100% 적용되고, 파란색 외부 경계로 갈수록 Easing Curve에 따라 영향이 점차 줄어든다.
외부 경계를 벗어난 Clone에는 Effector가 적용되지 않는다.

Shape의 종류는 다음과 같다.

  • Sphere: 구 형태의 범위 안에 영향 적용
  • Plane: 두 Plane Handle 사이를 통과하며 이전 상태와 변경된 상태를 보간
  • Box: X, Y, Z 크기로 지정한 직육면체 범위에 영향 적용
  • Unbound: 공간적 경계 없이 Effector와 연결된 모든 Clone에 영향 적용
  • Radial: 원 또는 원호 형태의 범위에 영향 적용
  • Torus: 도넛 형태의 범위에 영향 적용

Plane Shape의 Plane Spacing을 줄이면 두 Handle 사이의 전환 거리가 짧아져 변화가 더 빠르고 급하게 나타난다.
Easing을 Linear로 설정하면 두 값이 일정한 비율로 변한다.

Mode는 Shape로 지정한 범위 안에서 Clone이 어떻게 변할지를 결정한다.

  • Offset: 위치, 회전, 스케일 변경
  • Target: Effector나 지정한 Actor를 바라보도록 회전
  • Noise Field: Noise와 Wave를 이용해 불규칙한 변화 생성
  • Push: Effector의 방향이나 바깥쪽으로 Clone을 밀어냄
  • Cancel: 다른 Effector가 만든 변화를 상쇄
  • Cull: Clone의 Scale을 줄이거나 Instance를 제거해 숨김
  • Step: Effector의 경계를 기준으로 Transform 값을 단계적으로 전환

아래 이미지는 Effector의 Shape와 Mode를 조합한 예시다.
Effector의 영향 범위 안에 들어온 Clone에는 설정한 Transform 변화가 적용되고, 전환 영역에서는 Easing에 따라 일부만 적용된다.
범위 밖의 Clone은 원래 상태를 유지한다.

Effector의 범위 안에 들어온 Clone에 Mode의 Transform 변화가 적용된 결과

Delay & Forces

Delay를 활성화하면 Clone이 Effector 변화에 즉시 따라가지 않고 약간 늦게 반응한다.

Spring을 사용하면 목표값을 지나쳤다가 되돌아오는 관성 있는 움직임이 생긴다.

  • Trail Duration: 이전 상태를 따라가는 지연 구간의 지속시간
  • Spring Frequency: 단위시간당 진동 빈도
  • Spring Falloff: 진동이 줄어드는 감쇠 정도

이번 작업에서는 Spring Frequency를 3.0에서 1.0으로 낮추자 진동 속도가 느려져 상대적으로 묵직한 움직임이 만들어졌다.
다만 같은 값이라도 Trail Duration, Spring Falloff, Effector의 이동 속도에 따라 결과가 달라질 수 있다.

Forces를 사용하면 Key를 일일이 만들지 않고 Niagara Physics로 Clone을 움직일 수 있다.

Gravity지정한 축 방향으로 가속하고, Attraction중심으로 끌어당기며, Curl Noise는 난류처럼 여러 방향으로 흐르게 한다.

Gravity
Attraction
Curl Noise

Curl Noise Force Strength를 높이면 Clone에 가해지는 가속도가 커지고, Frequency는 Force 방향이 공간에서 얼마나 자주 변하는지에 영향을 준다. Effector가 지나간 영역의 Clone만 영향을 받기 때문에 Transform Key와 함께 사용하면 흩날리는 범위를 제어하기 쉽다.

결과가 바로 초기화되지 않을 때는 Cloner의 Force Update Cloner를 사용하거나 Cloner 또는 Force를 껐다 켜 재계산한다.

 

Motion Design으로 꽃 Arch 애니메이션 만들기

Arch 표면에 꽃 배치하기

  1. Arch와 꽃 Static Mesh를 준비
  2. Motion Design Mode에서 Mesh LayoutCloner 배치
  3. Cloner의 Layout - Sample Actor에 Arch Actor 지정
  4. 기본 Cube를 제거하고 꽃 Static Mesh Actor의 MobilityMovable로 변경한 뒤 Cloner의 자식으로 넣음
  5. Cloner를 Arch의 자식으로 옮긴 뒤 Local Transform을 초기화해 기준 위치를 맞춤

꽃은 Arch에 실제로 부착된 것이 아니라, Cloner가 Arch Mesh에서 샘플링한 위치에 Instance로 생성된 것이다.
그래서 원본 Arch의 Topology와 Cloner의 Sample Data 설정이 꽃의 분포에 직접적인 영향을 준다.

꽃 Material이 정상적으로 보이지 않으면 꽃 Mesh에 사용된 각 Material의 Parent Material의 Usage에서 Used with Niagara Mesh ParticlesUsed with Instanced Static Meshes를 활성화하면 된다.

Usage 옵션을 활성화해도 꽃의 색상이 바로 정상화되지 않을 수 있다.
이 경우 Editor를 다시 실행하거나 다른 Mesh를 Cloner에 임시로 추가해 갱신을 유도할 수 있다.

분포 정리하기: Remesh

꽃이 위쪽에 몰리고 아래쪽에는 거의 없다면 Count부터 계속 높이기보다 Cloner의 Sample Data와 Arch의 Topology를 먼저 확인한다.

Sample Data가 Vertices라면 Vertex가 많은 곳에 꽃이 더 많이 생성된다는 설명이 직접적으로 맞다.
Triangles를 샘플링할 때는 Triangle의 크기와 분포, 샘플링 방식의 영향도 함께 받는다.

  1. Arch를 선택하고 Modeling Mode - Mesh - Remesh 실행
  2. Target Triangle Count를 충분히 높여 표면을 비교적 균일하게 나눔
  3. Accept를 눌러 적용
  4. Cloner의 Sample Data를 확인하고 Count 높임
  5. Range의 Scale Min·Max를 조절해 꽃 크기에 변화를 줌

균일하게 Remesh한 뒤 Count를 조절했을 때, 특정 부분만 비어 보이던 현상이 줄고 Arch 전체에 꽃이 고르게 퍼졌다.

좀 더 자연스럽게 보이기 위해 꽃의 크기를 줄이고 Count를 늘렸다.

꽃이 자라나는 애니메이션

  1. Cloner에 Plane Effector 추가
  2. Effector의 Mode를 Offset으로 설정하고 Scale을 0으로 만듦
  3. 아래에서 위로 꽃이 나타나도록 Plane의 방향과 위치를 맞춤
  4. Level Sequence에 Effector를 추가하고 Transform에 Key를 생성
  5. Effector가 Arch를 통과하도록 이동시킴
  6. Delay를 활성화하고 Spring Frequency를 조절해 순차적으로 자라나는 탄성을 만듦

Spring Frequency를 지나치게 높이면 꽃이 가볍게 떨리는 느낌이 강해졌다.
값을 낮추고 Falloff를 함께 조절했을 때 식물이 조금 더 무게감 있게 자라는 결과를 얻을 수 있었다.

꽃이 흩날리는 애니메이션

  1. 꽃이 붙어 있는 Arch, Cloner와 Effector 구성 복제
  2. Effector의 Forces 활성화
  3. Curl Noise Force를 켜고 Strength를 조절해 꽃이 여러 방향으로 흩어지게 함
  4. Gravity Force를 켜고 Acceleration의 Z 값을 양수로 설정해 위로 떠오르게 함
  5. 필요하면 Drag를 추가해 이동 속도를 줄임
  6. Level Sequence에 새 Effector의 Transform Key를 추가하고 Arch를 지나가게 함

 

Foliage는 단순히 나무를 많이 심는 기능이 아니라, 카메라 거리와 밀도, 바람, 그림자, Material을 함께 설계하는 작업이었다.

Landscape Grass는 Material Layer와 식생 배치를 연결해 넓은 지형을 빠르게 채울 수 있었고, Foliage Mode는 중요한 위치를 직접 다듬는 데 더 적합했다.

Motion Design에서는 Range가 무작위 변화, Step이 순차 누적이라는 차이를 이해하는 것이 중요했다.
Effector는 범위와 Mode를 정하고 Delay와 Force를 더하는 순서로 접근하면 복잡한 움직임도 비교적 쉽게 나눠서 만들 수 있었다.

특히 꽃 Arch 실습에서는 결과가 고르지 않을 때 Count만 높이기보다 Sample Data와 Topology를 먼저 확인해야 했다.
결국 자연스러운 배치와 움직임은 많은 수치를 사용하는 것보다, 어떤 데이터가 결과를 결정하는지 이해하는 데서 시작한다.