Unity3D Shader落雪效果
Shader "Custom/Snow" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_RimColor("Rim Color", Color) = (,,,)
_SnowPower ("Snow Power",range(,)) = 0.2//边缘强度
_SnowRang("Snow Range",range(,)) = 0.1
} SubShader { Pass
{ CGPROGRAM #include "UnityCG.cginc" struct v2f
{
float4 vertex:POSITION;
float2 uv:TEXCOORD0;
float3 normal:TEXCOORD1;
float rim:COLOR;
}; sampler2D _MainTex;
float4 _RimColor;
float _SnowPower;
float _SnowRang; v2f vert(appdata_base v)
{
v2f o; o.uv = v.texcoord; float3 sn = mul((float3x3)_World2Object, float3(,,)); o.normal = normalize(mul((float3x3)_Object2World,v.normal));
float diff = saturate(dot(v.normal,sn));
if( -diff<_SnowRang)
{
v.vertex.xyz+=normalize(diff*sn+(-diff)*v.normal)*_SnowPower;
} o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
return o;
} fixed4 frag (v2f IN):COLOR
{
fixed4 c = tex2D(_MainTex, IN.uv);
float diff = saturate(dot(float3(,,),IN.normal)); if(-diff<_SnowRang)
{
float range = (diff/0.8)*(diff/0.8);
//c.rgb = _RimColor.rgb*range+c.rgb*(1-range);
c.rgb = _RimColor.rgb;
} return c;
} #pragma vertex vert
#pragma fragment frag ENDCG
}
}
FallBack "Diffuse"
}
Unity3D Shader落雪效果的更多相关文章
- Unity3D Shader水波效果
水波效果 Shader "Custom/WaterWave" { Properties { _MainTex ("Base (RGB)", 2D) = &quo ...
- Unity3D Shader描边效果
Shader "Custom/RimColor" { Properties { _MainTex ("Base (RGB)", 2D) = "whit ...
- 【译】Unity3D Shader 新手教程(3/6) —— 更加真实的积雪
本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 如果你满足以下条件,我建议你阅读这篇教程: 你想知道如何在表面着色器中进行混色(blend colour) 你想实 ...
- 【译】Unity3D Shader 新手教程(2/6) —— 积雪Shader
本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 如果你是一个shader编程的新手,并且你想学到下面这些酷炫的技术,我觉得你可以看看这篇教程: 实现一个积雪效果的 ...
- 【译】Unity3D Shader 新手教程(1/6)
本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 刚开始接触Unity3D Shader编程时,你会发现有关shader的文档相当散,这也造成初学者对Unity3D ...
- Unity3D shader简介
Unity3D shader简介 可以肯定的说Unity3D使得很多开发者开发游戏更容易.毫无疑问,shader(着色器)编码,仍有很长的路要走.shader是一个专门运行在GPU的程序,经常被神秘包 ...
- 【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 & 第一个Shader的书写
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨) ...
- 转 猫都能学会的Unity3D Shader入门指南(二)
猫都能学会的Unity3D Shader入门指南(二) 关于本系列 这是Unity3D Shader入门指南系列的第二篇,本系列面向的对象是新接触Shader开发的Unity3D使用者,因为我本身自己 ...
- Unity3D Shader入门指南(二)
关于本系列 这是Unity3D Shader入门指南系列的第二篇,本系列面向的对象是新接触Shader开发的Unity3D使用者,因为我本身自己也是Shader初学者,因此可能会存在错误或者疏漏,如果 ...
随机推荐
- OCA,OCP,OCM傻傻分不清?
可能大家知道OCA.OCP.OCM的关系是一个比一个难考,一个比一个含金量高,但是你知道具体的考试科目.考试方式.就业形势区别吗?不知道的话这篇通俗易懂的文章会让你一目了然. 区别一:含金量 ■OCA ...
- jmeter jdbc request 如何运行多个sql
database url:jdbc:mysql://127.0.0.1:3306/api?useUnicode=true&allowMultiQueries=true&characte ...
- Genymotion模拟器无法开启的解决方法——Unable to start the virtual device,The virtual device got no IP address
前言 最近重装了电脑的系统,由win7换成了win8.1.android开发环境也重新配置了一遍.其他的都还好,就是genymotion模拟器一直开启失败. 自己尝试了很多方法,比如卸载重装软件,重新 ...
- session没保存,登录失败
今天发现做的项目,登录不上 查了下原因,原来是session没保存上 查看php.ini文件,session.save_path="D:\php\tmp\tmp" 查看了下对应的目 ...
- java的final关键字——修饰变量
final修饰的变量不可变,指的是引用不可变,(除基本类型)而不是内容. final修饰的成员变量必须被初始化
- iis重启的几种方法
1. 通过“IIS管理器”重启在IIS服务器管理控制树中展开IIS节点,选择需要重新启动IIS服务的计算机,接着单击鼠标右键,选择“所有任务”->“重新启动IIS”. 2.通过“控制面板”-&g ...
- 处理执行sql语句
sqlplus / as sysdba @1.sqlsqlplus / as sysdba @2.sqlsqlplus / as sysdba @3.sql
- 配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
配置ORACLE 11g绿色版客户端和PLSQL环境 本方法是通过使用ORACLE官方提供的精简版客户端,即绿色免安装的客户端. Instant client的版本很多:主要是Basic和Ba ...
- android中sharedPreferences的用法(转)
SharedPreferences介绍: 做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等 ...
- 禁用ViewPager左右两侧拉到边界的渐变颜色
Android ViewPager在拖拽到左边和右边的时候,禁止显示黄色或者蓝色的渐变图片的解决方法 先说明哦,想看看院里的,从头开始看,否则,就拉到最下面啦.解决方案就在最下面. 修改前: 修改后: ...