본문으로 바로가기

150606 주말 단상...

category Diary/2015-2019 2015. 6. 7. 02:56
반응형



금요일 모처럼 양꼬치 먹으러 모임. 기분좋은 일 후에 즐거운 사람들과 마시는 자리는 언제나 즐겁다. 순하리를 술자리에서 마시는건 처음(지난번 한강에서야 그냥 맛만 본거고)인데 정말 술술 들어가서 의도치 않게 과음...


덕분에 워크샵 2주차 수업에 아슬아슬하게 도착.... 강의 듣는 입장도 아니고 수업하러 가는 입장에서는 이건 정말 아니다 싶다.. 반성 그리고 또 반성!!!!! 숙취+공복에 남은 술기운에 머리도 울려 수업 진행이 꽤 힘들었는데 지난번보다 2주차에 다루는 내용이 훨씬 많아진데다 shader 수업도 원하는 분들이 많으셔서 기존 unlit shader에서 splatting texture의 lerp 사용까지 다루었다. 1주차 이론부분만 훓어보다 이번주에는 실습내용도 많이 들어가 그런지 잘 집중해주셔서 괜찮지 않았나 생각중...(lighting collsion 예제 진행은 까먹고 패스해버렸다... 요건 다음주에...)




이번주 최대 이슈는 뭐니뭐니 해도 light probe + bump mapping인데 이게 쉽지 않다.. specular 효과로 느낌내는걸로만 만족해야 할까.... PBS와 reflection probe 그리고 cubemapping까지도 고려중이다...




UnpackNormal 명령에 따른 미러링 처리가 되는걸 보면 이 부분은 크게 신경쓰지 않아도 될듯.... (요건 삽질하다 얻은 나름의 수확...)



PBS 조명 설계는 이건데..... 얘를 어떻게 뜯어 고쳐야 되나.....일단 알파 빼고... metallica이나 smoothniess는 이렇게 수치보다 texture로 받게 하는게 나을것 같긴한데...

// struct SurfaceOutputStandard
{
    fixed3 Albedo;       
    fixed3 Normal;       
    half3 Emission;
    half Metallic;       
    half Smoothness;   
    half Occlusion;       
    fixed Alpha;       
};

inline half4 LightingStandard (SurfaceOutputStandard s, half3 viewDir, UnityGI gi)
{
    s.Normal = normalize(s.Normal);

    half oneMinusReflectivity;
    half3 specColor;
    s.Albedo = DiffuseAndSpecularFromMetallic (s.Albedo, s.Metallic, /*out*/ specColor, /*out*/ oneMinusReflectivity);
   
    half outputAlpha;
    s.Albedo = PreMultiplyAlpha (s.Albedo, s.Alpha, oneMinusReflectivity, /*out*/ outputAlpha);

    half4 c = UNITY_BRDF_PBS (s.Albedo, specColor, oneMinusReflectivity, s.Smoothness, s.Normal, viewDir, gi.light, gi.indirect);
    c.rgb += UNITY_BRDF_GI (s.Albedo, specColor, oneMinusReflectivity, s.Smoothness, s.Normal, viewDir, s.Occlusion, gi);
    c.a = outputAlpha;
    return c;
}








반응형