경계를 벗어난 픽셀

언리얼 에디터 뷰포트에 bound, 경계를 벗어난 픽셀 시각화시킵니다.

Windows
MacOS
Linux

오브젝트의 일부분이 화면상에 아직 남아있는데도 깜빡이거나 사라져 버리는 상황이 생긴다면, 아마도 그 일부가 바운드를 벗어났기 때문일 수 있습니다. 이는 흔히 셰이더의 디스플레이스먼트나 월드 포지션 오프셋 사용, 피직스 애셋 없는 스켈레탈 메시, 컴포넌트가 오너의 바운드 상속시 생깁니다.

이는 프러스텀 컬링, 오클루전 컬링, 그림자 드리우기, 간접강 캐시 및 기타 여러가지 렌더링 함수의 오동작을 일으킵니다. 가장 눈에 띄는 부작용은 카메라 회전시의 깜빡임인데, 바운드가 화면을 벗어나는 순간 컬링되는 오동작이 발생하기 때문입니다.

시각화 -> 경계를 벗어난 픽셀 을 선택하면 오브젝트의 경계 밖의 픽셀을 표시해 줍니다.

사용법

뷰포트에 이 모드를 켜려면 뷰포트의 표시 버튼 에 클릭한 다음 시각화 -> 경계를 벗어난 픽셀 시각화 를 선택하면 됩니다.

OOBP_showMenu.png

오너의 경계 상속

블루프린트 컴포넌트는 종종 부모의 경계를 상속하는 경우가 있는데, 부모의 경계가 자손보다 작은 경우 이러한 문제가 발생할 수 있습니다.

아래의 큐브 오브젝트는 (이미지의 빨강 박스인) 박스 컴포넌트스태틱 메시 컴포넌트 로 구성된 블루프린트입니다. 스태틱 메시는 박스에서 경계를 상속받도록 설정되어 있습니다. 박스의 크기가 스태틱 메시보다 작은 경우, 경계를 벗어난 픽셀 은 여러가지 (파랑, 노랑, 하양)색으로 그 부분을 표시해 줍니다.

월드 포지션 오프셋 또는 디스플레이스먼트

이러한 현상이 흔히 발생되는 또다른 상황은, 셰이더가 실시간으로 버텍스의 월드 위치를 변경, 오브젝트의 원래 경계 박스 경계 밖으로 제대로 밀어내는 경우입니다:

이 오브젝트의 일부는 경계 박스가 완전히 숨겨지거나 카메라를 벗어난 이후에 보일 것이기에, 깜빡이거나 부적절하게 사라질 것입니다.

이 경우 컴포넌트의 디테일 패널에서 Rendering 아래 펼쳐진 Bounds Scale (경계 스케일)을 사용해서 메시의 경계 박스에 모든 픽셀이 포함될 때까지 키워주면 됩니다. 그림자를 드리우는 것에 이 작업을 할 때는, 퍼포먼스 비용이 크기 때문에 조심해야 합니다. 스켈레탈 메시에서, 경계는 피직스 애셋으로부터 파생되며, 각각은 본마다 경계에 기여할지 말지 마킹할 수 있습니다.

OOBP_BoundsScale.png

스켈레탈 메시

스켈레탈 메시의 위치가 그 경계에서 변하는(displace) 주요 이유는, 메시의 액터 루트에서 메시를 멀리 이동시키는 애니메이션 때문입니다. 그러나 피직스 애셋이 있는 스켈레탈 메시는 경계를 계산하는 데 피직스 애셋을 사용합니다. 그렇게 하기 위해서는, 콘텐츠 브라우저에서 스켈레탈 메시에 우클릭한 다음 피직스 애셋 생성 을 선택합니다. 기본 세팅을 사용하는 것으로 스켈레탈 메시 경계로 발생되는 오차는 넘길 수 있지만 거의 최종 결과물을 수정하고 싶을 것이기에, 피직스 애셋 편집 관련 상세 정보는 피직스 애셋 툴 문서를 참고해 주시기 바랍니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback