보스 부분은 아직 보완해야할 부분이 많아서 건너띄고 리팩토링 후 포스팅할 생각입니다.
그럼 그전에 셰이더 부분부터 보겠습니다.
계산을 하는 부분입니다. 앞전에 셰이더 튜토리얼에서 작성한 부분입니다.
기본 툰 셰이더는 텍스쳐로 값을 받아서 적용시켜야해서 기존 툰 셰이더보다 코드로 툰 셰이더를 작성해서 사용해보자라는 취지로 만들었습니다. 왼쪽이 기존 셰이더인 그림자를 적용 안한 모습입니다.
오른쪽은 어두운면엔 간접광인 엠비언트 라이트를 추가하고 그림자와 빛 사이 스무브 스텝(smoothstep) 함수를 사용하여 매끄럽게 블렌딩해줬습니다.
다음은 정반사(Specular reflection)와 림 라이트 (Rim lighting)을 만들어서 적용 시켰습니다. 정반사는 보는 방향인 즉, 카메라가 보는 방향을 따라 움직이는 뚜렷한 빛반사입니다.
림 라이트는 물체에 가장자리에 조명을 추가해서 툰 셰이더에서 오브젝트를 돋보이게 하기 위해 사용했습니다. 카메라 시점에서 멀리 향하는 표면에 값을 구하는것이며 노말벡터와 뷰 방향의 내적을 취하고 그것을 반전시킨 값입니다.
이렇게 툰 셰이더를 완성시켜 적용시켰습니다.
'프로그래밍 공부 > 포트폴리오 정리' 카테고리의 다른 글
Day 4 포트폴리오 플레이어 분석 (0) | 2021.06.01 |
---|---|
Day4 포트폴리오 Enemy 정리 (0) | 2021.05.31 |
유니티 포트폴리오 (1) Enemy 리팩토링 (0) | 2021.05.13 |
유니티 포트폴리오 셰이더 - 툰 셰이더 튜토리얼 (0) | 2021.05.11 |