카툰 렌더링 메테리얼 연구 -3
이어서 보자면 Custom depth 만 화면에서 보려고 하면
까맣게 되서 아무것도 안보이게 된다. 원하는 객체에만 효과를 적용하려고 하면 객체 메뉴에서 Render Customdepth Pass 를 체크 해주면
이렇게 보이게 된다. 이 기능은 Outline에서도 사용되기도 한다.
이후에 메테리얼에서 SceneTexture의 CustomDepth-> Component mask (R채널) 을 1-x 해줘야 한다. 1- 는 기존의 내용을 뒤집는 역수같은 느낌이라서 CustomDepth 있는 부분만 아까 했던 렌더링 처리가 되고 나머지는 원래 색감대로 렌더링 되는 것이다.
이후에는 Outline에서도 고려할 문제가 나타나는데, CustomDepth를 기준으로 렌더링 되다보니, 다른 액터에서 가려져도 CustomDepth 부분은 보여진다. Outline의 경우는 이렇게 해서 벽 너머의 적이나 객체를 알아볼 수 있게 하는 기능을 의도적으로 연출할 수 있다. 그러나 아닌 경우에는 객체 뒤에 있으면 렌더링 되지 않게 설정해야 한다.
그래서 InputData->Scene Depth->Component mask (R채널)을 Custom Depth->Component mask(R채널)로 빼준다. 그 step 하고 1-x 을 했던 결과값을 곱해주면
이렇게 가려져서 안보이게 된다.
확장성을 위해서 에디터에 Static Switch parameters 노드를 만들어서, Scene Depth을 합친 값을 true로 Custom Depth만 1-x을 false 로 두고, 필요할때마다 체크 해제하여 원하는 효과를 만들면 된다.
툰 쉐이딩이 확실히 성능적으로 렌더링 부분에서 부담이 적었다.
다음은 마지막 포스트인 Outline이다. 오히려 길어질 수 있어서 한번에 끝날지는 모르겠다.