먼저 4개의 Quad로 둘러싸인 방을 하나 만들어준다
이때 카메라가 바라보는 정면에는 Quad를 설치하지 않는다
따로 Stencil Mask를 설치할 예정이기 때문이다
이제 Quad를 설치하는 Rotation의 값도 중요하다
3축의 바라보는 방향이 중요하다
Z축같은경우 Quad가 바깥쪽을 바라보게 해야한다
나머지 X, Y축은 상관없지만 Z축은 항상 바깥쪽을 바라봐야 한다
Stencil1 포함 자식 객체들의 Layer을 전부 Stencil1로 바꾸어준다
Quad하나를 생성한 후 Z축이 방안을 바라보도록 만든다
이때 Stencil Mask의 Layer는 default로 내비두면 된다
Stencil Mask의 Materials을 만들어줘야한다
Shader "Examples/Stencil"
{
Properties
{
[IntRange] _StencilID ("Stencil ID", Range(0, 255)) = 0
}
SubShader
{
Tags
{
"RenderType" = "Opaque"
"Queue" = "Geometry"
"RenderPipeline" = "UniversalPipeline"
}
Pass
{
Blend Zero One
ZWrite Off
Stencil
{
Ref [_StencilID]
Comp Always
Pass Replace
Fail Keep
}
}
}
}
Shader하나를 생성한 후 복붙해서 넣어준다
그다음 메테리얼을 생성하고 Stencil ID 값을 1로 설정한다
그 다음 Stencil Material을 생성한 후에 Quad에 부착하면 된다
PipeLine Asset에 들어가준다.
Opaque Layer Mask과 Transparent Layer Maks에서 Stencil1~(해당하는 값)까지 체크 해제해주면 된다
다음으로 파이프라인설정을 수정해줘야 한다
Renderer Features아래에
Add Renderer Feature를 클릭하고 Render Objects를 눌러주면된다
하나는 Opaque, 하나는 Transparent로 생성해준다
밑줄친 부분을 위 사진처럼 설정하면 된다
짤막하게 공부해본 결과 알아낸 거는
Value와 아까 위에서 설정한 Stencil ID값이 Equal일 경우에만 뒤에 오브젝트들이 보이는 거다
Equal이므로 값이 다르면 안된다
이것도 위 사진처럼 설정해주면 된다
설정은 이게 끝이다
각 방마다 Stencil ID를 주고 파이프라인에서 Value값을 동일하게 설정해주면 끝이다!