공부용 이모저모
UE4 - 포스트 프로세스로 외곽선(OutLine)효과 내기 본문
참조:https://www.youtube.com/watch?v=YVTcH6da32Y
포스트 프로세스의 세팅은 https://unrealstudy.tistory.com/7에 기재했다.
우선 먼저 Custom Stencil을 사용해서 외곽선을 만들어본다.


스텐실 수치를 올리려면 Render CustomDepth Pass를 활성화 시켜야한다.
외곽선 그리기는 대부분 상 하 좌 우로 캐릭터를 그리는 예제가 주로 보인다.
4번이나 그리므로 비용이 많이 들어서인지 참조영상에서는 두개만 가지고 외곽선을 표시했다.
단 이렇게 할경우 특정각도에서 제대로 나오지 않는다.
우선 개념 이해를 위해 단일방향으로 시도해본다.

SceneTexelSize는 텍셀 크기만큼 이동시킬때 사용한다고 한다. Constant2Vector로 x,y좌표를 조작 할 수 있다.
5,0만큼 이동시켜서 그리도록 하고 Multiply한다.(1,0이 티가 잘 안나서)
ScreenPosition은 현재 위치를 가리키는데, 둘을 더하면 현재 위치로부터 5,0만큼 UV를 이동시킨다는 의미이다.
여기서의 UV는, 스크린 텍스쳐(스크린샷)을 하나의 텍스쳐로 생각하고 UV를 이동시킨다는 의미이므로
대충 렌더타겟을 5픽셀 옆으로 이동시킨다고 생각하면 된다.(스크린샷이 2d스프라이트라고 생각하고 5픽셀 옆으로)
커스텀 스텐실은 SceneTexture을 만들고 메뉴에서 선택하면 된다.5픽셀 이동한 스텐실 버퍼와,
이동하지 않은 스텐실 버퍼를 준비한다. 값비교에 RGB 값이 다 필요하지는 않으므로
R값만 가지고 비교를 한다.



이제 1번의 결과물을 IF의 A에 넣고, B에다 기존 스텐실 값을 넣는다(맨 처음에 2로 넣었으니 2로 집어넣는다)
값이 2랑 같다면 2를 반환해주고, 값이 다르다면 0을 반환해준다.
전체를 더한다음 기존 Stencil의 위치를 뺐기 때문에 외곽부분만 2가 되어있는 상태이다.
색상은 Contant3Vector을 사용하면 된다. 이제 값이 다른경우에는,
SceneTexture:PostProcessInput0의 RGB값을 가져오면 원본을 그대로 그린다.
대충 이런 원리로 4번을 반복하면 된다.그나마 다행인건 스텐실 버퍼를 이용해 포스트 프로세스에서
한번에 계산을 할것이기 때문에 객체마다 외곽선을 적용시키는 것보다는 부담이 덜할것으로 보인다.
이제 4번을 할 경우이다.

x로 2,0으로 간것과, 그걸 반전시킨거로 CustomStencil을 준비.
y로 2,0으로 간것과, 그걸 반전시킨거로 CustomStencil을 준비.
그리고 전부 MAX 시키면 4개가 합쳐진 모양이 나오는데 거기서 기존의 Stencil을 이용해서 구멍을 낸다.
그렇게 하면 외곽선이 완성된다.



벽을 Custom Depth하지 않으면 외곽선이 벽을 뚫어버리는 문제가 생겨버렸다.
이번엔 Stencil을 쓰지않고 Custom Depth를 사용해서
벽을 뚫지 않게 외곽을 만들어보기로 했다.
https://unrealstudy.tistory.com/7
UE4 - 벽에 가려진 캐릭터 특정 색상으로 표시
참조 블로그:https://eastroot1590.tistory.com/entry/UE4-Advenced-%EB%B2%BD-%EB%92%A4%EC%97%90%EC%9E%88%EB%8A%94-%EC%98%A4%EB%B8%8C%EC%A0%9D%ED%8A%B8-%EA%B7%B8%EB%A6%AC%EA%B8%B0-feat-Custom-Depth UE4..
unrealstudy.tistory.com
의 응용이다.





오른쪽은 (왼쪽으로만 외곽선을 적용시켜본다 2)와 동일하다





'UE4 - 블루프린트' 카테고리의 다른 글
| UE4 - 굴절 (물 반사) & 안개 (0) | 2021.07.14 |
|---|---|
| UE4 - 알파테스트 머리카락 그리기 / 소팅 (0) | 2021.07.13 |
| UE4 - 일렁이는 빛 만들기 & 액터 아지랭이(HAZE) (0) | 2021.07.12 |
| UE4 - 벽에 가려진 캐릭터 특정 색상으로 표시 + 림라이트 표시 (0) | 2021.07.08 |
| UE4 - 메쉬 체인 기능 연습 (0) | 2021.07.06 |