Unreal Engine

Unreal VFX - 05

Rapids. 2024. 6. 21. 14:03

VAM ( Vertex Animation Manager )

- 5.0에는 스켈레탈메시 애니메이션을 머티리얼로 바꾸어주는 버튼이 있었음. (애니메이션 어셋)

스태틱메시 + 머티리얼로 애니메이션 표현가능

- Anim to Texture : 비슷한 기능으로 Anim to Texture를 사용할 수 있다. 


라이트 렌더러

파티클을 라이트로 표현해주는 것

빛은 어떤 공간, 최소 안개가 있어야 표현이 된다는 것 주의!


데칼 렌더러

데칼 머티리얼을 적용해주면 파티클이 부딪히는 부분에 데칼이 표현된다.

데칼 사이즈를 키우려면 따로 설정해주어야한다. Mass size?

파티클이기 때문에 콜리전 모듈과 같이 쓰면 캐릭터 또는 오브젝트에 튕겨져나가는 표현을 할 수 있다.


Rotate Around Point

특정 지점을 기준으로 회전하는 모듈

Rotation Phase에 <Engine> Time을 넣어준다.

Radius로 회전하는 원의 지름을 바꿔줄 수 있다.

기본적으로 뷰포트에서 이동(로컬스페이스 시), 회전, 크기를 사용할 수 있으나 파티클 크기가 변하진 않는다

X,Y Axis를 수정하면 회전 방향을 바꿀 수 있다.


Vortex Force

기존 움직임에 더해 통째로 모든 파티클을 회전시켜준다.


나를 따라오는 토끼 

Fountain이미터로 나이아가라 세팅

 

Render에 Component Render 추가, Component Type은 Skeletal Mesh Component로 변환

Component Count Limit을 수정하면 최대값에 제한을 걸 수 있다. (제한 값이므로 생성 값이랑은 다름)

Component Properties에서 메시와 애니메이션 적용.

 

 

Solve Forces and Velocity에서 앞서 세팅한 움직임들에 더해 추가적으로 조절해줄 수 있다. 숫자가 적을 수록 느리게, 클수록 빨라진다. (*Accleration Limit은 잘 손대지 않는다)

 

Linear Force를 추가하여 움직임에 랜덤값을 넣어줄 수 있다.

Force를 Make Vector로 쪼개주고, X를 Sine으로 반복값을 넣어주면 좌우로 왔다갔다하는 움직임을 구현할 수 있다. 

 

토끼가 쫒아오는 설정을 위해 사용자 파라미터 사용 ( 변수처럼 사용할 수 있다.)

사용자 파라미터 창에서 + - Vector 검색 추가

이름 MyPosition으로 변경

 

Line Attraction Force를 추가하면 특정지점으로 모이는 설정을 할 수 있다.

 

Line Start에 앞서 추가한 유저 세팅을 찾아넣어준다.

 

Line End에는 Add Vector로 설정하여 A값에는 유저 파라미터를, B에는 추가 설정값을 넣어준다.

 

Attraction Streng을 늘려서 보면 0,0,0 원점에 토끼가 몰리는 것을 볼 수 있다. 안보이면 더 높여서 테스트 해보기

 

레벨에 올라간 나이아가라를 선택하고 상단의 블루프린트 아이콘을 눌러 '선택을 블루프린트 클래스로 변환'을 선택해준다. 

 

선택한 나이아가라가 블루프린트로 바뀌어서 레벨에 배치된다.

 

블루프린트에 들어가서 이벤트 그래프에 Niagara Component를 드래그 드롭

 

Set Niagara Variable(Vector3) 노드 생성

Event Tick의 실행핀과 앞서 불러온 Niagara Component도 연결해주고, 

In Variable Name에는 User.을 붙이고 나이아가라에서 생성한 유저 파라미터 이름을 적어준다

(*대문자까지 맞춰주어야한다.)

 

토끼가 기본 3인칭 캐릭터를 따라오도록 하기 위해서 Get Player Character와 Get Actor Location 노드를 엮어서 In Vaule에 연결해준다.

 

Play 버튼을 누른 후 확인해보면 토끼가 캐릭터를 향해 모이는 것을 볼 수 있다.

토끼가 모이는 지점은 앞서 Line attraction Force에서 Line End값 B를 Z축 100 지정해주었기 때문에 캐릭터 위치 X Z축 100이 된 것이다. 


사운드와 폭발 나이아가라 KeyBoard로 연결

프렉처로 깨놓은 박스 준비

 

블루프린트 생성 - Field System Actor 선택하여 생성

보이지 않는 힘 관련 블루프린트 

 

스피어 콜리전 생성 후 Radius 수정. 향후 콜리전 크기가 힘의 크기가 되도록 세팅할 예정.

 

이벤트 그래프로 가서 커스텀 이벤트 생성. 이름 알아보기 쉽게 바꿔주기.

Spawn Emitter at Location 추가.

Emitter Template에 FX 선택 (캐스케이드용)

 

Get Actor Location을 달아 Spawn Emitter at Location의 Location에 연결.

기타 세팅을 바꾸어준다.

 

Spawn Emitter at Location 다음으로 Play Sound at Location을 연결해주고,

똑같이 Get Actor Location을 Location 핀에 연결.

 

Add transient Field 추가,

컴포넌트 창에서 Field System Component를 드래그 드롭으로 Target에 연결

Physics Type은 External Strain으로 변경(폭발 방식과 관련, 수정가능)

 

컴포넌트에 Radial Falloff 추가 - 힘의 영역을 의미

 

앞서 추가한 스피어 콜리전의 크기를 필드 크기와 위치에 사용하기 위해서 콜리전을 불러와 Get Scaled Sphere Radius,

Get World Location을 얻어 Set Radial Falloff의 Sphere Radius, Center Position에 각각 연결해준다.

Target에는 Radial Falloff를 컴포넌트에서 드래그 드롭해와 연결해준다. 

 

마지막으로 Field Magnitude 값을 올려주고(수정가능)

Reture Value를 Add Transient Field의 Field Node에 연결해준다.

 

앞서 추가한 Add Transient Fieldd의 Enable Field를 체크로 해주기.

추가로 Add Transient Field를 하나 더 달아주고 Target도 같은것을 연결.

Physics Type은 Linear Force로 설정해준다.

 

컴포넌트 창에서 Radial Vector추가

그래프창에 드래그 드롭 후 Set Radical Vector의 Target에 연결. Field Magnitude는 2000, 

Center Position은 앞서 구했던 스피어 콜리전의 Get World Location의 Return Value랑 연결해준다.

 

컴포넌트 CullingField 추가

 

Set Culling Field의 Target에 연결해주고,

Culling Field에는 Set Radial Falloff의 Return Value를,

Input Field에는 Set Radial Vector의  Return Value를,

Culling Operation은 Outside로 설정해준 후

마지막 ReturnValue는 마지막으로 추가했던 Add Transient Field의 Field Node에 연결해준다.

 

작업한 블루프린트를 앞서 만들어놓은 프렉처 적용된 오브젝트 근처 레벨에 배치하고,

 

레벨 블루프린트를 열어준다.

미리 폭발에 관련한 세팅을 블루프린트 클래스에서 작업한 후 키보드에 연결을 레벨 블루프린트에서 해준다.

 

레벨 블루프린트에 레벨에 배치된 폭발 블루프린트를 드래그 드롭해주고

 

핀에서 선 뽑아서 블루프린트 안에 만들었던 커스텀 이벤트를 불러와준다.

 

커스텀 이벤트 실행핀에 keyboard 입력을 연결해주면 완성.


* 지난 주 수업 Flocks 사용 시 사용할 수 있는 머티리얼 옵션이 무엇인지 확인하고 세팅 필요.

'Unreal Engine' 카테고리의 다른 글

Unreal Lighting - 07  (0) 2024.06.17
Unreal VFX - 04  (1) 2024.06.14
Unreal Material - 09  (0) 2024.06.13
Unreal Blueprint Class, LOD, Streaming Pool  (0) 2024.06.10
Unreal Animation Mode - 01  (0) 2024.06.05