[原]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;
}
}

时间: 2024-10-06 23:54:02

[原]unity3d刀光剑影(二)的相关文章

[原]Unity3D深入浅出 - 认识开发环境中的Project面板

前面几个是用来创建脚步的,从Prefab说起: Prefab:预设物体,若一个Object在Scene中多处用到,即可选择为改对象创建一个Prefab.创建一个Prefab后,将源Object拖拽置新建的Prefab下,即可在场景中多处使用,且在修改任意一处,Apply后即可修改所有的形态. Material:材质,可自己设定贴图等. Animation:可新建一个动画剪辑 Cubemap:立方体贴图 Lens Flare:可用来模拟太阳光晕效果,可拖置光源的Flare属性下. Custom F

[原]Unity3D深入浅出 - 粒子系统

粒子系统是在三维控件渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由例子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>ImportPackage>Particles,即可将Prticles.UnityPackage导入到项目中,这些粒子效果包括:Dust(沙尘).Fire(火焰).Water(水).Smoke(烟雾).Sparkles(闪光),还有一些粒子资源 Sources.Misc(杂项),如下图 随便拖出来几个 [

[原]Unity3D深入浅出 - 粒子系统(Particle System)

粒子系统是在三维控件渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由例子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>ImportPackage>Particles,即可将Prticles.UnityPackage导入到项目中,这些粒子效果包括:Dust(沙尘).Fire(火焰).Water(水).Smoke(烟雾).Sparkles(闪光),还有一些粒子资源 Sources.Misc(杂项),如下图 随便拖出来几个 接

[原]unity3d之http多线程异步资源下载

郑重声明:转载请注明出处 U_探索 本文诞生于乐元素面试过程,被面试官问到AssetBundle多线程异步下载时,愣了半天,同样也被深深的鄙视一回(做了3年多u3d 这个都没用过),所以发誓要实现出来填补一下自己的空白,同时分享给大家.说明:本人只在pc和Android下测试好使,其他平台未知! 直接贴代码,都是C# http的API,不懂得自己百科. using UnityEngine; using System.Collections; using System; using System.

[原]Unity3D深入浅出 - 认识开发环境中的Layers面板

Layers(分层)下拉列表:用来控制Scene视图中游戏对象的显示,在下拉菜单中为勾选状态的物体将显示在Scene视图中. Everything:显示所有的游戏对象 Nothing:不显示任何游戏对象 Default:显示没有任何控制的游戏对象 TransparentFX:显示透明的游戏对象 Igonore Raycast:显示不处理投射事件的游戏对象 Water:显示水对象 EditLayers:编辑层 尊重他人劳动成功,转载请注明出处:http://www.cnblogs.com/tong

[原]Unity3D深入浅出 - 认识开发环境中的RenderSettings面板

Fog:在Scene中开启雾效果 Fog Color:雾的颜色 Fog Mode:雾效果的模式,Linear(线性雾效果) Exponential(均匀分布的雾效果)  Exp2(越远越看不清楚)三种类型 Fog Density:雾效果的密度 Linear For Start:雾的起始距离 Linear For End:雾的结束距离 Ambient Light:环境光设置 Scybox Material:天空盒材质 Halo Strength:光晕的强度 Flare Strength:耀斑强度

[原]Unity3D深入浅出 - 光源组件(Light)

Unity中提供了四种光源: Directional light: 方向光,类似太阳的日照效果. Point light: 点光源,类似蜡烛. Spotlight: 聚光灯,类似手电筒. Area Light:区域光,无法用作实时光照,一般用于光照贴图烘培. 接下来介绍光源的参数:如下图 Type:可以选择以上介绍的四种光源类型 Range:设置光源范围的大小,从光源对象的中心发射的距离.只有Point和Spotlight有该参数. Color:光源的颜色 Instensity:光源的强度 Co

[原]Unity3D深入浅出 - 认识开发环境中的自带的Package资源包

Character Controller:角色控制器 Glass Refraction(pro only):玻璃反射资源包 Image Effects :图像效果资源包 Light Cookies:光效资源包 Light Flares:光晕资源包 Particles:粒子效果资源包 Physic Materials:物理材质资源包 Projectors:幻灯机效果资源包 Scripts:脚本资源包 Skyboxes:天空盒资源包 Standard Assets(Mobile):标准资源包 Ter

[原]Unity3D深入浅出 - 之碰撞体(Colliders)

通常Colliders会与Rigidbody一起使用,没有添加碰撞体的刚体会彼此相互穿过. 常用碰撞体有以下几种: Box Collider:盒子碰撞体,是一个立方体外形的碰撞体,可调整为不同大小的长方体,一般可用作门,墙及平台等,也可用于交通工具的外壳.最适合的是使用在盒子和箱子上. Is Trigger:触发器,勾选后可用于触发事件,且将被物理引擎锁忽略. Material:材质,采用不同的Physics Material决定了碰撞体与其他对象的交互形式. Center:碰撞体在对象局部坐标