Unity3d流光效果
Material中纹理的属性都有Tiling和Offset,可以利用Offset做uv动画,从而完成各种有趣的动画,比如流光效果!
流过效果即通常一条高光光在物体上划过,模拟高光移动照射物体的效果,之前是使用Shader每帧传递一个Offset值,修改高光纹理采样的uv,从而达到其效果。这样的敝处在于需要自己实现Shader,简单的同一速度移动是很容易实现的,如果希望移动随度是变化的,则需要自己实现对速度曲线的解析(并传递给Shader)达到此目的。
没想到一直用来作位移动作,骨骼动作的Animation竟也有此功能!
下图中即为Animation对于物体的渲染方面可以做的操作(Unity 4.3版本和4.2略有不同)
在Shader部分,有两张纹理,分别是底图和高光图,这里需要注意的是如果要移动uv,则必须声明其ST属性,这样才可以通过内置方法TRANSFORM_TEX()计算uv偏移了,Shader如下
这里只使用了一种很简单的算法计算最终的颜色值,即将高光覆盖底图颜色增加高光alpha倍,可根据需求设计计算方法!
在动画的关键帧中,根据美术需求设计曲线,如图
运行效果如图
注意此方法不能应用于NGUI,因为NGUI其组织顶点方式与普通物体不同!
Unity3d流光效果的更多相关文章
- Unity3d之流光效果
所谓流光效果,如一个图片上一条刀光从左闪到右边,以下为实现代码: c#代码: using System; using UnityEngine; public class WalkLightEffect ...
- NGUI具有流光效果的UISprite
之前做过一个流光效果(http://www.cnblogs.com/jietian331/p/4748644.html). 现将其改进一下,与NGUI结合起来,提供一个具有流光效果的组件:UIWalk ...
- Unity Shader 效果(1) :图片流光效果
很多游戏Logo中可以看到这种流光效果,一般的实现方案就是对带有光条的图片uv根据时间进行移动,然后和原图就行叠加实现,不过实现过程中稍稍有点需要注意的地方.之前考虑过风宇冲的实现方式,但是考虑到sh ...
- 今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因
今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因 好在找到了原因,shader 代码如下,原理是提高经过的颜色亮度 void surf ...
- css流光效果
css流光效果1: <!DOCTYPE html> <html> <head> <title>ww</title> </head> ...
- Unity3D Shader 模型流光效果
Shader "Custom/FlowColor" { Properties { _MainTex ("Base (RGB)", 2D) = "whi ...
- unity3d 幻灯片效果实现
上一篇使用的是静态方式进行的加载,采用的数据结构为 数组 该篇文章则是使用动态加载的方式实现: this.objsOfRouses = Resources.LoadAll("images&q ...
- unity 实现流光效果
1.通过一些简单效果可以让我们更好的去理解shader,具体都在代码注释中: Shader "Unlit/MoveLightImage" { Properties { //主纹理 ...
- Unity之流光效果
效果如图: shader如下: Shader "Unlit/Walk light" { Properties { _MainTex ("Base (RGB), Alpha ...
随机推荐
- Dockerfile你值得拥有
Dockerfile 介绍 什么是Dockerfile Dockerfile是一个用来将你的应用构建为docker镜像的文本文件,文本中的内容是一条一条的指令,这些指令的集合在docker引擎中执行, ...
- Archlinux 最新安装方法 (2020.07.01-x86_64)之虚拟机 BIOS 安装
话不多说,直接上干货 准备 去Arch 官网,选择一个合适的国内镜像站下载 Arch 安装包 ISO,地址如下: https://www.archlinux.org/download/ 一.创建虚拟机 ...
- Qt 乱码
个人认识: 乱码的原因: 在编写代码时-->文件的格式--->编译器对文件进行编译的时候看到的只是二进制(乱码就出现在这里) 应合适方法 通知编译器(为什么说通知编译器呢?因为个人觉得这样 ...
- 基于IDEA 代码提交Git
基于IDEA 代码提交Git 步骤 1 创建一个项目 2 点击 VCS --> Import init Version Control --> Create Git Repository ...
- 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率
识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...
- Jupyter PPT
安装 pip install jupyter pip install RISE jupyter-nbextension install rise --py --sys-prefix jupyter-n ...
- idea括号选中时出现一条下滑线(突出显示)打开或关闭方法
打开设置 Editor->code Editing->Matched brace取消这个对勾
- Cayley-Hamilton 定理简要证明
证明思路来源于 DZYO 发的博客 Cayley-Hamilton 定理: 设 \(\textbf A\) 是 n阶矩阵,\(f(\lambda)=\det(\lambda\textbf I-\tex ...
- Weighted-Residual-Connections
- 2020-04-17:说说redis的rdb原理。假设服务器的内存8g,redis父进程占用了6g,子进程fork父进程后,子父进程总共占用内存12g,如何解决内存不足的问题?(挖)
福哥答案2020-04-18: 这是一道挖坑题.内存占用只会比6g多一点,不会用12g.fork+cow.