Quantcast
Channel: Answers by "CallToAdventure"
Viewing all articles
Browse latest Browse all 48

Answer by CallToAdventure

$
0
0
Not there yet - it works with the keyboard now, on to learning how to move it with the finger on screen. I use a separate alpha shader and a script. The script: #pragma strict var scrollspeed : float = 0.3; private var offsetX : float = 0.0; private var offsetY : float = 0.0; function Update() { if(Input.GetKey("d")) { offsetX -= Time.deltaTime * scrollspeed; renderer.material.SetTextureOffset("_Alpha", new Vector2(offsetX, offsetY)); } if(Input.GetKey("w")) { offsetY -= Time.deltaTime * scrollspeed; renderer.material.SetTextureOffset("_Alpha", new Vector2(offsetX, offsetY)); } if(Input.GetKey("s")) { offsetY += Time.deltaTime * scrollspeed; renderer.material.SetTextureOffset("_Alpha", new Vector2(offsetX, offsetY)); } if(Input.GetKey("a")) { offsetX += Time.deltaTime * scrollspeed; renderer.material.SetTextureOffset("_Alpha", new Vector2(offsetX, offsetY)); } } and the shader from the unity forums: Shader "SeparateAlpha" { Properties { _Diffuse("_Diffuse", 2D) = "gray" {} _Alpha("_Alpha", 2D) = "white" {} _Color("_Color", Color) = (1,1,1,1) } SubShader { Tags { "Queue"="Transparent" "IgnoreProjector"="False" "RenderType"="Opaque" } Cull Back ZWrite On ZTest LEqual ColorMask RGBA Fog{ } CGPROGRAM #pragma surface surf BlinnPhongEditor alpha decal:blend vertex:vert #pragma target 2.0 sampler2D _Diffuse; sampler2D _Alpha; float4 _Color; struct EditorSurfaceOutput { half3 Albedo; half3 Normal; half3 Emission; half3 Gloss; half Specular; half Alpha; half4 Custom; }; inline half4 LightingBlinnPhongEditor_PrePass (EditorSurfaceOutput s, half4 light) { half3 spec = light.a * s.Gloss; half4 c; c.rgb = (s.Albedo * light.rgb + light.rgb * spec); c.a = s.Alpha; return c; } inline half4 LightingBlinnPhongEditor (EditorSurfaceOutput s, half3 lightDir, half3 viewDir, half atten) { half3 h = normalize (lightDir + viewDir); half diff = max (0, dot ( lightDir, s.Normal )); float nh = max (0, dot (s.Normal, h)); float spec = pow (nh, s.Specular*128.0); half4 res; res.rgb = _LightColor0.rgb * diff; res.w = spec * Luminance (_LightColor0.rgb); res *= atten * 2.0; return LightingBlinnPhongEditor_PrePass( s, res ); } struct Input { float2 uv_Diffuse; float2 uv_Alpha; }; void vert (inout appdata_full v, out Input o) { float4 VertexOutputMaster0_0_NoInput = float4(0,0,0,0); float4 VertexOutputMaster0_1_NoInput = float4(0,0,0,0); float4 VertexOutputMaster0_2_NoInput = float4(0,0,0,0); float4 VertexOutputMaster0_3_NoInput = float4(0,0,0,0); } void surf (Input IN, inout EditorSurfaceOutput o) { o.Normal = float3(0.0,0.0,1.0); o.Alpha = 1.0; o.Albedo = 0.0; o.Emission = 0.0; o.Gloss = 0.0; o.Specular = 0.0; o.Custom = 0.0; float4 Tex2D1=tex2D(_Diffuse,(IN.uv_Diffuse.xyxy).xy); float4 Add0=_Color + Tex2D1; float4 Tex2D0=tex2D(_Alpha,(IN.uv_Alpha.xyxy).xy); float4 Master0_1_NoInput = float4(0,0,1,1); float4 Master0_2_NoInput = float4(0,0,0,0); float4 Master0_3_NoInput = float4(0,0,0,0); float4 Master0_4_NoInput = float4(0,0,0,0); float4 Master0_7_NoInput = float4(0,0,0,0); float4 Master0_6_NoInput = float4(1,1,1,1); o.Albedo = Add0; o.Alpha = Tex2D0.aaaa; o.Normal = normalize(o.Normal); } ENDCG } Fallback "Diffuse" }

Viewing all articles
Browse latest Browse all 48

Trending Articles