当前位置: 首页 > news >正文

[原]unity3d刀光剑影(二)

本篇研究 暴走武侠 效果。直接贴代码 

Shader "Cg shader with single texture" {
   Properties {
      _MainTex ("Texture Image", 2D) = "white" {} 
      _MainTex1 ("Texture Image", 2D) = "white" {} 
        
   }
   SubShader {
      Pass {    
         CGPROGRAM
         #pragma vertex vert  
         #pragma fragment frag 
 
         uniform sampler2D _MainTex;    
           uniform sampler2D _MainTex1;    
           
 
         struct vertexInput {
            fixed4 vertex : POSITION;//根据最近对移动平台的性能研究 ,建议一般用fix类型
            fixed4 texcoord : TEXCOORD0;
            fixed4 texcoord1 : TEXCOORD1;
            fixed4 clor : COLOR;
         };
         struct vertexOutput {
            fixed4 pos : SV_POSITION;
            fixed4 tex : TEXCOORD0;
            fixed4 tex1 : TEXCOORD1;
            fixed4 cor :COLOR;
         };
         vertexOutput vert(vertexInput input) 
         {
            vertexOutput output;
 
            output.tex =mul(UNITY_MATRIX_TEXTURE0,input.texcoord).xyzw;
            output.tex1 =input.texcoord1;
            output.cor = input.clor;
            output.pos = mul(UNITY_MATRIX_MVP, input.vertex);
            return output;
         }
         fixed4 frag(vertexOutput input) : COLOR
         {
            fixed4 color1 = input.cor;
            {
            fixed4 texture1 =  tex2D(_MainTex, fixed2(input.tex));    
            fixed4 prea = input.cor;
            color1 = texture1.rgba;
            }
            {
            fixed4 texture2 =  tex2D(_MainTex1, fixed2(input.tex1));    
            fixed4 prea = color1;
            color1.rgb = (texture2.rgb +prea.rgb);
            color1.a = texture2.a;
            }
            
            if(color1.a<=0.01)//采用这种方式实现透明效果
            {
              discard;
            }
            return color1; 
         }
         ENDCG
      }
   }
}

扣得暴走武侠的图:

效果图:

 

需要在C#中添加如下代码 控制刀光的频率:

void Update () 
{
    t+=Time.deltaTime;    
    renderer.material.SetTextureOffset("_MainTex",new Vector2(1-t,0));
    if(t>=1)
    {
        t = 0;
    }
}

 

相关文章:

  • C#设计模式之外观
  • MDK调试错误之HardFault_Handler
  • Dom4j
  • Java基础work4
  • NIO入门系列之第9章:字符集
  • 新语言学习
  • Leetcode | Permutations II
  • C#开发微信门户及应用(10)--在管理系统中同步微信用户分组信息
  • 跳前端坑前,先看看这个!!
  • AWR报告导出
  • Outlook 2010如何更改脱机缓存数据OST文件位置?
  • read和write函数
  • mysql数据库开发规范
  • iOS开发UI篇—字典转模型
  • 金蝶kis记账王云盘版怎么安装与注册
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • echarts的各种常用效果展示
  • Git同步原始仓库到Fork仓库中
  • python3 使用 asyncio 代替线程
  • React as a UI Runtime(五、列表)
  • SAP云平台里Global Account和Sub Account的关系
  • SQLServer之创建数据库快照
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 规范化安全开发 KOA 手脚架
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 如何优雅地使用 Sublime Text
  • 学习笔记:对象,原型和继承(1)
  • 原生js练习题---第五课
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • #if 1...#endif
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .NET Core 中的路径问题
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net Remoting常用部署结构
  • .NET导入Excel数据
  • .net下简单快捷的数值高低位切换
  • .net中生成excel后调整宽度
  • /3GB和/USERVA开关
  • @Pointcut 使用
  • @property python知乎_Python3基础之:property
  • @RestController注解的使用
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ 数据结构 - C++] AVL树原理及实现
  • [1] 平面(Plane)图形的生成算法
  • [android] 请求码和结果码的作用
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计