加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

shader实现Toggle的方法

(2017-03-15 18:29:45)
分类: Unity3d之Shader篇

                                                    shader实现Toggle的方法

【步骤】
Properties 
加 [MaterialToggle]_toggle("_toggle",int) = 0
或者 [Toggle]_toggle("_toggle",int) = 0

2 定义
bool _toggle;

3 使用
 if(_toggle)
    //do

【具体代码】

  1. Shader "Custom/Toggle" {
  2. Properties {
  3. [MaterialToggle]_toggle("_toggle",int) = 0
  4. }
  5. SubShader
  6. {
  7. pass
  8. {
  9. CGPROGRAM
  10. #pragma vertex vert
  11. #pragma fragment frag
  12. #include "UnityCG.cginc"
  13. bool _toggle;

  14. struct v2f {
  15.    float4  pos : SV_POSITION;
  16.    float2  uv : TEXCOORD0;
  17. } ;
  18. v2f vert (appdata_base v)
  19. {
  20.    v2f o;
  21.   o.pos = mul(UNITY_MATRIX_MVP,v.vertex);
  22.    return o;
  23. }
  24. float4 frag (v2f i) : COLOR
  25. {
  26.    if(_toggle)
  27.     return float4(1,0,0,1);
  28.   else
  29.   return float4(0,0,0,1);
  30. }
  31. ENDCG
  32. }
  33. }
  34. }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有