파티클에 주변 월드를 밝히는 기능이 있으면 프로젝트의 비주얼을 한층 더 사실적으로 만들 수 있습니다. 다음 튜토리얼에서는 파티클과 라이트가 동시에 스폰될 수 있도록 나이아가라 이미터를 설정하는 방법을 알아볼 것입니다. 이번 튜토리얼의 최종 결과물은 다음과 같습니다.
사전 요구사항: 이 튜토리얼에서는 시작용 콘텐츠(Starter Content) 에 있는 M_Radial_Gradient 머티리얼을 사용합니다. 시작용 콘텐츠를 포함한 새 프로젝트를 생성하거나, 시작용 콘텐츠가 포함된 프로젝트를 사용해야 합니다.
시스템 및 이미터 생성
나이아가라 이미터와 시스템은 독립되어 있습니다. 현재는 기존 이미터나 이미터 템플릿에서 시스템을 생성하는 워크플로를 권장합니다.
우선 콘텐츠 브라우저에서 우클릭한 다음, FX > 나이아가라 시스템(Niagara System) 을 선택하여 나이아가라 시스템을 생성합니다. 나이아가라 이미터 마법사가 표시됩니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
선택한 이미터에서 새 시스템 생성(New system from selected emitters) 을 선택하고 다음(Next) 을 클릭합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
템플릿(Templates) 에서 분수(Fountain) 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
더하기 표시(Plus sign) ( + ) 아이콘을 클릭하여 시스템에 추가할 이미터 목록에 해당 이미터를 추가한 다음, 완료(Finish) 를 클릭합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
새 시스템 이름을 ParticleLights 로 지정합니다. 더블클릭하여 나이아가라 에디터에서 엽니다.
새 시스템의 이미터 인스턴스에 지정된 기본 이름은 Fountain 이지만 변경할 수 있습니다. 시스템 개요(System Overview) 에서 이미터 인스턴스 이름을 클릭하면 해당 필드를 편집할 수 있습니다. 이미터 이름을 FX_ParticleLight 로 지정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
ParticleLight 시스템을 레벨로 드래그합니다.
파티클 이펙트를 만들 때는 항상 시스템을 레벨로 드래그하는 것이 좋습니다. 이렇게 하면 모든 변경과 편집을 레벨에서 볼 수 있습니다. 시스템에서 변경한 내용은 자동으로 레벨의 시스템 인스턴스에 전파됩니다.
이미터 업데이트 그룹 세팅 편집
우선 이미터 업데이트(Emitter Update) 그룹에서 모듈을 편집합니다. 이 동작은 이미터에 적용되며 프레임마다 업데이트됩니다.
시스템 개요(System Overview) 에서 이미터 업데이트(Emitter Update) 그룹을 클릭하여 선택(Selection) 패널로 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
이미터 상태(Emitter State) 모듈을 펼칩니다. 분수 템플릿을 사용했기 때문에 라이프 사이클 모드(Life Cycle Mode)가 셀프(Self)로 설정됩니다. 드롭다운을 클릭하고 라이프 사이클 모드 를 시스템(System) 으로 세팅합니다. 그러면 시스템에서 라이프 사이클 세팅을 계산할 수 있습니다. 이 세팅은 보통 퍼포먼스를 최적화합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
스폰 속도(Spawn Rate) 모듈은 이미터가 활성화되는 동안 지속적으로 파티클을 생성합니다. 이 모듈은 이미 분수 템플릿에 있습니다. 스폰 속도(Spawn Rate) 를 500 으로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
파티클 스폰 그룹 세팅 편집
다음으로 파티클 스폰(Particle Spawn) 그룹에서 모듈을 편집해야 합니다. 이 동작은 처음 스폰되었을 때 파티클에 적용됩니다.
시스템 개요(System Overview) 에서 파티클 스폰(Particle Spawn) 그룹을 클릭하여 선택(Selection) 패널에서 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
파티클 초기화(Initialize Particle) 모듈을 펼칩니다. 이 모듈은 관련된 여러 파라미터를 하나의 모듈로 모아서 스택의 복잡성을 최소화합니다. 포인트 어트리뷰트(Point Attributes) 에서 수명 모드(Lifetime Mode) 를 찾아 랜덤(Random) 으로 설정하세요. 이 파라미터는 파티클이 사라지기 전까지 표시되는 시간을 결정합니다. 이 이펙트에서 랜덤 범위 플로트(Random Ranged Float) 라는 동적 입력을 사용하여 파티클을 표시할 시간을 무작위로 설정할 수 있습니다. 랜덤 범위 플로트는 분수 템플릿의 수명(Lifetime) 파라미터에 이미 적용되어 있습니다. 최소 및 최대 를 다음 값으로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
세팅
값
수명 모드
랜덤
최소
1.75
최대
2.5
마찬가지로 포인트 어트리뷰트(Point Attributes) 에서 컬러(Color) 파라미터를 찾습니다. 이 파라미터는 스폰 시 파티클의 초기 색상을 설정합니다. RGB 필드를 다음 값으로 설정합니다.
언리얼 엔진의 색 선택 툴은 RGB 컬러 값을 0과 1 사이의 숫자로 정규화합니다. 하지만 컬러 값을 1보다 크게 설정하면 이미시브 컬러가 됩니다. 파티클은 레벨에 시스템이 배치될 때 해당 컬러로 빛납니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
세팅
값
빨강
0.1
초록
0.3
파랑
50
스프라이트 어트리뷰트(Sprite Attributes) 에서 스프라이트 크기(Sprite Size) 파라미터를 찾습니다. 스프라이트 크기 모드(Sprite Size Mode)를 조절하면 분수 파티클 크기를 무작위로 만들 수 있습니다. 드롭다운 메뉴를 누르고 랜덤 균등(Random Uniform)을 선택하세요. 이렇게 하면 값에 최소 및 최대 영역이 추가됩니다. 스프라이트 크기 의 최소 및 최대 를 다음 값으로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
세팅
값
스프라이트 크기 모드
랜덤 균등
최소
2.5
최대
8.0
구체 위치(Sphere location) 는 스프라이트 스폰 시 모양과 원점을 제어합니다. 구체 모양의 크기는 반경을 표시하여 설정할 수 있습니다. 구체 위치 모듈은 분수 템플릿에 포함되어 있습니다. 구체 반경(Sphere Radius) 을 15 로 설정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
분수 템플릿에는 원뿔에 속도 추가(Add Velocity in Cone) 모듈도 포함되어 있습니다. 이 모듈은 스폰 시 파티클에 움직임을 더할 수 있습니다. 원뿔의 포인트는 파티클의 스폰 포인트로, X , Y , Z 값을 설정하여 원뿔이 확장될 방향을 결정할 수 있습니다. 속도 세기(Velocity Strength) 에는 범위가 지정된 균등 플로트(Uniform Ranged Float) 라는 동적 입력이 적용되어 있습니다. 최소 및 최대 를 다음 값으로 설정합니다. 다른 세팅은 기본값으로 둡니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
세팅
값
최소
300
최대
600
파티클 업데이트 그룹 세팅 편집
이제 파티클 업데이트(Particle Update) 그룹에서 모듈을 편집합니다. 이 동작은 이미터의 파티클에 적용되며 프레임마다 업데이트됩니다.
시스템 개요(System Overview) 에서 파티클 업데이트(Particle Update) 그룹을 클릭하여 선택(Selection) 패널로 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
중력(Gravity Force) 모듈은 중력이 오브젝트에 주는 영향을 시뮬레이션합니다. 항력(Drag) 모듈은 파티클에 항력을 적용하여 파티클 속도를 낮춥니다. 중력과 항력의 기본 세팅은 이 이펙트에서 작동하도록 되어 있으니 그대로 두어도 됩니다.
콜리전을 설정하지 않을 경우, 파티클은 레벨의 바닥 등 딱딱한 오브젝트를 그냥 통과하면서 떨어집니다. 콜리전(Collision) 모듈을 추가하려면 파티클 업데이트 에서 더하기 표시 ( + ) 아이콘을 클릭한 다음, 콜리전(Collision) > 콜리전(Collision) 을 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
콜리전 모듈은 힘과 속도 해결(Solve Forces and Velocity) 모듈 다음으로 스택 맨 아래 삽입됩니다. 이렇게 하면 오류가 발생합니다. 문제 해결(Fix Issue) 을 눌러 콜리전 모듈을 이동하여 오류를 해결합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
콜리전(Collision) 모듈의 기본 세팅을 그대로 둡니다.
라이트 렌더러 추가
이제 분수 이펙트에 라이트 렌더러(Light Renderer)를 추가합니다.
시스템 개요 에서 렌더(Render) 그룹을 클릭하여 선택 패널에서 엽니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
렌더 에서 더하기 표시(Plus sign) ( + ) 아이콘을 클릭한 뒤, 라이트 렌더러(Light Renderer) 를 선택합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
반경 스케일(Radius Scale) 을 5.0 으로 설정합니다. 이 세팅은 라이트가 파티클 스폰 포인트로부터 얼마나 멀리 퍼지는지를 결정합니다.
이미지를 클릭하면 최대 크기로 볼 수 있습니다.
컬러 증가(Color Add) 값을 사용하면 이펙트에서 방출된 라이트 컬러를 변경할 수 있습니다. 이러한 값은 X , Y , Z 로 표현되지만, X=빨강 , Y=초록 , Z=파랑 등 각각 RGB 값에 대응되기도 합니다. 라이트 컬러를 파티클 컬러와 일치시키려면 값을 다음과 같이 설정합니다.
세팅
값
빨강
0
초록
0
파랑
15
최종 결과
축하합니다! 파티클 라이트를 포함하고 씬에서 라이트를 방출하는 이펙트를 만들었습니다.