티스토리 뷰

학습/유니티

표면하산란

aigoia 2024. 3. 24. 10:26

 

 보통 표면하산란은 피부질감을 표현할때 쓴다. 

 

#if SHADERGRAPH_PREVIEW
    MainLightDirection = float3(0.5, 0.5, 0);
    MainLightIntensity = 1.0;
#else
    MainLightDirection = GetMainLight().direction;
    MainLightIntensity = GetMainLight().color;
#endif

 

 아 글고 쉐이더 그래프는 이런식으로 라이팅을 재정의해서 쓰더라. 

 

 아 그리고 엠비언트 오쿨루젼을 그대로 텍스트 맵에 구어버리는게 요즘 최적화 트랜드더라. 따로 엠비언트 맵을 구현을 하는게 아니라 이런식으로 하더라. 특히 툰쪽이 그렇다. 

 

 

 텍스트 맵은 가급적 하나로 축약한다. 개인적으로 드로우 콜이 늘더라도 머리는 따로 분리하는 편인데 그늘이 진다고 빛을 얼굴같이 폴리곤이 많은 쪽으로 발사하는거는 별로 좋아하지 않기 때문이다. 

 

 내일은 일어나서 블렌더로 굽는거 확인해 봐야 할듯 싶다. 

 

 블렌더도 노드 시스템은 크게 다르지 않다. 고도엔진도 그렇고 언리얼도 그렇다. 구울때는 Cycle로 해놓는가 보다.

 

 닌텐도도 그렇고 요세 대세가 이런식으로 AO를 구어서 하나에 맵에 합치는게 대세이더라. 

 

 AO를 뒤집으면 표면하 산란을 구현할수 있는 하이트 맵이 된다는게 신기하다. 

 

 아 완전 개신기하다. 이런식으로 하면 하나에 맵에 다 구울수 있을꺼 같긴 하다. 

 

 하일라이트 맵 말고 AO 맵도 추출해보자. 정황상 검정색으로 하고 인사이드로 하면 하일라이트 맵이 하얀색으로 하고 그냥 하면 엠비언트 오쿨루젼이 구어지는듯 싶다. 

 

 폴리곤이 적어서 그런가 깔끔하게 안구어 진다. 손을 좀 보자. 

 

 김프로 가우시안 7에 1 / 4 정도 구워 주면 되는듯 싶다. 

 

 오쿨루젼 맵을 베이스에 굽는거는 잘 안된다. 징그럽게 나온다. 셰이더로 넣는게 자연스러운듯 싶다. 

 

 

 기본적인 것만 있는 경량 셰이더를 만들어 보았다. 오쿨루전이 들어가니까 경량이여도 그럴듯해 보인다. 

 

 

'학습 > 유니티' 카테고리의 다른 글

몇가지 패턴으로 쪼개서  (1) 2024.03.26
머리로 암기가 아니라  (0) 2024.03.25
회사 들어가기 전에  (1) 2024.03.24
몽고DB와 유니티  (0) 2024.03.10
몽고DB 유니티  (0) 2024.03.10