Unreal Engine

Unreal VFX - 03

Rapids. 2024. 5. 31. 16:27

Fracture

부서지는 효과

 

스태틱메시에 콜리전 생성하기

퀵셀브릿지에서 받은 어셋은 기본 콜리전이 없음. 

스태틱메시 에디터에서 상단 Collsion - Auto Convex Collsion을 사용하면 간편하게 콜리전을 만들 수 있다.

 

시뮬레이션을 하려면 레벨에 올라간 액터에 Physics - Simulate Physics를 켜주어야한다.

 

스태틱 메시가 어느정도는 커야한다 크기가 무게랑 비례하는 느낌. 위에서 떨어지는 효과를 내려면 높이도 중요.

 

다음으로 부서지는 효과를 내기 위해서 Fracture모드로 바꾸어준다.

 

아웃라이너 이름 간단하게 바꾸기. 아웃라이너 이름대로 생성됨.

Fracture관련 지오메트리 콜렉션이 생긴다.

 

Generate에서 New를 누르고 지오메트리 콜렉션을 저장할 위치 지정.

지오메트리 콜렉션이 생기면 아웃라이너에 있던 액터가 지오메트리 콜렉션으로 자동으로 바뀐다.

*아웃라이너 이름 바꾸기 아웃라이너 이름 대로 생성됨.

 

다음으로 

Fracture에서 원하는 프리셋을 선택 후 수치 조절하면서 모양을 부셔준 후 

Fracture버튼을 눌러야 적용이된다.

 

화면 클릭 시 깨지는 모양 랜덤으로 바뀜. 마음에 들면 Fracture 클릭.

 

한번 Fracture 버튼 적용 후 부서진 조각을 다시 Fracture할 수 있다. 부분적으로 더 자잘한 표현 가능.

 

Fracture 이 후 메시의 쪼개진 조각별로 컬러가 바뀌는 것은 디테일 창에서 Show Bone Colors를 체크해제해주면 끌 수 있다. Fracture 모드 작업 시에 켜주고, 작업 끝나면 꺼주기.

 

시뮬레이션과 Fracture를 적용시켜 Play한 결과 

* 시뮬레이션은 플레이 할 때마다 파편 튀는게 달라진다.

 

다음으로 Fracture Mode로 다시 돌아가서

이미 Fracture가 적용되어있던 메시를 다시 새로운 조각으로 바꾸고 싶을 때는 Reset버튼을 눌러주고 다른 Fracture 프리셋을 선택하여 작업하면된다.

 

Fracture의 종류들


특정 힘을 가해주는 블루프린트 활용

FS_MasterField

 

해당 블루프린트는 Engine Content에 기본적으로 들어있는 블루프린트이다.

엔진 자체에 있는 것을 쓰지말고 Content폴더로 복사해와서 사용한다.

 

해당 블루프린트를 레벨에 가져오면 하늘색 공 모양 액터가 생기고 이를 Fracture 적용한 메시에 겹치게 배치한 후 Play를 누르면 해당 부분에 힘이 가해지며 물리적인 영향을 주게된다.

 

*힘의 크기는 공의 크기와 비례한다.

 

FS_MasterField의 디테일 창에서 Delay Amount를 조절해주면 Play를 눌렀을 때 힘이 가해지는 타이밍을 조절해 줄 수 있다.

*0 = Play 시작하자마자 터짐.


Chaos Cache Manager 활용

원하는 시물레이션을 만들었다면 이를 녹화하여 Cache로 구워줄 수 있다.

* Cache로 구우면 시뮬레이션이 항상 같은 결과로 나오고, 그 외 스케일, 회전, 이동은 변경이 가능하다. 

녹화된 것이기 때문에 새로운 콜리전에 반응하지는 않는다.

 

시뮬레이션을 베이크할 원하는 액터를 선택한 상태에서 Actor - Chaos - Create Chaos Cache Manager 선택

원하는 경로를 지정하면, 아웃라이너에 Chaos Cache Manager가 생성되고,

컨텐츠브라우저에는 Chaos Cache Collection이 생성된다.

 

*아웃라이너에 있는 Chaos Cache Manager는 카메라이고,

컨텐츠브라우저에 있는 Chaos Cache Collection이 녹화되는 시퀀스라고 생각하면 된다.

녹화하는 방법은

Chaos Cache Manager의 디테일 창에서 Cache Mode가 Record인지 확인하고,

Play 버튼을 눌러 시뮬레이션을 작동 시켜준다. 

시뮬레이션이 완벽히 끝난다음에 Chaos Cache Manager의 디테일 창에서 Cache Mode를 Play로 바꾸어주면 녹화가 완료된다.

녹화가 완료됐다면 

아웃라이너에서 Chaos Cache Manager와 시뮬레이션을 적용했던 메시 액터를 삭제하고

컨텐츠브라우저에 생성됐던 Chaos Cache Collection을 불러와주면 메시 자체가 시뮬레이션 되는 상태로 구워진 것을 볼 수 있다. (*화면에서 보이지 않을 때 transform 위치값을 리셋해주면 시뮬레이션을 구웠던 원본 메시가 있던 자리로 돌아간다)


Chaos Cache Collection 시퀀스 작업

Chaos Cache Collection을 레벨에 배치하여서 꾸민 후 

시퀀스에 불러와 타이밍조절 및 렌더할 때 사용할 수 있다.

 

각각의 Chaos Cache Collection을 시퀀스 트랙으로 불러오고 시작 타이밍을 조절하기 위해서는 Start Time을 추가해서 Key를 잡아주어야한다.

 


래그돌

봉제인형이라는 뜻에서 시체 등을 인형처럼 늘어지게끔 만드는 물리 시뮬레이션 효과

 

캐릭터(스켈레탈 메시)도 시뮬레이트 피직스 켜고 위에서 떨어뜨리면 힘없이 떨어진다.

스켈레탈 메시에 연결된 피직스어셋이 있어야 가능한 시뮬레이션.

스켈레탈 메시를 열었을 때 왼쪽 상단 관절모양 아이콘이 있으면 피직스어셋이 있다는 의미.

>> 표시 아이콘을 눌러 Simulate를 누르면 피직스 어셋 에디터에서도 효과를 미리 볼 수 있다. 

 

시뮬레이션 결과


 

마네퀸에 FX 적용

빈 이미터로 나이아가라 생성.

나이아가라를 열고, 이미터 노드를 클릭하면 디테일창에 이미터의 설정들을 볼 수 있다. Emitter - Sim Target을 GPUCompute Sim로 바꿔주면 GPU로 나이아가라를 사용할 수 있다.

 

Local Space는 체크하면 긴 꼬리(잔상)가 남지 않는다. 

 

CPU 파티클에서 사용할 수 있는 기능 중 일부가 GPU 파티클에서는 지원되지 않습니다. 그러나 지원되는 기능의 부족한 부분은, 몇가지 수치로 커버하고도 남습니다. gpu sprite typedata는 퍼포먼스에 심각한 영향을 끼치지 않으면서도 만에서 십만 단위의 파티클을 스폰시킬 수 있습니다. 

 

Emitter Update에서 Spawn Rate 추가, 생성되는 파티클의 양을 조절할 수 있음.

 

User Parameters

유저 파라미터를 활용하면 스켈레탈메시에 파티클을 생성할 수 있다.

User Parameters를 클릭후 + 추가로 Skeletal Mesh를 추가해준다.

추가된 Skeletal Mesh 목록을 열어 Preview Mesh에 원하는 스켈레탈 메시를 넣어준다.

 

다시 이미터 노드로 돌아와 Particle Spawn에 Initialize Mesh Reproduction Sprite를 추가해주고,

디테일창에서 앞서 만든 유저파라미터 스켈레탈메시를 드래그해서 Mesh 부분에 넣어준다.

혹 시 오류가 뜬다면 Fix를 눌러준다.

 

유저 파라미터로 갈아끼면 아래와 같이 프로퍼티가 바뀐다. 스켈레탈 메시에 파티클이 적용된 모습.

 

Particle Scale을 랜덤으로 적용하기 위해 화살표를 클릭해 Random Range Float를 적용해준 후 수치를 조정해준다.

Max Particle Size도 조절가능.

 

Particle Spawn - Initailze Particle에서 Lifetime을 조절할 수 있다. 

라이프타임 조절로 캐릭터가 움직이면서 파티클이 남기는 잔상을 길게 늘리거나, 줄일 수 있다.

 

Particle Spawn - Add Velocity를 추가하여 파티클이 움직이는 방향을 설정할 수 있다.

 

*파티클 작업 시 아래와 같이 오류가 뜨면 일단 설정할 것을 다 설정 해본 후 마지막으로 Fix 눌러주기.

 

Particle Update에 Update Mesh Reproduction Sprite를 추가해준다.

여기도 동일하게 Mesh 부분에 유저 파라미터 스켈레탈 메시 끌어다 넣어주기.

 

Particle Update - Scale Velocity를 추가하면 Velocity가 변화하는 값을 설정해줄 수 있다. 

여기도 Random Range Vector를 추가하여 랜덤 값 범위로 조절해줄 수 있다.

 

Particle Update - Drag 설정으로 움직임에 제한을 걸 수 있다.

 

파티클의 컬러를 설정하는 방법은 여러가지가 있는데

첫번째로는 Initialize Particle에서 Color Mode를 적용해줄 수 있다. (Random Range Float로 설정 자주사용)

 

두번 째로 Particle Update - Color 추가,

Initialize Particle에서 Color Mode와 동시 적용은 못한다.

둘 다 적용되어있다면 Particle Update - Color가 나타난다.

Source Filtering으로 Color from Curve를 선택하면 Ramp로 작업하는 것처럼 여러 컬러를 적용해줄 수 있다.

 

나이아가라 이미터는 빛이 나긴 하지만 머티리얼 Emissive와 다르다.

라이트로써의 역할은 없고 이미터 자체만 빛나게됨.

 

파티클에 Emissive 효과를 넣고 싶다면 Renderer에 머티리얼 자체를 바꾸어주어야한다.

 

 

혹시 캐릭터가 달릴 때 잔상이 남지 않는다면 아래 옵션 꺼야지 흔적이 남는다.

 

Particle Spawn - add Velocity를 끄고, Particle Update - Gravity Force를 넣어주면

중력에 의해서 파티클이 움직이게된다.

 

중력 적용상태에서 Particle Update - Collision을 넣어주면 바닥에 쌓이는 효과도 넣어줄 수 있다.

너무 많이 쌓이면 무거워지므로 라이프타임을 적당히 조절하여 살짝 쌓이다 없어지도록 설정해준다.

 

3인칭 기본 마네퀸으로 유저 파라미터 Mesh를 적용해서 작업했기 때문에

BP_ThirdPersonCharacter에서 나이아가라 컴포넌트를 Mesh 밑에 위치 시키고 작업한 나이아가라를 넣어주면 기본 3인칭 게임모드에서 결과를 확인할 수 있다.


Sword Trail

기존의 다른 캐릭터의 애니메이션을 가져와서 사용하기 위해서

Retargeting을 해준다. 

애니메이션 시퀀스 우클릭 - Retarget Animation Assets - Duplicate and Retarget Animation Assets/Blueprints

 

창이 뜨면 IK Retargeter에서 아무거나 선택해주고,

Source Skeletal Mesh에 애니메이션을 가지고 있는 메시

Target Skeletal Mesh에 옮겨올 메시 선택하여, Retarget 클릭

새로운 스켈레탈 메시에 애니메이션이 적용되어 애니메이션 시퀀스가 생김.

 

다음으로 칼과 향후 트레일을 가져오기 위해 액터 블루프린트를 생성하고,

스태틱메시 컴포넌트로 칼 추가와 나이아가라 컴포넌트로 트레일 나이아가라 추가를 해준다.

 

시퀀스를 생성해 레벨에 불러온 캐릭터와 검 블루프린트를 넣어주고

검은 Attach를 추가하여 캐릭터의 소켓 또는 본에 연결하여주고,

캐릭터는 앞서 Retargeting한 애니메이션을 적용하여 주면 애니메이션에 따라 검이 쫒아가면서 트레일이 생긴다.

* 캐릭터 애니메이션을 넣었는데 안 움직이면 컨트롤릭 트랙이 있는지 확인하고 있다면 삭제해주기.


<프로젝트 파일에 새로운 컨텐츠 가져올 때 유의사항>

*폴더 이름 이중화되지 않도록 할 것

*프로젝트를 끈 다음에 파일을 옮길 것

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

Unreal Blueprint Class, LOD, Streaming Pool  (0) 2024.06.10
Unreal Animation Mode - 01  (0) 2024.06.05
Unreal Material - 08  (0) 2024.05.30
Unreal Blueprint (3인칭게임모드) - 01  (0) 2024.05.29
언리얼 제작 사례  (0) 2024.05.28