데칼은 사전에 배치된 오브젝트의 신 댑스 값을 이용하여 겹쳐진 영역에 배치되는 원리인데, 반투명 오브젝트는 신 댑스 값에서 빠지기 때문에 겹쳐진 영역을 구할 수 없어 렌더링이 불가능하기 때문입니다
💡 반투명 오브젝트에 데칼과 유사한 효과를 적용하는 방법은?
매쉬와 데칼 머트리얼을 혼합하여 사용하면 데칼을 적용한 것과 비슷한 느낌의 효과를 만들 수 있습니다
목차
이 튜토리얼은 언리얼 엔진에서 데칼이 반투명 오브젝트에 적용되지 않는 이유와 해결 방법을 설명합니다. 핵심은 데칼이 신 댑스(Scene Depth) 정보를 활용하여 렌더링되는데, 반투명 오브젝트는 신 댑스에 포함되지 않기 때문입니다. 해결책으로, 데칼 머티리얼을 메시(Mesh)에 직접 적용하는 방법을 제시하며, 이를 통해 데칼과 유사한 효과를 낼 수 있습니다. 이 튜토리얼은 언리얼 엔진에서 데칼을 효과적으로 사용하는 방법을 제시하여, 렌더링 문제를 해결하고 시각적 완성도를 높이는 데 도움을 줍니다.
1. 🪟 데칼이 반투명 오브젝트에 적용되지 않는 문제와 실질적 대안
데칼은 포스터, 그래피티, 벽의 균열 등 배경을 자연스럽게 꾸미기 위해 자주 사용되는 시각적 효과다.
그러나 데칼을 반투명 오브젝트(예: 유리창)에는 바로 적용할 수 없다는 문제가 있다.
실제로 반투명에 적용된 것처럼 보여도, 이는 반투명 오브젝트가 아니라 바닥에 데칼이 적용된 경우다.
이 문제를 해결하기 위해서는 매쉬와 데칼 머티리얼을 혼합해서 사용하는 전략이 필요하다.
스태틱 매쉬(플랜)에 데칼용 머티리얼을 직접 적용하면, 데칼이 적용된 것과 매우 유사한 효과를 얻을 수 있다.
2. 🪟 데칼이 반투명 오브젝트에 적용되지 않는 근본적 이유
데칼이 반투명한 질감에 적용되지 않는 이유는, 반투명 오브젝트가 신 댑스(Depth) 정보에 포함되지 않기 때문임을 확인할 수 있다.
신 댑스는 카메라로부터 3D 오브젝트가 얼마나 멀리 떨어졌는지를 나타내는 값이며, 이 모드를 통해 버퍼 비주얼라이제이션에서 확인 가능하다.
오페이크(Opaque)나 마스크드(Material Masked) 오브젝트는 신 댑스 값에 포함되기 때문에 데칼이 정상적으로 렌더링된다.
그러나 트랜스루센트(Translucent), 즉 반투명 오브젝트는 신 댑스 값에서 제외되어 데칼의 겹치는 좌표 영역을 계산할 수 없어 데칼 적용이 되지 않는다.
실험적으로, 데칼이 적용된 오브젝트를 허공에 배치하면 머티리얼만 적용된 경우와 다르게 데칼의 동작을 직접 관찰할 수 있다.