[原]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(-t,));
if(t>=)
{
t = ;
}
}
[原]unity3d刀光剑影(二)的更多相关文章
- [原]Jenkins(十二)---jenkins管理员用户无法登陆解决办法Access Denied
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *如有错误,请指正 * 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horiz ...
- [原]Unity3D深入浅出 - 粒子系统(Particle System)
粒子系统是在三维空间渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由粒子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>I ...
- Unity3D入门(二):碰撞检測
碰撞器由来 1.系统默认会给每一个对象(GameObject)加入一个碰撞组件(ColliderComponent),一些背景对象则能够取消该组件. 2.在unity3d中,能检測碰撞发生的方式有两种 ...
- Unity3D 笔记二 3D模型基础
一.3D模型基础 1.Hierarchy 显示的是界面上的游戏对象(GameObject),每个游戏对象都有.至少要有一个Camera,点击Camera就可以在Preview中看到摄像机的视角画面.每 ...
- juc原子类之二:基本类型原子类AtomicInteger(AtomicLong、AtomicBoolean)
一.AtomicInteger简介 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似.以AtomicInteger对基本类型的原子类 ...
- 通过Unity3d创建二维码(利用zxing2.2)
http://blog.csdn.net/liulala16/article/details/14521979 2013-11-08 14:53 1965人阅读 评论(3) 收藏 举报 首先 下载ZX ...
- [原]Unity3D深入浅出 - Shader基础开发
概述 简单来讲,shader是为渲染管线中的特定处理截断提供算法的一段代码.Shader是伴随着可编程渲染管线出现的,开发者可使用Shader对渲染过程加以控制,拥有更大的创作控件,因此Shader的 ...
- [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
常用脚本事件: Update:每帧调用一次 Start:在第一次Update执行前调用 Awake:脚本实例在创建时调用 FixedUpdate:每个固定物理时间间隔调用一次 LateUpdate:每 ...
- [原]Unity3D深入浅出 - 物理材质(Physics Materials)
在Unity3d中已经配置好了5种常用的物理材质,Bouncy.Ice.Metal.Rubber.Wood,在菜单中依次选择Assets - Import Package - Physics Mate ...
随机推荐
- java读取配置文件内容
利用com.typesafe.config包实现 <dependency> <groupId>com.typesafe</groupId> <artifact ...
- 初学Struts2
1.新建工程,引用Struts2 项目结构如下: 2.Web配置,web.xml: <?xml version="1.0" encoding="UTF-8" ...
- 微信小程序——自定义导航栏
微信头部导航栏可能通过json配置: 但是有时候我们项目需求可能需要自定义头部导航栏,如下图所示: 现在具体说一下实现步骤及方法: 步骤: 1.在 app.json 里面把 "navigat ...
- jQuery 与 prototype 共存
方法一: <html> <head> <script src="prototype.js"></script> ...
- Python 类的初见
#定义一个Python类 class Cat: #self关键字相当于c++类中的this指针 def eat(self): print("i am eating .") def ...
- Linux之查看CPU
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...
- python numpy的transpose函数用法
#MXNET的N*C*H*W在numpy打印时比较直观#mxnet卷积层# 输入数据格式是:batch * inchannel * height * width# 输出数据格式是:batch * ou ...
- 【转】【Centos】nginx配置:location配置方法及实例详解
location匹配的是nginx的哪个变量? $request_uri location的匹配种类有哪些? 格式 location [ 空格 | = | ~ | ~* |^~ | !~ | !~* ...
- Java如何暂停线程一段时间?
在Java编程中,如何暂停线程一段时间? 以下示例显示如何通过创建sleepThread()方法来暂停线程一段时间. package com.yiibai; public class Suspendi ...
- c# WebBrowser获取cookie
private void BtnOpenUrl_Click(object sender, EventArgs e) { if (txtUrl.Text != "") { Myweb ...