dot연산을 이용해 옷에다 적용한 툰쉐도우. (아무튼 그림자임 )

 

원래는 디렉셔널 라이트로해야하지만 

스팟라이트가 보기 쉬우니까 이걸로.

 

콘텐츠브라우저 오른클릭 -> 머테리얼 -> 머레리얼 파라미터 콜렉션 

생성합니다.

 

 

액터에다가 라이팅 할것도아니고  포스트 프로세스 볼륨안에 넣기 귀찮으니 그냥 레벨블루프린트 안에다가 합시다.

 

요로케 빛의 정방향을 얻어옵니다.

 

그리고 원피스 머테리얼 편집.

 

*0.5+0.5는 half lambert라고해서 내적값의 범위가 1,-1 가서 검은색이 넓게 퍼지게되는데.

이것을 1~0까지만 되게 해주는 마법의 공식입니다 

 

dot을 모르겠으면 

 

대마왕님의 블로그에가서 공부해봅시다.

14 15강 보면 있음

https://chulin28ho.tistory.com/81?category=822622

 

ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 14강

DOT 제대로 알기 14강입니다. 반갑습니다. 흠... 간만에 보니까 막 낯설고 막 이래. 전에 뭔 얘기 했지? 라는 생각에 13강 잠깐 보고 올께요 아... 그거 했구나... 13강때 드디어 Shader의 본질에 접근한 거였군..

chulin28ho.tistory.com

 

수학을 모르겠으면 

https://www.youtube.com/watch?v=P3U9DXFp9SA&list=PL-xqYJ8bjgMC-p94R7iXjFCs-znRg93PJ&index=12

 

원리는 이렇고 

 

문제가 두가지 있읍니다.

 

 

이렇게 라이트벡터가 캐릭터를 안봐서 밤이되거나해서 위를 볼때 

아래에서 비추는 귀신같은 조명이 되어버립니다. 

 

그리고 쉐이더는 dot 연산을 포함한 삼각함수는 나눗셈보다 훨씬 무겁다

+ if문같은 분기문도 중첩되면 무겁다. = 남용하지 말것

 

왜 무겁냐면 컴터가 기본적으로 이진수를 사용하고 나눗셈과 삼각함수의 연산과정을 보면 이해가 될겁니다.

if 분기문또한 내부적으로 빼기연산이지만

초당 30프레임을 렌더링할때마다 1프레임당 최소 몇백 픽셀에 저 연산을 한다고 생각하면.. 음 좀 에바임..

 

게다가 안이쁨.

 

그러니까 다음포스팅에서는 ramp텍스쳐를 활용해 최적화 + 내가원하는 그림자색깔 넣기를 포스팅 하겠습니다.

 

 

+ Recent posts