Страница 1 из 1

Legacy/Lightmap/BumpedSpec

СообщениеДобавлено: 04 ноя 2010, 21:41
gnoblin
В стандартной поставке шейдер для "самодельного" лайтмапинга c Bumped Specular почему-то выглядит вот так:

Синтаксис:
Используется glsl
Shader "Legacy Shaders/Lightmapped/Bumped Specular" {
        Properties {
                _Color ("Main Color", Color) = (1,1,1,1)
                _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
                _Shininess ("Shininess", Range (0.01, 1)) = 0.078125
                _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {}
                _BumpMap ("Normalmap", 2D) = "bump" {}
                _LightMap ("Lightmap (RGB)", 2D) = "lightmap" { LightmapMode }
        }
        FallBack "Legacy Shaders/Lightmapped/Bumped Diffuse"
}


Поэтому вот исправленный вариант:
Синтаксис:
Используется glsl
Shader "Legacy Shaders/Lightmapped/Gnoblin/BumpedSpec" {
Properties {
        _Color ("Main Color", Color) = (1,1,1,1)
    _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
    _Shininess ("Shininess", Range (0.03, 1)) = 0.078125
        _MainTex ("Base (RGB)", 2D) = "white" {}
        _BumpMap ("Normalmap", 2D) = "bump" {}
    _LightMap ("Lightmap (RGB)", 2D) = "black" {}
}

SubShader {
        LOD 200
        Tags { "RenderType" = "Opaque" }
CGPROGRAM
#pragma surface surf BlinnPhong
struct Input {
  float2 uv_MainTex;
  float2 uv_BumpMap;
  float2 uv2_LightMap;
};
sampler2D _MainTex;
sampler2D _LightMap;
sampler2D _BumpMap;
float4 _Color;
float _Shininess;

void surf (Input IN, inout SurfaceOutput o)
{
  half4 tex = tex2D (_MainTex, IN.uv_MainTex);
  o.Albedo = tex.rgb * _Color;
  half4 lm = tex2D (_LightMap, IN.uv2_LightMap);
  o.Emission = lm.rgb*o.Albedo.rgb;
  o.Gloss = tex.a;
  o.Alpha = lm.a * _Color.a;
  o.Specular = _Shininess;
  o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
}
ENDCG
}
FallBack "Legacy Shaders/Lightmapped/VertexLit"
}
 

Re: Legacy/Lightmap/BumpedSpec

СообщениеДобавлено: 06 дек 2010, 02:09
Роби
Как заменить исправленный код шейдера на новый?

Re: Legacy/Lightmap/BumpedSpec

СообщениеДобавлено: 06 дек 2010, 04:54
gnoblin
Создать новый шейдер, скопипастить туда код исправленного варианта.
После этого шейдер будет доступен в меню.