本文首发于“洪流学堂”微信公众号。
洪流学堂,让你学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实战之全息效果相关推荐

  1. Unity2018新功能抢鲜 | ShaderGraph实战教程之溶解效果

    本文首发于洪流学堂微信公众号. 洪流学堂,让你快人几步!你好,我是你的技术探路者郑洪智,你可以叫我大智(vx: zhz11235). 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文 ...

  2. Unity2018新功能抢鲜 | ShaderGraph入门教程

    本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 洪流学堂公众号回复节点,获取ShaderGraph节点详解PDF文件(带目录). Shader一直是Unit ...

  3. Unity2018新功能抢鲜 | 粒子系统改进

    本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 Unity2018.1中对粒子系统进行了重大改进,包括功能.性能很多方面,快来看看吧! GPU网格实例化 粒 ...

  4. Unity2018新功能抢鲜 | C# Job System Ⅱ

    本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 上一篇文章我们讲了job system,这篇文章来看看如何使用job system以及常见的问题. Sche ...

  5. unity vr 粒子系统_Unity2018新功能抢鲜 | 粒子系统改进

    Unity2018.1中对粒子系统进行了重大改进,包括功能.性能很多方面,快来看看吧! GPU网格实例化 粒子系统现在支持GPU实例化来渲染网格.粒子系统使用Procedural Instancing ...

  6. Unity2018新功能之Entity Component System(ECS)一

    Entities介绍 Entities是Unity2018新引入的一个全新游戏设计框架,我们称之为实体组件系统(Entity Component System,简称ECS),它的出现使我们能够集中精力 ...

  7. iOS 16.1新功能尝鲜:如何在iPhone上启用实时活动?

    近日,苹果发布了iOS 16.1正式版,在本次更新中,苹果推出了全新"实时活动"功能,用户能在iPhone锁定屏幕上查看到更多信息,如果是iPhone 14 Pro机型,实时活动信 ...

  8. Unity2018新功能抢先预览 | Preset功能

    本文首发于"洪流学堂"微信公众号. 洪流学堂,让你学Unity快人几步 Presets(预设) Preset是Unity2018的新功能. Preset是保存对象属性的资源.Pre ...

  9. unity2018新功能之——2D Animation System

    今天收到unity的邮件,然后便浏览了下2018的新特性. https://blogs.unity3d.com/cn/2018/05/02/2018-1-is-now-available/?utm_c ...

最新文章

  1. 1143 Lowest Common Ancestor(建树与不建两种思路)
  2. iOS使用Workspace来管理多项目
  3. 把握春招,收下这份GitHub万星的ML算法面试大全!
  4. PhpStorm快捷键
  5. linux用于查看文件内容 tail、cat、more、less、head 、sed 命令
  6. 构建适用于Oracle 11.2.0.x的Linux单数据库实例的DataGuard
  7. 带你一文搞懂网络层的IP协议\数据链路层的以太网\ARP协议以及DNS和NAT协议
  8. vc++树状控件(TreeCtrl)用法
  9. python扩展包rediscluster集群_令人抓狂的redis和rediscluster Python驱动包的安装
  10. 大数据分析-excel常用技巧
  11. 对xml文件的增删改查及读写
  12. windows弹出窗体
  13. 烟花代码,予心上人最璀璨烟花—— 附源码与成品(HTML+CSS+JS)
  14. 2020最新xcode打包IPA(完整详细图文详解)
  15. 设置MyEclipse2015黑色主题背景及删除主题
  16. 火影手游服务器维护多久,《火影忍者》手游结束终极内测的停服公告
  17. idea 运行单个main方法_idea如何运行main方法
  18. 【值得读】自动机器学习: 最新进展综述与开放挑战 | AutoML
  19. 伪蒙特卡洛(Quasi-Monte Carlo, QMC)随机
  20. 163邮箱导出eml格式文件

热门文章

  1. for update 和 for update nowait
  2. UML学习笔记(一):UML简介
  3. linux查分自动备份tar,linux 下tar的增量备份
  4. python3 def download_python3下载抖音视频
  5. ipmitool介绍_ipmitool命令行使用详解
  6. 平面设计师如何利用图片素材提升工作效率
  7. mate30支持鸿蒙系统,Mate30不能使用GMS服务,华为P30不能通过谷歌安全认证,华为:鸿蒙系统不远了...
  8. fastdfs文件上传 read timeout_121FastDFS实现文件上传下载
  9. python字典编码_Python列表,字典,元组,字符串操作,文件操作,字符编码
  10. 图解Http学习第三章