[Unity] 파티클 두번 보이는 버그, 파티클 투명도(Alpha) 조절

Learning 

When: 1학년 5월 10일

 

How:

유니티에서 파티클의 Alpha 값을 조절하면 투명 혹은 불투명으로 모 아니면 도로만 조정되는 버그를 고치고, 한 번 실행하면 2번 보이는 버그를 발견하였습니다.

 

Understanding:

파티클을 만들 때 처음에 스프라이트를 파티클에 넣는 것부터 고난이었는데, 처음에 파티클에 사용할 Material의 타입을 Universal Render Pipeline/Particles/Unlit으로 설정하고 겨우 sprite를 파티클에 넣는 것을 성공하였습니다. 그리고 파티클을 만들고 있는데 투명도를 조정할 일이 생겨서 투명도를 살짝 낮췄는데 그냥 사라져버렸습니다. 왜 이런지 계속 찾아보다가 도저히 알 수가 없어서 GPT가 추천해준 모든 타입에서 투명도를 조정해보고 나서야 Particles/Standard Unlit이 투명도도 조정할 수 있고 sprite도 넣을 수 있는 타입이라는 것을 알았습니다. 이때 핵심은 Rendering Mode를 Fade로 바꿔야 했다는 것입니다.

저는 파티클을 만든 다음 그것을 pooling하여 5개를 만들고 필요할 때 꺼내 쓰는 방식으로 파티클을 이용했는데, 이상하게 한 번 파티클을 사용하면 2개가 나가고, 그 파티클을 GameScene에서 실행하면 1개가 나갔습니다. 이 문제는 파티클을 Local이 아니라 World로 해두고 Emission을 Bursts로 해두어서 처음에 한 번에 쭉 나가다가 그다음에 Update가 실행되면 파티클의 분출구가 이동하고, 남은 Bursts를 그 위치에서 뿜어서 짧은 시간에 많은 양의 파티클을 뿜는 Bursts의 특성과 그 짧은 시간보다 더 짧은 시간에 이동한 분출구가 눈속임을 해서 마치 2개의 파티클이 Play된 것처럼 보인 것이었습니다.

 

Result: 플레이하기 전에 꼭 위치부터 이동하시면 2개 버그를 없앨 수 있습니다. Particles/Standard Unlit 타입으로 Material을 설정하시면 투명도 조절도 가능합니다.