Transparent Vertex Shaders with colors

stuff about computer science and programming
Post Reply
User avatar
Site Admin
Posts: 181
Joined: Wed Oct 10, 2018 3:48 am

Transparent Vertex Shaders with colors

Post by dendiz » Wed Oct 10, 2018 11:17 pm

A game set in space should have a futuristic look and feel. And one of the most important factors in giving this sci-fi feel is the use of transparency. I would like the grid to have a transparent view, showing the beautiful stars in the horizon beneath them. After rendering the surfaces the material on these surfaces will be responsible for this transparency. More specifically the shader. The OOB shader in unity doesn’t support vertex colors so I had to dive into the mysterious world of shaders. Here is what I came up with:

Code: Select all

Shader "Custom/Hex Surface Shader" {
    Properties {
        _Color ("Color", Color) = (1,1,1,0.5)
        _Glossiness ("Smoothness", Range(0,1)) = 0.5
        _Metallic ("Metallic", Range(0,1)) = 0.0
    SubShader {
        Tags{ "Queue" = "Transparent" "RenderType" = "Transparent" }
        LOD 200
        Blend SrcAlpha OneMinusSrcAlpha
        Cull Off
        // Physically based Standard lighting model, and enable shadows on all light types
        #pragma surface surf Standard fullforwardshadows alpha
        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0
        sampler2D _MainTex;
        struct Input {
            float2 uv_MainTex;
            float4 color : COLOR;
        half _Glossiness;
        half _Metallic;
        fixed4 _Color;
        void surf (Input IN, inout SurfaceOutputStandard o) {
            o.Albedo = IN.color;
            o.Metallic = _Metallic;
            o.Smoothness = _Glossiness;
            o.Alpha = IN.color.a;
    FallBack "Diffuse"
Here are some different version of the grid with and without transparency

28.png (20.62 KiB) Viewed 125 times
29.png (22.73 KiB) Viewed 125 times
30.png (18.22 KiB) Viewed 125 times

Post Reply