플랫폼 : 안드로이드 6.0.1(마시멜로)
단말기 : 갤스6, 갤스6 엣지, 갤노트5 (갤7에서는 정상동작)
개발환경 : 유니티 4.6.8f1
증상 : 림 라이트 쉐이더 적용시 모델 전체에 림 라이트 색상이 적용됩니다. 안드로이드 이전 빌드에서는 정상 작동합니다.
코드 :
void surf(Input IN, inout SurfaceOutput o)
{
half rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal));
half4 c = tex2D(_MainTex, IN.uv_MainTex)*_Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
o.Emission = _RimColor * (pow(rim, _Depth));
}
위와 같은 쉐이더 코드를 쓰고 있습니다.
현재 확인이 어려운 부분이
- dot 함수의 이상 작동
- normalize 함수의 이상 작동
- IN.viewDir 값의 이상
- o.Normal 값의 이상
위의 부분을 제외하고는 임의의 값으로 테스트를 진행해 보았는데 위의 부분을 확인하기가 쉽지 않네요.
위와 비슷한 증상을 해결하신 분이나 테스트 방법에 대한 의견 있으시면 조언 부탁드립니다.