자, 열 두번째 키워드인 'Particle'을 알아보겠다.
이번 키워드도 Unity와 관련이 많으니 접목하여 알아보겠다.

"Particle(파티클)"은 여러 분야에서 사용되는 용어로, 주로 미립자를 가리키는 경우가 많다. 물리학에서는 입자물리학에서 사용되며, 원자나 분자와 같은 미립자를 의미한다. 또한, 컴퓨터 과학에서는 컴퓨터 그래픽스나 시뮬레이션에서 사용되는 작은 그래픽 요소를 나타내기도 한다.
컴퓨터 과학에서의 "particle(파티클)"은 주로 시각적인 효과나 시뮬레이션을 위해 사용된다. 컴퓨터 그래픽스에서는 작은 크기의 그래픽 요소를 의미하며, 이를 조합하여 다양한 시각적 효과를 구현할 수 있다. 또한, 물리 시뮬레이션에서는 물체의 운동이나 상호작용을 시뮬레이션하기 위해 미립자를 모델링하는 데 사용된다.

실제로 사용한 이미지들 가져와봤다.
Unity의 파티클 시스템은 게임이나 시뮬레이션에서 물, 불, 연기, 먼지, 불꽃, 폭발 등과 같은 다양한 효과를 만들기 위해 사용된다.
파티클 시스템은 게임의 시각적인 퀄리티를 향상시키고, 화려한 효과를 만들어내는 데에 널리 사용된다. 또한, 파티클 시스템은 게임의 최적화를 위해 사용되기도 한다.
예를 들어, 많은 수의 개별적인 오브젝트를 사용하여 특정 효과를 만드는 대신 파티클 시스템을 이용하면 효과적으로 리소스를 관리할 수 있다.
물론 나도 꽤 애용하는 기술이다...
시각적인 다양성: 파티클 시스템을 사용하면 다양한 시각적 효과를 만들어낼 수 있다. 불, 물, 연기, 먼지 등과 같은 다양한 효과를 상대적으로 쉽게 구현할 수 있다.
성능 최적화: 많은 수의 개별적인 객체를 사용하는 것보다 파티클 시스템을 사용하여 효과를 만들면 성능을 향상시킬 수 있다. 파티클은 개별적인 객체보다 효율적으로 렌더링되기 때문이다.
쉬운 제어: Unity의 파티클 시스템은 직관적인 사용자 인터페이스를 통해 다양한 파라미터를 조절할 수 있다. 이를 통해 파티클의 움직임, 색상, 크기 등을 쉽게 조절하고 원하는 효과를 구현할 수 있다.
제한된 복잡성: Unity의 기본 파티클 시스템은 비교적 간단한 효과를 만들기에는 충분하지만, 매우 복잡한 효과를 만들기에는 한계가 있다. 특히 고급 사용자들이 요구하는 고급 효과를 구현하기에는 부족할 수 있다.
유니티 엔진 종속성: Unity의 파티클 시스템은 Unity 엔진에 종속되어 있기 때문에 다른 엔진에서는 사용할 수 없다. 따라서 Unity에서 개발하는 게임 이외의 다른 플랫폼이나 엔진에서는 다른 파티클 시스템을 사용해야 할 수 있다.
세부 조절의 한계: Unity의 파티클 시스템은 다양한 파라미터를 조절할 수 있지만, 종종 세부적인 조절이 필요한 경우에는 한계가 있을 수 있다. 특히 복잡한 움직임이나 효과를 원하는 경우에는 추가적인 스크립팅이 필요할 수 있다.
파티클 수 줄이기: 파티클의 수를 줄이는 것은 성능 향상에 큰 도움이 된다. 특히 모바일 기기나 저사양의 시스템에서는 파티클 수를 적절히 조절하여 성능을 개선할 수 있다.
LOD (Level of Detail) 사용하기: 파티클의 거리에 따라 LOD를 적용하여 멀리 떨어진 파티클의 수를 줄일 수 있다. 이를 통해 멀리 있는 파티클은 더 간단한 형태로 표현되어 성능을 개선할 수 있다.
충돌 감지 제한: 파티클의 충돌 감지는 성능에 부담을 줄 수 있다. 따라서 파티클 간의 충돌 감지를 제한하거나 충돌 감지를 최적화하여 성능을 향상시킬 수 있다.
텍스처 애니메이션 사용: 대규모 파티클 효과를 만들 때 텍스처 애니메이션을 사용하면 GPU 부하를 줄일 수 있다. 텍스처 애니메이션은 파티클의 움직임을 텍스처에 저장하여 계산량을 줄이는 방법이다.
GPU 인스턴싱 활용: Unity의 GPU 인스턴싱을 사용하면 동일한 메시를 여러 번 렌더링할 때 GPU 부하를 줄일 수 있다. 이를 통해 대규모 파티클 효과를 더 효율적으로 처리할 수 있다.
파티클 스트림링 사용: Unity 2018부터는 파티클 스트림링을 사용하여 파티클 시스템의 성능을 향상시킬 수 있다. 이를 통해 파티클 데이터를 CPU에서 GPU로 전송하여 성능을 최적화할 수 있다.
베이크된 텍스처 사용: 일부 복잡한 파티클 효과는 미리 계산된 텍스처를 사용하여 렌더링할 수 있다. 이를 통해 렌더링 과정에서의 계산량을 줄여 성능을 향상시킬 수 있다.
파티클 시스템은 진짜 복잡한 이펙트 효과를 처리하기에 좋은 기술이었다.
많이 사용하였고 좋다고 생각하는 기술 중 하나이다.
하지만 무분별하게 사용하다보면 연산도 많아지고 용량이 커지기에 상황에 뭐가 맞고
조절을 잘 해야한다는 것을 깨달았다.