메시 데칼 개요

메시 데칼에 대한 개요입니다.

Choose your operating system:

Windows

macOS

Linux

언리얼 엔진 4 에는 이제 Mesh Decal (메시 데칼)이 지원되어 별도의 표면 지오메트리에 디퍼드 데칼 프로퍼티를 사용할 수 있어 스태틱 / 스켈레탈 메시에 디테일을 추가할 수 있습니다. 디퍼드 데칼은 투영에 의존하므로, 투영 대상 표면에 일치하지 않으면 잘리고 뒤틀리는 평면 표면 디테일에 거의 제한됩니다. 메시 데칼은 단순 투영을 따르지 않는 데칼을 제공해 주는 대신 에지를 감싸는 지오메트리나 스플라인 메시와 함께 사용할 수 있으며, 캐릭터의 외형을 강화시켜 줍니다.

메시 데칼 VS 마스크드 머티리얼

메시 데칼은 뎁스 렌더링은 하지 않지만 불투명 지오메트리 렌더 후 GBuffer 와 DBuffer 업데이트를 한다는 점에서 반투명 블렌드 모드와 디퍼드 데칼을 섞은 것입니다. 마스크드 머티리얼을 사용한 것과 비교하면, EarlyZ 패스 비용이 없고, 그림자나 적절한 오클루전도 없지만, 그에 대한 균형으로 머티리얼에 부드러운 전환이 가능합니다.

메시 데칼은 Deffered Decal Actor (디퍼드 데칼 액터)에 비해 주의해야 할 차이점이 몇 가지 있습니다:

  • 커다란 디퍼드 데칼은 종종 앞면과 뒷면 드로 콜을 하므로 드로 콜 수가 적습니다.

  • 커버되는 픽셀 수가 적고 평평한 뒷면 데칼은 0 픽셀을 커버하므로 꽤 빠릅니다.

  • 커스텀 UV 를 사용할 수 있어 보다 복잡한 투영이 가능합니다.

  • 스플라인 상에 늘어나거나 표면을 감싸도록 제대로 노멀 매핑된 데칼을 가질 수 있습니다.

 메시 데칼

 머스크드 머티리얼

콘텐츠 제작

메시 데칼 지오메트리로 사용할 콘텐츠를 제작하는 것은 모델 생성과 밀접한 관계가 있습니다. 이 지오메트리는 디퍼드 데칼 액터처럼 투영에 의존하지 않으므로, 지오메트리는 영향을 주고자 하는 표면 앞에만 있으면 됩니다. 이 점을 염두에 두고, 데칼 지오메트리는 아래 놓인 표면을 "hug"해야 하지만, 매우 근접하게 일치할 필요는 없습니다. 이런 작은 오프셋을 위해 이미 약간의 뎁스 바이어스가 하드코딩되어 있기 때문입니다. 또한, 데칼에서 점차 사라지는 지오메트리를 약간 사용하면 마스크드 머티리얼로는 얻을 수 없는 데칼의 부드러운 전환 효과를 내는 데 좋습니다.

MeshDecalAuthoring.png

MeshDecalAuthoringComposite.png

베이스 메시 및 데칼 지오메트리 (고립)

합성 메시

또 한가지 콘텐츠 개발시 염두에 두어야 할 점은, 메시 데칼은 뎁스 버퍼 정밀도 제한으로 인해 레벨 오브 디테일(LOD)이나 원거리에서 볼 때 문제가 될 수 있습니다. 지오메트리가 교차하거나 의도대로 일치하지 않기 때문입니다. 하지만 대부분의 경우 메시가 이 부분을 고려하도록 변경하거나, 머티리얼의 월드 포지션 오프셋을 사용하여 오프셋을 조절하면 모델링 프로그램으로 돌아가 별도의 작업을 하지 않아도 됩니다.

Offset.png

 오프셋 값: 0

 오프셋 값: -0.6

이 예제에서, 뎁스가 오프셋을 처리하지 못하는 베이스 메시에 데칼 지오메트리가 충분히 가까이 있습니다. 작은 음수 오프셋 값을 사용하면 아래 있는 지오메트리와 교차하지 않을 만큼 지오메트리를 약간 밀어줍니다.

  • DBuffer 및 non-DBuffer 는 같은 컨테이너를 사용합니다.

  • 겹치는 레이어가 여럿 있을 때 부작용을 피하기 위해 깊이로 소트합니다.

  • Parallel Rendering (병렬 렌더링)이 아직 후크되지 않았습니다. 이 기능을 적극 활용하면 CPU 비용이 약간 절약됩니다.

한계점

  • 머티리얼 에디터 프리뷰가 보이지 않습니다.

  • 소트 순서를 아티스트가 지정할 수 없습니다.

  • 탄젠트 스페이스 지원이 아직 구현되지 않았습니다.

  • Shader Overdraw/Overdraw 함수 기능이 빠져있습니다.

  • 머티리얼 에디터에 현재 올바른 인스트럭션 수가 표시되지 않습니다. 베이스 패스 사용량을 추정하기 때문입니다.

  • 쉽게 조절 가능한 DepthBias 가 없습니다. 현재 메시 위의 표면에서 메시의 오프셋을 사용하거나, 머티리얼의 월드 포지션 오프셋으로 제어해야 합니다.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기