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을 설정하시면 투명도 조절도 가능합니다.
'UnityEngine' 카테고리의 다른 글
| [Unity] OnMouse 메서드와 UI에 쓰이는 메서드의 종류 (0) | 2025.06.01 |
|---|---|
| [Unity] 오브젝트 왔다 갔다 하게 만들기 (0) | 2025.05.11 |
| [Unity] 유니티 코드에서 참조 타입과 값 타입 (0) | 2025.05.10 |
| [Unity] TextMeshPro vs TextMeshProGUI (0) | 2025.05.08 |
| [Unity] Particle System같은 타입 변수 만들기 (0) | 2025.05.07 |