Unity2018新功能抢鲜 | ShaderGraph实战之全息效果
本文首发于“洪流学堂”微信公众号。
洪流学堂,让你学Unity快人几步
上次我们讲了ShaderGraph的配置,创建,编辑和在材质球上的使用,这节课我们通过一个实例来看一下如何用ShaderGraph快速创建一个全息效果。
这种全息效果是通过贴图的Offset随时间滚动产生的,来看下在ShaderGraph中如何制作吧。
1、创建一个PBR Graph
2、我们会用到一张全息的纹理贴图
3、创建一个Sample Texture 2D的Node,节点的Texture属性选择刚才下载的贴图
4、要让这张贴图滚动起来,要使用到Tiling And Offset节点,创建一个这个节点。将Tiling And Offset节点的Output和Sample Texture 2D的UV属性连接起来。现在你如果修改Tiling And Offset节点的Offset的Y值,就会看到贴图能向下滚动了!
5、那么如何让Offset自动变化呢,我们可以使用内置的Time节点。
创建Time节点并将Time(1)连接到Offset,这时候你会看到贴图会自动滚动了。
注意:这样其实会让Offset的X,Y同时滚动,由于贴图在X轴上是重复的,所以看不出来
6、这时候如果将Sample Texture 2D的输出RGBA(4)连接到PBR Master的节点Emission(自发光)上,就能看到效果了
但是这效果显然还不能达到我们的理想的效果。
7、我们想通过一个参数来控制滚动的速度。
1) 添加一个Vector1的参数,命名为Speed,默认值设置0.1.
2) 将这个参数拖到图中,创建一个Multiply(乘法)节点,然后将Time节点和Speed属性节点相乘,Output拖到Offset,如下如所示。
8、我们还想能控制这个全息投影的颜色。
1) 添加一个颜色的属性
2) 我们想让贴图中越黑色的部分颜色越深,白色的部分颜色越浅。
将颜色属性和Sample Texture 2D的输出RGBA(4)相乘,这样颜色会有一个渐变的效果。
3) 将Multiply的Out拖到PBR Master节点的Albedo和Emission上
9、由于我们的贴图是一张RGB的灰度图,并没有带透明通道,所以我们需要自己来将透明通道做出来。
我们可以使用RGB的任意一个通道作为alpha值。同时需要将PBR Master的Surface设置为Transparent。
注意不能使用A通道,因为贴图本身并没有alpha通道,所以alpha通道的值会全是1。
10、最后我们还可以让这个全息效果更好一点:目前的效果比最开始的效果条纹会细一些,可以通过添加一个One Minus节点来解决(One Minus的作用的:输出结果为1-输入)
这样我们就大功告成了!就是文章开头的那个效果。
小结
本文通过全息效果的ShaderGraph,涵盖了输入属性、多个节点的知识。
后续会有更多的实例教程,关注洪流学堂公众号第一时间获取。
你有没有饱受shader折磨的同学?你可以把今天的内容分享给他,或许你能帮到他。
本文的源码可以通过洪流学堂公众号回复 全息
获取。
《郑洪智的Unity2018课》,倾尽我8年的开发经验,结合最新的Unity2018,带你从入门到精通。
Unity2018新功能抢鲜 | ShaderGraph实战之全息效果相关推荐
- Unity2018新功能抢鲜 | ShaderGraph实战教程之溶解效果
本文首发于洪流学堂微信公众号. 洪流学堂,让你快人几步!你好,我是你的技术探路者郑洪智,你可以叫我大智(vx: zhz11235). 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文 ...
- Unity2018新功能抢鲜 | ShaderGraph入门教程
本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). Shader一直是Unit ...
- Unity2018新功能抢鲜 | 粒子系统改进
本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 Unity2018.1中对粒子系统进行了重大改进,包括功能.性能很多方面,快来看看吧! GPU网格实例化 粒 ...
- Unity2018新功能抢鲜 | C# Job System Ⅱ
本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 上一篇文章我们讲了job system,这篇文章来看看如何使用job system以及常见的问题. Sche ...
- unity vr 粒子系统_Unity2018新功能抢鲜 | 粒子系统改进
Unity2018.1中对粒子系统进行了重大改进,包括功能.性能很多方面,快来看看吧! GPU网格实例化 粒子系统现在支持GPU实例化来渲染网格.粒子系统使用Procedural Instancing ...
- Unity2018新功能之Entity Component System(ECS)一
Entities介绍 Entities是Unity2018新引入的一个全新游戏设计框架,我们称之为实体组件系统(Entity Component System,简称ECS),它的出现使我们能够集中精力 ...
- iOS 16.1新功能尝鲜:如何在iPhone上启用实时活动?
近日,苹果发布了iOS 16.1正式版,在本次更新中,苹果推出了全新"实时活动"功能,用户能在iPhone锁定屏幕上查看到更多信息,如果是iPhone 14 Pro机型,实时活动信 ...
- Unity2018新功能抢先预览 | Preset功能
本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 Presets(预设) Preset是Unity2018的新功能. Preset是保存对象属性的资源.Pre ...
- unity2018新功能之——2D Animation System
今天收到unity的邮件,然后便浏览了下2018的新特性. https://blogs.unity3d.com/cn/2018/05/02/2018-1-is-now-available/?utm_c ...
最新文章
- 1143 Lowest Common Ancestor(建树与不建两种思路)
- iOS使用Workspace来管理多项目
- 把握春招,收下这份GitHub万星的ML算法面试大全!
- PhpStorm快捷键
- linux用于查看文件内容 tail、cat、more、less、head 、sed 命令
- 构建适用于Oracle 11.2.0.x的Linux单数据库实例的DataGuard
- 带你一文搞懂网络层的IP协议\数据链路层的以太网\ARP协议以及DNS和NAT协议
- vc++树状控件(TreeCtrl)用法
- python扩展包rediscluster集群_令人抓狂的redis和rediscluster Python驱动包的安装
- 大数据分析-excel常用技巧
- 对xml文件的增删改查及读写
- windows弹出窗体
- 烟花代码,予心上人最璀璨烟花—— 附源码与成品(HTML+CSS+JS)
- 2020最新xcode打包IPA(完整详细图文详解)
- 设置MyEclipse2015黑色主题背景及删除主题
- 火影手游服务器维护多久,《火影忍者》手游结束终极内测的停服公告
- idea 运行单个main方法_idea如何运行main方法
- 【值得读】自动机器学习: 最新进展综述与开放挑战 | AutoML
- 伪蒙特卡洛(Quasi-Monte Carlo, QMC)随机
- 163邮箱导出eml格式文件
热门文章
- for update 和 for update nowait
- UML学习笔记(一):UML简介
- linux查分自动备份tar,linux 下tar的增量备份
- python3 def download_python3下载抖音视频
- ipmitool介绍_ipmitool命令行使用详解
- 平面设计师如何利用图片素材提升工作效率
- mate30支持鸿蒙系统,Mate30不能使用GMS服务,华为P30不能通过谷歌安全认证,华为:鸿蒙系统不远了...
- fastdfs文件上传 read timeout_121FastDFS实现文件上传下载
- python字典编码_Python列表,字典,元组,字符串操作,文件操作,字符编码
- 图解Http学习第三章