2025. 12. 11. 21:02ㆍ본 캠프
기획자의 요청 중에 잠들었을 때 눈감는 신에 대한 Vignette효과에 대한 언급이 있어서
DOTween을 활용해 어떻게 자연스럽게 눈이 감기는 연출을 할 수 있을지에 대해 알아보았다.

처음엔 단순히 이미지를 위아래로 만들어서 서로 커지면서 닫히게 만드는 형식으로 DOTween을 사용했는데
어색하기도 하고 매직넘버를 코드에서 너무 많이 쓰게 되는 경향이 있어서 이 부분은 폐기
이후 비네트처리를 GlobalVolume을 통해 구현해보았고 자연스러운 효과를 구현할 수 있게 됐다.

이번 프로젝트는 URP를 사용하기 때문에 비네팅효과 같은 Post-Processing을 사용하기 위해서는 Volume을 사용해야 한다.
그리고 신에도 GlobalVolume 도 추가하고 VolumeProfile을 통해 해당 효과를 신에 구현하는 방식이다.

눈 깜빡임을 구현할 컨트롤러를 만들고
어두워지는 비네트와 완전히 암전됐을 때를 구현할 ColorAdjustments를 같이 다룬다.

DOTween.Sequence는 여러 Tween을 순차로 또는 동시에 실행할 수 있는 메서드로
DOTween.To를 순차적으로 실행시키는 묶음을 만들었다고 보면된다.
여기서 두트윈의 보간방식을 활용해 현재값과 목표값 사이의 지속시간을 보간된 값을 생성해서 Setter에 넣어서 사용했다.

마지막에 눈이 완전히 감기면서 ColorAdjustments를 가져와 자연스럽게 암전되는 효과까지 추가하면
눈이 서서히 감기면서 잠에 빠지는 듯한 연출을 구현할 수 있다.


처음에 두트윈을 활용할 때 문제가 됐던 부분 중 vignette.intensity를 바로 활용하지 못하는 부분이 있었는데
오류를 확인해보니 ClampedFloatParameter 형식에 대한 오류 메시지가 떴다.


메서드 내부에서 일일히 람다로 감싸면 가독성이 너무 안좋기에
위에서 미리 람다식을 변수로서 선언을 해주고 사용하는 방식을 선택했다.
'본 캠프' 카테고리의 다른 글
| [내일배움캠프 본 캠프 55일차] UI 작업_ Event Bus 연결 (0) | 2025.12.15 |
|---|---|
| [내일배움캠프 본 캠프 54일차] 사물을 확대해서 돌려보기_1 (0) | 2025.12.12 |
| [내일배움캠프 본 캠프 52일차] 이벤트버스 구성 (0) | 2025.12.10 |
| [내일배움캠프 본 캠프 51일차] 이벤트버스에 대한 이해 (0) | 2025.12.09 |
| [내일배움캠프 본 캠프 50일차] R&D 기간 (0) | 2025.12.08 |