먼저 유니티나 언리얼 엔진에서 사용하는 이펙트 기술 종류는 다음과 같다.
1. Particle System
2. Mesh
3. Flipbook Animations
4. Shader Effects
1. Particle System
Particle(입자)라는 말처럼 작은 먼지들을 여러 개를 제어하면서 이펙트를 만드는 방식이다. 구현상 파티클은 하나의 quad를 만들어서 거기에 텍스쳐를 붙인 형태에 불과하다. 이 quad들을 제어하기 위한 여러 기능들을 추가하면 파티클 시스템이 만들어진다.
보통 사용하는 텍스쳐의 Blend 타입이 2가지인데, 그냥 alphaBlend를 사용하거나, Additive모드가 있다.
2.Mesh
말 그대로 메쉬에 본을 붙이거나 해서 애니메이션을 출력하거나, 아니면 특정 메쉬에 텍스쳐를 넣어서 이펙트를 만드는 방식이다.
3. FlipBook Animations
영상 프레임을 텍스쳐로 만든 것이라고 보면 된다. 디테일한 사용법에 대해서 설명하자면, 외부 프로그램에서 직접 시뮬레이션을 돌리고 그것을 사진으로 모두 찍은 후, 그 사진들을 모아서 일종의 애니메이션 시트를 만든 후 차례차례 재생하는 방식이다. 실제 시뮬레이션을 돌려서 한 것이라 그만큼 리얼하고, 디테일하지만 엄청나게 용량이 크게 잡아먹는다. 그리고 이 이펙트 사진들은 2d 이기 때문에 3d 처럼 만들기 위해서 따로 작업을 해주던가 한다. 예상하기로는 Mesh 애니메이션과 병행하여 사용하는 것 같다.
4. Shader Effects
Vertex, Pixel Shader 코드를 조작하여 결과를 만들어 내는 이펙트이다. 사실 Shader라는 건 어떤 물체가 있어야 적용이 되는 거라 결국 위의 Particle의 Billboard, Mesh에 모두 적용이 되는 이펙트이다.
위에서 계속 설명이 나오지만 파티클이든 메쉬든 셰이더든 모두 독립적으로 이펙트를 만들지 않는다. 모두 섞어서 원하는 느낌을 내는 것이 목표이다. 그래서 하이브리드라고 지칭 한다.
Effect의 기본원리
Effect는 게임에서 사용 목적에 맞는 형태를 갖고 있어야 한다. 이 이펙트는 기본적으로 anticipation(준비 동작)을 갖고 실행되어 플레이어로 하여금 climax를 대비할 수 있도록 해야 한다. 이펙트는 집중점을 가지고 있어 플레이어가 가장 중요한 부분에 집중할 수 있도록 유도해야 한다. 그리고 해당 이펙트의 컬러는 이펙트의 속성을 정의하고 얼마나 강한 건지 드러내야 한다.