전 포스팅에서 이야기했던대로 

얼굴 정상으로 돌려주고 시작합니다.

 

보시다싶이 우리가 현실적으로 받는빛은 만화에서 나오는 명암처럼 멋지게 안나옵니다.

더 과장되고 왜곡되야해요.

 

(우선 저 옷의 그림자는 dot으로 구현한것이니 안쓸거니까 지워줍시다.)

 

앞에 포인트 라이트 하나를 얼짱각도에 맞춰서 놔줍니다.

영상하는 친구가 뭐든간에 조명 세개는 써야 이쁘다고 말해줬던것이 생각나네요

대부분 실무에서도 포인트라이트가 아니더라도 저렴한 라이트를 이런식으로 놔줘서 보이게 할겁니다.(뇌피셜)

 

이것만으로는 뭔가 저는 부족합니다.

 

Vroid에서 어떤식으로 쉐이더 코드를 짜줬는지 궁금해서 베껴보기로 했습니다.

 

림라이트 + 저 머리부분은 빛의 영향을 안받도록 이미션맵 해줬네요.

 

요부분을 뜯어봐여.

 

 

rimLighting를 써줬네요 저거 설명 하려면 또 엄청 글 길어지니까 

 

림라이팅에 대해서는 한글로 구글에 쳐보면 좋은자료 많습니다. 

 

이미션은 특별한게 없네요 그냥 노드 짰던거 그대로 두면 됩니다.

 

보니까 lerp하면서 계속 col에다 합쳐주는 형식으로 결과물을 내더라구요. 

 

 

저거 기준으로 함 만들어봅니다.

 

 

다음과 같이 노드를 짜줍니다.

 

림라이트는 프레넬(Fresnel) 공식을 써서 만듭니다. 

 

위에 코드보시면 rimUV라 쓰고 dot연산쓰고 있는거 보이는데..

제가 알고있는 것보다 뭔가 더 복잡하게 림라이트를 구현해놨더라구요.

저거 분석하기 귀찮으니 그냥 잘 알려져있는걸 씁시다.

 

근데 언리얼에서 fresnel을 만들어놨어요! 우와! 킹리얼!

 

저 모델에는 앞머리는 add 뒷머리는 lerp로 한겁니다.

 

add는 그냥 더하는것에비해 lerp는 두개를 입력받아서 사잇값을 출력하는 것이므로 어둡게 나옵니다.

 

add가 더 싸고 이쁘게 나오니까 add 쓰는걸로 결정

 

 

머리카락과 얼굴에 림라이트를 적용한 모습입니다.

 

 

유니티에서 그려지는거하곤 좀 많이 다른모습이지만 

 

저는 제가 만든게 더 맘에듭니다 힣ㅎ

 

 

문득 생각난건데 .

 

눈동자는 빛을 흡수하는게 맞기때문에 다음과같이 노드를 짜서 수정해줍시다.

 

 

before -> after

 

추가로 앞머리 림라이팅이 너무 하얗고 넓어서 떡진머리같으니까 노란색으로 해줍니다.

 

다음포스팅은 저기다가 아웃라인 (외곽선)을 넣어보고 눈썹을 가리는 머리카락을

반투명으로해서 눈썹이 보이도록 해볼까합니다.

 

아웃라인은 같은 메쉬를 두번 그리는 거라 무거워져서 어짜피 안쓸거지만 그냥 공부하는거 정리하는겸 해볼거에요.

 

 

+ Recent posts