반응형
http://goo.gl/JeVjN

출처 : GPG

소프트 파티클이란?

소프트 파티클을 만들어주는 기술의 정확한 명칭은 Depth bias blend이다.

Depth bias blend는 스프라이트 텍스처에 가상적인 두께를 만들어서 그 두께 정보가 무엇인가와 교차하면 교차하는 객체나 표면의 픽셀의 색과 그 스프라이트 텍스처의 교차되는 부분의 픽셀 색의 최대 근사값을 구해 교차하는 부분의 파티클 픽셀의 색을 보간하는 연산을 통해 교차선을 부드럽게 만들어주어 칼날과 같은 날카로운 교차선이 나타나지 않게 하는 기법이다.

이것을 스프라이트 기반의 Emitter파티클에 사용할 시에 소프트 파티클이라고 불리게 되는 것이며 활용되는 부분은 파티클뿐만이 아니라 여러 부분에 사용할 수 있다.

기존의 게임들에서 화염, 폭포수, 연기와 같은 파티클이 화면상의 다른 3D 객체나 월드 표면과 교차하면 그 칼날과 같은 교차선이 강하게 드러나는 매우 부자연스러웠던 연출을 본적이 때때로 있을것이다.

불꽃이나 탄피같은 파티클은 매우 작은 폴리곤 덩어리들에 알파값을 준 텍스처를 사용해 표현하기 때문에 다른 면과 교차해도 교차선같은게 드러나는 일이 없지만 자욱한 연기나 뿜어져 나오는 화염, 또는 사방으로 튀기는 물방울이나 폭포수와 같은 Emitter 파티클은 그 파티클의 모양을 그린 텍스처를 앏은 사각형 텍스처에 붙인 포인트 스프라이트 를 여러개를 사용해 만들어내는 것이기 때문에 다른 면과 교차한다면 그 교차선이 강하게 드러나게 된다.

이 기술의 알고리즘은 오래전부터 구상되었었고 사용되어 왔지만 그 명칭이 불분명하였다. 예를 들어 Infinity Ward의 2005년작 Call of Duty 2는 이 기술을 옵션에서 Zfeather Smoke라는 이름으로 명명하였고 어떤 게임들에선 종종 소프트 엣지 (Soft Edge)라는 이름으로 불리기도 한다. 이번에 MS에서 DX10 D3D 10 기술표를 내 놓으면서 거기에 기본적으로 포함된것중 하나가 이 기법인데 거기서는 소프트 파티클이란 이름으로 정의하고 있으며 최근의 게임이나 엔진들도 소프트 파티클이란 이름을 사용하고 있어서 소프트 파티클이란 이름으로 굳어지고 있다.

아래의 스크린샷들은 Capcom사의 Lost Planet의 게임 화면으로 위의 것은 소프트 파티클 처리가 되지 않은 스크린샷이고 아래의 것은 소프트 파티클 처리가 되어 있는 스크린샷이다. 서로 대조하여 그 교차선이 드러나고 안드러나고의 차이가 극명하게 드러난다.

화염 파티클 (스프라이트 텍스처)이 몬스터나 오브젝트, 벽, 바닥, 천장 등에 교차하여 그 교차선이 강하게 드러나고 있다.

소프트 파티클 처리가 되어서 화염 파티클 (스프라이트 텍스처)이 표면과 교차되는 부분의 픽셀의 색이 교차되는 표면 부분의 텍스처 색과 중간으로 보간되어 그 교차선이 마치 없는것처럼 부드럽게 보인다.

이 Depth bias blend처리를 물가의 부드러운 교차선 처리 (이것을 잘 활용한 예로는 2006년에 출시한 Ubisoft의 Splinter Cell: Double Agent가 있으며 곧 출시 예정인 Crysis에서도 구현)에 사용하는 것도 가능하며 특히 디자이너가 응용하기에 따라서 기존에 표현하기 힘들었던 것들을 부드럽게 표현 가능하다.

기본의 Depth bias blend처리를 하지 않은 상태에선 스프라이트 텍스처를 여러장을 사용해서 서로 겹치지 않게 정렬하면 자욱한 연기따위는 만들수 있었지만 어느 방향에서 바라보아도 입체적인 연기나 구름따위를 만들려면 그 스프라이트 텍스처들이 서로 교차해야하기 때문에 교차선이 드러나서 만들어도 비정상적인 모습으로 보이게되어 제대로 된 표현이 불가능 했었다.

Depth bias blend처리를 하고 스프라이트 텍스처를 여러장을 사용하여 서로 교차시키면서 입체감이 있게 구성한다면 볼륨감이 있는 연기, 혹은 구름 등을 만들어 낼수 있게 된다. 이것은 Volumetric Particles (볼류메트릭 파티클)이라고 불리기도 하는데 볼류메트릭 파티클이란 기법은 사실은 별도로 존재하는 것이 아니며 소프트 파티클을 6방향면체 혹은 그 이상으로 둘러싼 것에 불과하다.

이것을 응용하면 볼류메트릭 파티클에다가 광원과 음영처리도 보다 자유롭게 사용이 가능 하다. 왜냐하면 교차선이 드러나지 않고 부드럽게 보간되어 자연스러운 음영처리가 가능해지기 때문이다. 이를 응용하면 광원이 반사되는 연기, 햇빛이 반사되거나 투과되는 구름, 구름 아래로 뻗어나오는 구름 등의 그림자 등이 구현 가능하다.

그리고 이 Depth bias blend기법을 사용해서 안개속이나 수중에서의 부드럽게 보간되는 빛의 변화 (이것을 잘 활용한 예로 역시 2006년에 출시한 Ubisoft의 Splinter Cell: Double Agent가 있으며 앞으로 출시될 Crysis에서도 구현)가 표현이 가능하다.

이 기법들은 DX10의 D3D 10에 예제로 포함된 것들이며 복잡한 응용 단계는 DX9급 이상은 되야 가능하지만 기본적인 보간법 (위의 스크린샷에서 소프트 파티클 처리) 구현자체는 DX7 이하급의 고정 파이프라인 상으로도 구현이 가능한 매우 단순한 기술이다.

소프트 파티클을 최초로 구현해 출시한 게임은 2005년에 출시한 Ubisoft의 Splinter Cell: Chaos Theory이며 같은 해에 출시한 Call of Duty 2가 있었고 이후 게임들에선 거의 기본적으로 채용하고 있다.

최근에 발매된 게임들은 이와 같은 소프트 파티클 처리는 기본적으로 지원하는 단계에 이르렀다.

이를 응용해 볼류메트릭 파티클이나 음영 처리 등의 더 복잡한 기법들의 사용도 언리얼 엔진 3와 같은 최신의 게임 엔진들이라면 모두 지원하고 있는 기술들이다.


반응형

+ Recent posts