За ответ спасибо! Я малость ошибся в названии темы. Суть вопроса в том, как правильно задать вектор направления в ручную используя три компонента vec3?
Например:
в свойствах шейдера задан вектор(по дефолту он вектор4, но я использую только первых три компонента)....
Далее объявляю этот вектор как переменную...
Дошли до расчета света.
Используется csharp
inline fixed3 LightingBasicDiffuse (SurfaceOutput s, fixed3 lightDir, fixed atten)
{
float difLight = max(0, dot (s.Normal, lightDir));
float4 col;
col.rgb = s.Albedo * _LightColor0.rgb * (difLight * atten * 2);
col.a = s.Alpha;
return col;
}
В данном примере направление вектора рассчитывается от направления вектора нормали(o.Normal) и вектора направленного в сторону источника света(lightDir). Если вместо вектора lightDir использовать свой вектор, то вроде бы все работает, но с косяками в виде чрезмерных засветок из за чего невозможно установить направление источника света с некоторых углов.