- Home /
 
alpha adjustable additive blender
Hello my game is 2D game using planes with fixed z-coord
in Effects, i often using Additive Blender. (Blend one one)
but i need an additional functions : alpha-adjustable additive blender.
for EX, in code)
 render.material.SetColor("_Color", new Color(1,1,1, new_alpha));
 
 
               render.material.SetColor("_Color", new Color(1,1,1, new_alpha));
but i don't know any shader language and i don't know how to use unity shader.
i tried many thing.
the next is origianl code for additive is next: (and also i using it's other versions...)
 Properties {
 _MainTex ("Base (RGB)", 2D) = "white" {}
 }
 Category 
 {
     ZWrite Off
     SubShader {
         Tags { "Queue"="Transparent" }
     
         pass{
         
             // Blend SrcAlpha OneMinusSrcAlpha //AlphaBlend
             Blend One One//Additive
             // Blend One OneMinusDstColor//Soft Additive
             // Blend DstColor Zero//Multiplicative
             //Blend DstColor SrcColor//2X Multiplicative
             
             
             Material{
                 Diffuse[_Color]
             }
             
             SetTexture[_MainTex] {
                 combine texture
             }
         }//pass
     }//subshader
 }//category
 
               and i change it to next (for alpha adjustable)
 Properties
 {
     _Color ("Main Color (A=Opacity)", Color) = (1,1,1,1)
     _MainTex ("Base (RGB), Alpha (A)", 2D) = "white" {}
 }
 Category 
 {
     ZWrite Off
     SubShader {
         Tags { "Queue"="Transparent" }
     
         pass{
         
             // Blend SrcAlpha OneMinusSrcAlpha //AlphaBlend
             Blend One One//Additive
             // Blend One OneMinusDstColor//Soft Additive
             // Blend DstColor Zero//Multiplicative
             //Blend DstColor SrcColor//2X Multiplicative
             
             
             Material{
                 Diffuse[_Color]
             }
             
             SetTexture[_MainTex] {
                 constantColor [_Color]
                 combine texture, constant
             }
         }//pass
     }//subshader
 }//category
 
               but the alpha isn't work.
i don't know why this problem happen. 
please help me~!
Answer by zo · Jul 06, 2013 at 05:47 PM
first, i'm sorry about my bad English skill.
I solved it myself.
I don't want someone who suffered from this problem.
so i leave my solution to here: 
the Blend One One dosen't care any alpha.
you must make alpha blend option manually. 
so you add this code in Blend Code :
 Blend SrcAlpha DstAlpha
 
               so, the combined texture's alpha is working very good!
Your answer
 
             Follow this Question
Related Questions
Scripting Shader: How to control Alpha with slider? 1 Answer
Particle Additive Shader make white strap 1 Answer
Help with custom shader 0 Answers