개요
집에서 작은 모래시계를 사용하고 있는데 문득 앱으로 만들어 보면 어떨까하는 생각이 들어 앱을 제작하게 되었습니다.
기획
전체적인 모양은 모델링 후 유리 재질을 적용하는 방식으로 적용하면 큰 문제는 없을 것 같았습니다. 상단에 1, 3, 5분 버튼을 배치했습니다. 시간이 지나면 소리로 알려주는 기능을 추가했습니다. 이렇게 해서 간단하게 기획을 마무리 했습니다. 관건은 모래가 정해진 시간에 아래로 흘러내리는 효과를 구현하는 것 이었습니다.
모래가 흘러내리는 효과
처음에는 실제 모래시계와 같이 모래 한 알갱이를 많이 만들어서 만들려고 시도했습니다. 시간이 길면 모래 알갱이를 많이 만들면 될 것이라고 간단하게 생각했습니다. 그런데 여기에 큰 문제가 있었습니다.
모래 알갱이를 작게 만들어서 테스트 해 보니 흘러내리는 효과는 잘 구현이 되었습니다. 그러나 속도가 매우 느렸습니다. 모래 알갱이의 메시를 단순화 해서 테스트 해 보아도 너무 느렸습니다. 에디터에서도 느렸고 빌드해서 테스트 기기에서 수행해 보았더니 도저히 사용할 수 없는 수준이었습니다.
Niagara 시스템 사용
가장 좋은 것은 실제 모래 알갱이가 떨어지면서 시간이 흐르는 것 이었습니다. 그러나 현실적으로 그것은 불가능하다고 판단했습니다. 무슨 방법이 있을까 고민하다가 Unreal Engine 의 Niagara 시스템을 사용해서 모래 알갱이가 떨어지는 효과를 구현해 보기로 했습니다.
Niagara 시스템을 처음 사용해 보아서 좀 생소했습니다. 이것저것 수정을 하면서 조금은 익숙해졌습니다. 최대한 모래가 흘러내리는 효과와 비슷하도록 조정했습니다.
모래시계 위쪽과 아래쪽에 통으로 된 메시를 배치했습니다. 위쪽의 메시는 시간이 흐르면서 작아지고 아래의 메시는 커지는 형태로 작업했습니다. 그리고 모래시계 가운데 부분에 파티클이 아래쪽으로 생성되는 효과를 배치했습니다.
그 결과 그럴듯한 모래시계 앱이 완성되었습니다. 이곳에서 받으실 수 있고 하단에 배너광고가 포함되어 있습니다.

