Unity Shader Feature

Shader Feature

设置Keyword

//0:Red 1:Green 2:Blue

Mat.SetInt("_Color",0);

需要在创建时进行设置,运行时不可设置

bash 复制代码
Shader "Unlit/KeywordEnum"
{
    Properties
    {
        [KeywordEnum(Red,Green,Blue)] _Color("Color",int) = 0
    }
    SubShader
    {
        Pass
        {
            HLSLPROGRAM
            #pragma vertex vert
            #pragma fragment frag

            //Each keyword must start with the property name followed by _<Enum Value>. All in uppercase.
            #pragma  shader_feature _COLOR_RED _COLOR_GREEN _COLOR_BLUE

            #include "UnityCG.cginc"

            float4 vert(float4 positionOS : POSITION) : SV_POSITION
            {
                return UnityObjectToClipPos(positionOS);
            }

            float4 frag() : SV_Target
            {
                float4 color;

                #ifdef _COLOR_RED
                color = float4(1, 0, 0, 1);
                #elif _COLOR_GREEN
                color = float4(0, 1, 0, 1);
                #elif _COLOR_BLUE
                color = float4(0,0,1,1);
                #endif

                return color;
            }
            ENDHLSL
        }
    }
}
相关推荐
晴天164 分钟前
前端虚拟滚动(虚拟列表)原理与实战
前端
Huangjin007_10 分钟前
【Linux 系统篇(十七)】进程(五) :进程切换、O(1) 调度算法
linux·运维·服务器
weixin_4643076311 分钟前
linux虚拟机断网
linux·运维·服务器
ly-2725312 分钟前
IEEE PDF eXpress终稿检测踩坑记录:PDF图片字体未嵌入与LaTeX参考文献编译异常解决方法
服务器·人工智能·算法
志栋智能13 分钟前
凌晨3点的告警,如何用AI在5分钟内完成定界?
运维·服务器·数据库·人工智能·自动化
晴天1618 分钟前
前端 RAIL 性能模型实战分享-Day37
前端
变与不变80620 分钟前
JS作用域,作用域链
前端·javascript·es6
知兀25 分钟前
Tailwindcss报错:没有与此调用匹配的重载
前端·c++·tailwindcss
晴天1630 分钟前
Chrome WebMCP 让网站学会向 AI「自我介绍」
前端·人工智能·chrome
雪芽蓝域zzs37 分钟前
二十一节:进阶:用户列表批量删除功能
前端·javascript·vue.js