나이아가라
파티클 시스템 - 작은 알갱이를 계산하여 표현
알갱이를 스켈레탈메시로도 대체가능 (ex> 군중씬)
* 나이아가라 관련 플러그인 활성화
아래 화면의 5가지 플러그인 활성화하기
(Cascade to niagara converter는 캐스캐이드를 나이아가라로 변경해서 쓸 때만 활성화하기)
파티클 그룹 or 파티클이 시작되는 지점을 이미터라고 한다.
Emitter Spawn, Emitter Update, Particle Spawn, Particle Update이 가장 기초가 되는 나이아가라 세팅
Emitter에서 전체적인 파티클 틀을 세팅하고
Particle에서 입자하나하나의 세팅을 정한다고 생각하면된다.
Render 부분에서는 파티클을 2D로 표현할지, 3D로 표현할지 등을 지정해줄 수 있다.
Emitter Spawn
이미터가 처음 생성될 때 발생하는 일을 정의합니다. 이 그룹을 사용하여 초기 설정 및 기본값을 정의합니다.
Emitter Update
모든 프레임에서 발생하는 이미터 수준 모듈을 정의합니다. 모든 프레임에서 입자가 계속 생성되도록 하려면 이 그룹을 사용하여 입자의 생성을 정의합니다.
Particle Spawn
이 그룹은 해당 입자가 처음 생성될 때 입자당 한 번 호출됩니다. 여기에서 입자가 태어난 위치, 색상, 크기 등과 같은 입자의 초기화 세부 정보를 정의할 수 있습니다.
Particle Update
각 프레임의 입자별로 호출됩니다. 파티클이 노화됨에 따라 프레임별로 변경해야 하는 모든 것을 여기에서 정의하고 싶을 것입니다. 예를 들어 입자의 색상이 시간이 지남에 따라 변하는 경우입니다. 또는 입자가 중력, 컬 노이즈 또는 점 인력과 같은 힘의 영향을 받는 경우. 시간이 지남에 따라 입자의 크기가 변경되기를 원할 수도 있습니다.
Event Handler
하나 이상의 이미터에 이벤트 생성을 생성할 수 있습니다. 그런 다음 생성된 이벤트에 대한 반응으로 동작을 트리거하는 다른 이미터에서 수신 이벤트를 만들 수 있습니다.
Render
여기에서 입자의 표시를 정의하고 입자에 대한 하나 이상의 렌더러를 설정합니다. 3D 모델을 입자의 기초로 정의하고 재료를 적용할 수 있는 경우 메쉬 렌더러를 사용할 수 있습니다. 또는 스프라이트 렌더러를 사용하고 입자를 2D 스프라이트로 정의할 수 있습니다. 선택하고 실험할 수 있는 다양한 렌더러가 있습니다.
나이아가라의 생성
Content Browser에서 나이아가라 시스템을 생성하면 샘플을 선택할 수 있는 창이 뜨는데,
샘플 이미터로부터 시작하려면 첫번째 것
디테일한 샘플 (물, 불 등) 로부터 시작하려면 두번째 것을 선택해준다.
나이아가라의 경우, 나이아가라 자체 세팅에 따라 회전, 크기를 씬에서 조절할 수도 못할 수도 있다.
샘플 이미터 선택 시 아래 초록색 플러스 버튼을 누르면 한번에 여러 이미터 노드가 한번에 들어가도록 생성할 수 있다. 나이아가라 에디터에서 노드 복제하는 것과 같은 방식.
Emitter State
파티클이 반복 생성될 것인지(Loop Behavior), 몇 초 주기로 반복 생성 될 것인지(Loop Duration) 등을 지정할 수 있다.
Spawn Rate
한 화면에 생성될 파티클의 수를 지정해 줄 수 있다.
보통 Particle Spawn - Shape Location과 연계하여 Shape가 커질 수록 양이 적어보여 Spawn Rate를 늘려가는 등의 조절해주게 된다. (필수 X)
Initialize Particle
초기의 파티클 상태에 대해 설정 가능하다. Lifetime(파티클의 수명), 컬러, Sprite Size(파티클의 크기) 등
각각의 모드에서 랜덤 설정, 단일 설정등을 설정할 수 있다.
Shape Location
큰 틀의 파티클 덩어리의 크기를 지정할 수 있다. Shape의 모양과 각 모양을 조절할 수 있는 옵션을 설정할 수 있다.
Add velocity와 Gravity Force
파티클의 움직임을 설정할 수 있는 옵션
Add velocity에서도 Gravity Force에서도 혹은 둘 다 사용하여 움직임을 지정해줄 수 있다.
Gravity Force에서는 속도 조절은 할 수 없다.
Drag
잡아끄는 느낌, 기존에 설정한 velocity에 의해 움직이는 힘을 방해하는 듯한 느낌을 줄 수 있다.
수치가 크면 아예 멈춰버리므로 소숫점으로 입력해도 충분하다.
Scale Color
그래프에 따라 크기의 변화를 설정해줄 수 있다. 반딧불이와 같은 아른아른한 느낌을 표현할 수 있다.
(*라이프 타임이 너무 적으면 눈에 띄게 변화시킬 수 없다.)
Render
파티클이 어떤 형태로 보여질 지 결정하는 부분. Render의 체크를 해제하게 되면 아무것도 안보이게 된다.
2D 소스를 집어넣으면 레벨에서 내가 보는 방향에 따라 소스가 자동으로 회전하게 된다.
Sprite Renderer
기본 2d 소스를 활용한 파티클을 만들 때 많이 활용
Ribbon Renderer
실을 뿜어내는 듯한 느낌
Mesh Renderer
파티클에 메시나 스켈레탈 메시를 연결할 수 있다.
(*메시로 가져오면 좀 더 무거워지므로 Spawn Rate 너무 높지 않도록 주의)
Mesh Renderer의 경우 디테일창에서 추가적으로 Transform을 조절해 줄 수 있다.
눈(Snow) 제작
Hanging Particulates를 기초로 제작 시작.
Shape Location을 조절해서 눈이 내릴 지역 범위에 맞추어주고
Offset Mode를 이용하여 눈이 내릴 시점을 위로 올려준다. (나이아가라 액터가 바닥에 위치한 경우 세팅)
Add Velocity를 이용하여 움직임을 준다. 원하는 값과 스피드 입력
* 혹시나 변경값이 잘 안보인다면 밑에 있는 Drag는 체크해제해주기.
Curl Noise Force 항목을 추가, 약간의 파티클 흔들림 추가하여 자연스러움 줄 수 있다.
Collision항목을 이용하여 bounce를 조절해주면 콜리전이 있는 바닥이나, 어셋들에 반응하여 충돌 및 쌓이는 효과를 줄 수 있다.
이 외에 Initialize Particle 설정이나 Scale color 설정을 추가적으로 만져주면 눈이 완성된다.
Take Recorder
플레이할 때의 모습을 녹화하는 방식.
Take Recorder의 특징은
1.Play 시점을 녹화할 수 있다는 것과
2.Play 애니메이션이 따로 저장되기 때문에 해당 애니메이션을 활용한 카메라 세팅 및 연출이 추가적으로 가능하다는 것
Take Recorder를 사용하기 위해서는 플러그인 - Take Recorder 활성화가 필요하다(언리얼 5.3은 기본으로 활성화 상태)
Window - Cinematics - Take Recorder를 이용하여 창 열기.
Take Recorder 패널에서 + Source - Player를 추가해주고 ( 언리얼 프로젝트 생성 시 설정했던 1인칭, 2인칭 또는 자동차 모드 시 그에 맞는 Payer 시점이 녹화된다)
Game Play 상태에 진입 후 Take Recorder 패널의 빨간 동그라미(녹화 버튼)을 눌러 녹화해준다.
(*주의! 게임 모드에 진입하면 마우스 커서 움직일 때 화면이 같이 돌아가므로 화면을 거치지 않고 녹화 버튼을 눌러주도록 한다)
녹화를 마치기 위해서 한번 더 녹화 버튼을 눌러주거나 ESC를 눌러 종료해준다.
녹화가 끝나면 Cinematics라는 폴더가 자동으로 생기며, Take - 오늘 날짜에서 레벨 시퀀스가 생긴다.
앞서 말한 특징 1번 자신의 Play 모습을 보는 레벨 시퀀스는 날짜 폴더에서 바로 확인할 수 있으며,
특징 2번 Play 애니메이션을 활용한 카메라 세팅 및 연출을 위해서는 날짜 폴더 하위의 Subscens의 안에 있는 레벨 시퀀스를 활용하면 된다.
Subscens의 안에 있는 레벨 시퀀스 활용
새로운 레벨 시퀀스를 하나 만들어 열어준 후, Cinematics폴더 - Take - 오늘 날짜 - Subscens폴더에 들어있는 레벨 시퀀스들을 가져온다. 한 번에 여러개 추가가 가능하며 시작 프레임에 차이를 주면 딜레이를 반영한 캐릭터가 추가적으로 들어간다.
시퀀스에 시네카메라액터를 하나 추가하여 추가적으로 카메라 애니메이션을 잡아주면 아까의 Play 화면과는 별개로 다른 앵글을 렌더링 할 수 있다.
Light Function Material : Cloud Shadow
메터리얼 생성, Material Domain을 Light Funtion으로 설정.
구름의 그림자 용도로 사용할 텍스처를 불러와 Sampler Type을 Grayscale로 설정해준다.
(*주의! Texture 에디터 자체에서도 압축 세팅이 Grayscale로 설정되어있어야 오류가나지 않는다. )
기본 노드 조합. UV Tiling + Panner를 이용한 텍스처 애니메이션
노드 묶음을 하나 더 복제 후 텍스처 노드 세트를 하나 만들고, 두 텍스처 노드 세트를 Multiply로 합친 후 결과 노드의 Emissive Color에 연결해준다. 추가적인 변화를 주기 위해 Multiply노드를 추가적으로 달아줄 수 있다.
완성된 메터리얼을 저장하고 머티리얼 인스턴스화 하여서 레벨에 올라온 Light의 Light Function Material에 적용해준다.
'Unreal Engine' 카테고리의 다른 글
Unreal Blueprint - 01 (0) | 2024.05.21 |
---|---|
Unreal Lighting & Camera - 05 (0) | 2024.05.20 |
생성형 AI - 05 (0) | 2024.05.10 |
Unreal Material - 06 (0) | 2024.05.09 |
Unreal Level Design Project- 01 (0) | 2024.05.07 |