yuchi's Development Home
글 수 201
셀프쉐도우를 넣기 위해서 손을 대기 시작한게 cascade shadow maps까지 와 버렸다.
일단 캐릭터를 위한 그림자로선 충분히 효과를 얻었으나 내친 김에 전체 씬을 cascade shadow maps으로 다 덮어버리면 어떨까 해서 이리저리 실험을 해봤다.
역시나 문제가 있는데 cascade된 뷰프러스텀 별로 depth bias가 달라질 필요가 있는데 도저히 수동세팅으론 맞출 수가 없다. ddx,ddy명령을 이용해서 텍셀 샘플링할때 최적의 bias를 구하는 방법이 있는거 같은데 코드를 봐도 모르겠어서 일단 보류했다.
구현을 해서 돌려보긴 했는데 기존의 라이트맵에 비해서 퀄리티는 확실히 떨어진다. 내가 못해서 그런거겠지만. 일단은 기존의 라이트맵 방식에 캐릭터가 드리우는 그림자만 shadow map으로 처리하는걸로 가닥을 잡았다. 간단하게 전체 씬에도 shadow map을 적용할 수 있도록 했으므로 추후에라도 좋은 방법을 알게 되면 전체 씬에 다시 한번 적용해볼 생각이다.
Light Map Off , Non shadow map
Light Map Off , Cascade Shadow Maps 전체 적용
Cascade Shadow Maps 적용 상태. 잘려진 프러스텀과 대응하는 쉐도우맵 텍스쳐
Light Map On , Cascade Shadow Maps 캐릭터 그림자에만 적용
캐릭터 Non Self Shadow
캐릭터 Self Shadow
생각나면 더 건드려보겠지만 일단 그림자 건은 이걸로 마무리 지으려 한다.
여담입니다만, 일본 게임들은 이런 여캐의 경우, 얼굴 셰이딩을 별도로 한답니다.
얼굴에만 라이트를 하나 더 추가한다던지, half lambert를 사용한다던지, 암튼, 얼굴을 더 화사하게 보이게 하기 위함이라고 하네요.
여치님의 캐릭터와 같이 밝고 자신있게~ 를 어필해야 하는 경우, 참고하시면 약간 이나마 좋아지지 않을까요?! ㅎㅎ