ramp2.TGA
0.00MB

1. 언리얼 에디터상에서 좌측 탭에서 포스트 프로세스 볼륨을 가져옵니다.

 

2. 디테일에서 unbound를 체크해줍니다. (볼륨안에서만 되는것이 아닌 글로벌로 설정하는것입니다.)

 

3.임의의 머테리얼을 만들어서 오른쪽클릭 -> sceneTexture 를 생성하고.

 

 

 

디테일을 다음과같이 설정해줍니다.

 

씬텍스쳐가 뭔지 간단하게 설명하자면

 

현재 화면에 렌더링되고있는 장면 자체를 텍스쳐로 취급하는겁니다.

 

예를들어 씬텍스쳐: 디퓨즈맵이 뭐냐면 

이렇게 빛의 영향을 받는물체의 순수 텍스쳐를 반환합니다.

얼굴은 언릿이니까 까맣게 나오는게 당연하구요.

 

이런겁니다.

 

마스크가 뭐냐면.

 

텍스쳐의 RGB의 한채널의 색상만 출력하겠다는 겁니다. 

 

 

저는 처음볼때 이런생각했습니다 R이면 빨간색은 출력해야되는거 아니야? 했는데.

사실 그런의미가아니라

 

R채널(빨간색)의 채도만큼 흑(0)~백(1)으로 출력하겠다는 겁니다.

그러니 어떤색을 마스킹하던 흑백으로나오는것은 똑같습니다.

 

 

위 이미지는 포스트프로세스 볼륨에 렌더링되고있는 그냥 원래 렌더링텍스쳐와 디퓨즈를 나눈 결과입니다.

 

순수 텍스쳐를 제외하고 그림자만이 저렇게 남게됩니다.

 

그리고 이제 ramp텍스쳐가 필요하니 만들어 봅시다.

 

  포토샵에서 다음과같은 사이즈로 만듭니다.

 

 

이렇게 색상이 나누어진 빼뺴로를 만들어서 언리얼에 드래그해서 임포트합니다.

 

그리고 다음과같이 타일링 설정을 합니다.

 

wrap., clamp , mirror 세개가있는데.

 

저거 뜻이 뭐냐면 저 이미지를 바탕화면으로 설정했을때.

 

이렇게 이미지에 비해 공간이 클시 x축은 어떻게 Y축은 어떻게 하겠냐는겁니다.

 

wrap은 위처럼 그냥 반복해서 타일링해서 채우겠다는 것이고

clamp는 부족한만큼 모짜렐라 치즈마냥 쭈우욱 늘려서 채우겠다는것이며

mirror은 좌우대칭으로 타일링해서 채우겠다는겁니다.

 

그리고 SRGB의 체크를꺼줍니다.

 

 이제 이 램프텍스쳐를 사용합니다.

 

다음과같이 노드를 짭니다.

 

포스트프로세싱0은 0번 볼륨의 렌더링텍스쳐를 가져오고 거기서 디퓨즈컬러를 나누면 

 

렌더링되고있는 씬의 순수 그림자만 남습니다.

 

마스크를 씌운이유는 RGB 3벡터변수말고 하나의 스칼라값을 사용해야하며

 

클램프를 사용하는 이유는 uv는 기본적으로 0~1까지의 좌표를 사용하기때문입니다.

 

입력받은 uv좌표를 기준으로 텍스쳐좌표의 색깔을 그리는데 사용합니다. 

 

사실 저는 처음에 uv좌표에 대해 이해하는게 쉽지가 않았어요 TexCoord에 대해서 알아보고 옵시다.

 

https://cafe.naver.com/unrealenginekr/26327

 

TextureCoordinates를 ...

대한민국 모임의 시작, 네이버 카페

cafe.naver.com

오셀롯님이 작성해주신 글입니다

 

그러면 다음과같이 그려지게되는데.

 

회색부분이 그림자가 드리우는 부분이라고 볼수 있습니다.

 

이대로는 사용하기 어렵죠.

 

그러니까 여기다가 디퓨즈맵을 한번 곱해줍니다.

 

 

이제 뭔가 만화그림자같이 만들어졌죠?

 

저 까만 얼굴 계속보니까 무섭네요.  다음포스팅에서 원래대로 돌리겠습니다ㅎ 

 

다음에는 그림자 들어오는걸 예쁘게 조금더 다듬어주고 빛의방향을 내가 보는 방향으로 바꿔주는 내용에

대해 포스팅 하겠습니다. 

 

GDC에서 발표한 길티기어 툰쉐이딩그냥 한번 봐봐여

https://www.youtube.com/watch?time_continue=1717&v=yhGjCzxJV3E

 

+ Recent posts