| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 【Unity Shader】Special Effects(三)Shiny 闪亮(UI) -> 正文阅读 |
|
[游戏开发]【Unity Shader】Special Effects(三)Shiny 闪亮(UI) |
Shiny 闪亮Shiny以另一种方式实现了LOGO流光,在表现效果上与其相差无几,不同的地方是Shiny不需要指定流光遮罩以及流动的图片纹理等,他是直接通过UV计算出一块区域,然后叠加颜色,以达到亮闪闪的效果,最终的效果图: 思路分析首先,按照LOGO流光的思路,我们只需要选出一片uv区域,为区域叠加颜色,并使得 因为要给人一种一闪而过的感觉,所以我们的 闪亮区域我们先考虑上下贯通的方式,设想中,我们的闪亮区域如下: 我们将 那么我们的算法便明确了,即是将区间 首先,区间
然后再将区间
最后,将区间
到这里,得到的值 柔和度我们可以使用如下方式将值
这里的 首先,当柔和度最低时(这里是0.01),效果上表现为
根据
被转换为了
也即是说,极低柔和度使得所有 反之,当柔和度最高时(这里是1),此平滑运算将返回 光泽度由上文我们已经求得了闪亮的亮度值
这里的光泽度 旋转如上的计算,我们得到的只是一个垂直的,上下贯通的 我们再回想一下最开始求得闪亮区域的算法:输入一个uv坐标,根据uv坐标的x值求得此坐标点的 我们要实现旋转效果,直接将uv坐标 所以算法很简单,说干就干,直接转一下uv:
RotatePoint2的功能是沿着一个圆心,将输入的二维点旋转指定弧度:
算法也即是三角函数,这里就不做详解了。 闪亮动画要实现闪亮动画,我们只需要改变输入的 到此,这个简单的闪亮效果就基本完结了,如果还有不明白的地方可以查阅源码,当然,博客中的代码不一定与源码完全相同,这里的本意只是介绍思路,具体的实现过程中可能有一些语句上的优化,当然核心算法是一样的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/22 14:25:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |