ShadowGun Demo学习(非技术向)
主要针对拿来主义,并对一些使用范围广的shader进行研究。虽然是4,5年前的demo,但还是有学习价值的
1.GodRays

MADFINGER/Transparent/GodRays
传统的上帝之光效果,有顶点变形,适用范围非常广。
另外维京村落demo中,还有一个粒子用的近处消隐效果:http://www.cnblogs.com/hont/p/5705240.html
2.Blinking GodRays

MADFINGER/Transparent/Blinking GodRays
非顶点变形的近处消隐shader,并且支持过远隐藏
3.Blinking GodRays Billboarded

MADFINGER/Transparent/Blinking GodRays Billboarded
注意培培养皿周围的发光,就是使用带有Billboarded效果的god ray shader制作的
不错的移动平台自发光做法
而培养皿中的气泡流动是双层的uv流动Shader,用的是Scroll 2 Layers Multiplicative No Lightmap Sine
流动倒是好实现,这里不做介绍了
另外推荐一个效率更高的Billboard
https://en.wikibooks.org/wiki/Cg_Programming/Unity/Billboards
4.Lightmap + Wind

MADFINGER/Environment/Lightmap + Wind
旗帜飘扬的效果,也是使用范围非常广,很多shadowGun学习的文章都有介绍过,运行效率也很高
5.Anim texture

MADFINGER/FX/Anim texture
用来做阵列图播放,ShadowGun Demo中的海面焦散就是这么做的
该shader可以做到切换时的淡出淡入,比起直接切换要自然的多
也是值得收藏的一个shader
6.其他
天上的云和飞机的烟尘都是双层的uv偏移shader,容易实现不做介绍
角色使用了重写的brdf shader。brdf是双向反射分布函数,这里重写brdf是指另外实现了一个光照反射的算法
引擎都有各自的brdf实现,并且还有bndf种类型,反射reflection只是其中一种,该shader使用的情况较少,不多做赘述。
ShadowGun Demo学习(非技术向)的更多相关文章
- 《IT蓝豹》吹雪花demo,学习android传感器
吹雪花demo,学习android传感器 吹雪花demo,学习android传感器,嘴巴对着手机底部吹一下就会出现飘着雪花效果. 算是学习android传感器效果.本例子主要是通过android.me ...
- [Unity3D]做个小Demo学习Input.touches
[Unity3D]做个小Demo学习Input.touches 学不如做,下面用一个简单的Demo展示的Input.touches各项字段,有图有真相. 本项目已发布到Github,地址在(https ...
- 百度mobile UI组件GMU demo学习1-结构和初始化
移动web现在已经是zepto的天下,但是一直找不到合适UI库,找了一段时间,终于找到了百度的ui库gum和inter 的 appframework UI库 相比之下,百度的UI库更接地气,配合百度强 ...
- 微信小程序官方demo学习
最近微信小程序很火,很喜欢那种轻应用,用完就走的理念.于是,下载好微信开发者工具,学习一下官方demo. 体验下来,有类似react和vue的感觉,dom类似react那种组件的,data-bindi ...
- Cesium学习笔记(七):Demo学习(自由控制飞行的飞机)[转]
https://blog.csdn.net/umgsoil/article/details/74923013# 这是官方的教程Demo,名字叫Use HeadingPitchRoll,顾名思义,就是教 ...
- 如何写好demo——学习感悟
文章标题:教你如何写好Demo应用 如何制作出最有用的demo呢? 简,易 在demo中,我们要专注于单一的主题.我们的教学覆盖了很大的知识范围,因此,化整为零是非常必要的. 例如,我们要说明Andr ...
- unity3d入门 Demo 学习记录
闲来学习一下 unity3d 的Demo,记录如下. 官方 Demo,名字为 Roll-A-Ball,如图 场景比较简单,包含地面.玩家精灵.主摄像机.墙壁.可拾取的方块.分数为示 text.平行光源 ...
- BNR Android Demo学习笔记(一)——CrimeIntent
开发环境:win7,Android Studio 1.2, 1.Model Crime,数据模型,每个Crime有一个UUID作为唯一标识. package tina.criminalintent; ...
- Unity-The Courtyard demo学习
1.编辑器相机同步 The Courtyard的demo中,会发现Scene视图和Game视图是编辑器下同步的,它通过一个CopySceneView.cs脚本实现 Scene视图和Game视图的显示效 ...
随机推荐
- Web安全学习笔记之一
浏览器基本策略:同源策略 同源策略规定:不同域的客户端脚本在没有明确授权的情况下,不能读写对方的资源. 同域与不同域:如http://www.text.com与https://www.text.com ...
- PHP脱mysql脚本
<?php $SQL_Server="xxxxxx:3306"; $SQL_User="xxxx"; $SQL_Name="xxxx" ...
- c#...的类型初始值设定项引发异常。
今天一直遇到这个问题
- cookie案例-显示用户上次访问网站的时间
package cn.itcast.cookie; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...
- Ubuntu 常用工具、指令安装
修改source list,使用阿里云的软件源 sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list sed - ...
- iOS中集成ijkplayer视频直播框架
ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijk ...
- 在C#中获取如PHP函数time()一样的时间戳
原文:在C#中获取如PHP函数time()一样的时间戳 c#中没有象PHP一样的time()时间戳函数,但有DateTime.Now.Ticks用来计算时间差. 此属性的值为自 0001 年 1 月 ...
- lleetcode 292. Nim Game
You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac ...
- What is the difference between parameterized queries and prepared statements?
Both parameterized queries and prepared statements are exactly the same thing. Prepared statement se ...
- 小试牛刀3之JavaScript基础题
JavaScript基础题 1.让用户输入两个数字,然后输出相加的结果. *prompt() 方法用于显示可提示用户进行输入的对话框. 语法: prompt(text,defaultText) 说明: ...