캐릭터의 땀을 표현하는 노드를 구성중입니다.

문제는 이미 상당히 많은 캐릭터가 만들어져 있고, 캐릭터 얼굴의 UV 위치가 서로 다르기 때문에 캐릭터마다 텍스쳐를 한 장씩 추가한다는 건 좀 무리일 수 있습니다.

그러면, 어떻게 하면 한장의 텍스쳐로 처리할 수 있을까? 고민을 하였습니다.

그러다가 문득 생각이 들었습니다. 땀을 이루는 텍스쳐는 어차피 smoothness를 lerp처리할 것인데 캐릭터의 바디의 위치에 맞춰 텍스쳐의 Offset을 이동하여 조종하면 어떤가라는 생각이 들었습니다.

이 방법이 맞았습니다. 물론 UV에 따라 크고 작고 그런점이 있긴 하지만, 대략적으로 맞출 수 있을듯하네요.

시간에 따라 땀이 점점 발생하도록 구성하였습니다.

 

HDRP에서 가벼운 셰이더를 제작중입니다.

저사양 컴을 위해서 CustomLight를 만들어서 셰이더를 가볍게 만들 생각입니다.

URP는 CustomLight를 만드는 자료가 많이 있는데, HDRP는 찾을수가 없었습니다.

어찌어찌 찾고 찾아서... 방법을 알아 낸거 같군요.

 

URP

#ifdef SHADERGRAPH_PREVIEW
Direction = float3(1, 1, 1);
#else
Light light = GetMainLight();
Direction = light.direction;
#endif

 

HDRP 

#ifdef SHADERGRAPH_PREVIEW
Direction = float3(1, 1, 1);
#else
DirectionalLightData lightData = _DirectionalLightDatas[0];
Direction = -lightData.forward;
#endif

'업무일지' 카테고리의 다른 글

업무일지 <배경추가>  (0) 2023.06.09
업무일지 <Shader Changer>  (0) 2023.05.25
업무일지 <Frame>  (0) 2023.05.22
업무일지 <연출 작업>  (0) 2023.05.18
업무일지 <Unlit Shader>  (0) 2023.05.16