shader实现的“地表最强护盾”,没有之一
重要事情
菜鸟的新头像来了,注意了是原创的,原创,原创,原创,原创:
愉快的周末已经完了,又要开始奋斗了,come on!
大家注意了奥,菜鸟又给大家带来了一个不要钱的炫酷效果–护盾
效果展示
正文
从效果中可以看到,整个效果分为三部分:护罩,底盘,星星。接下来菜鸟就三部分分别说一下
1.护罩
护罩的实现原理:
- 创建sphere 作为护罩的基础模型
- 自定义材质
- 顶点着色器,获取sphere自身坐标系下的坐标,
- 片元着色器,拿到sphere自身坐标系下的坐标,通过判断对sphere 底部进行裁剪(菜鸟实用的是透明度为0)
- 片元着色器,结合噪声图,实现整体的透明度设置,以及使用uv偏移实现动态的旋转
- 代码
vec4 frag () {vec2 uv=v_uv;vec4 color=mainColor;uv.x-=cc_time.x/5.0;uv.y-=cc_time.x/5.0;vec4 noiseCol=texture(noiseTexture, uv);color.a=noiseCol.r*0.3;if(position.y < - 0.35){color.a=0.0;}vec4 col=color * texture(mainTexture, uv);col = CC_APPLY_FOG(col, factor_fog);return CCFragOutput(col);
}
2.地盘
地盘的实现原理:
- plane 作为基础模型
- 自定义材质
- 片元着色器:设置上图为plane的贴图,通过采样后数据的处理将黑色的区域的透明度设置为0
- 为了效果更加的完美,同时再给他加一个自身的旋转效果,通过uv来实现旋转的效果
- 片元着色器:设置上图为plane的贴图,通过采样后数据的处理将黑色的区域的透明度设置为0
- 代码
vec4 frag () {vec2 uv=v_uv;float speed=0.5;uv-=vec2(0.5, 0.5); //旋转矩阵公式 uv = vec2(uv.x * cos(speed * cc_time.x) - uv.y * sin(speed * cc_time.x), uv.x * sin(speed * cc_time.x) + uv.y * cos(speed * cc_time.x)); if(abs(uv.x)>0.5 || abs(uv.y)>0.5){uv = vec2(0.0, 0.0); }//恢复纹理位置 uv += vec2(0.5, 0.5); vec4 color=mainColor;vec4 col=texture(mainTexture, uv);if(col.r>0.3){col*=color;}else{color.a=0.0;col*=color;}col = CC_APPLY_FOG(col, factor_fog);return CCFragOutput(col);
}
3.星星
星星的实现主要是用粒子系统来,具体的设置参数为:
- 1.粒子的StartLifetime设置区间值,实现随机感
- 2.粒子的ShapeModule的形状设置为Sphere
- 3.设置SizeOvertimerModule 为从大到小的一个过程
地址
- 微信公众号:搬砖小菜鸟
公众号回复护盾 获取demo源码
关注公众号,获取更多干货
shader实现的“地表最强护盾”,没有之一相关推荐
- 全球首款64核AMD工作站发布,搭载最新线程撕裂者Pro,号称“地表最强”
晓查 发自 联想总部 量子位 报道 | 公众号 QbitAI 联想在总部未来中心发布了全球首款64核工作站ThinkStation P620,这也是全球首款采用AMD线程撕裂者Pro处理器的专业工作 ...
- 大象转身,地表最强投行高盛开启转型之路
大象转身,地表最强投行高盛开启转型之路 2018-10-27 15:06技术/科技/公司 原创: 李思琪 ,微众银行金融科技研究员 来源: 金融科技微洞察(ID:weinsights),已获授权 金融 ...
- java地图图表动态亮点,可视化图表行动指南:地表最强解读来了
原标题:可视化图表行动指南:地表最强解读来了 身处信息技术高速发展的时代,数据价值日益凸显,然而如何将数据更好的展示,让别人一看就懂且眼前一亮可是一门大学问. 此前,小亿在广大数友的强烈要求下结合前人 ...
- 地表最强mysql命令行连接工具mycli
mycli我愿意称你为地表最强命令行mysql连接工具. 如果你的sql不是很熟练,那么你一定要找命令行工具来练习一下.等你的sql熟练了,再使用gui客户端也不迟. 在mac,linux上面安装my ...
- 工具 | 终于等到你!地表最强工具来袭!
Hi! 我是小小,今天是本周的第一篇,本篇将会着重的讲解关于地表最强工具,API敏捷开发工具. 前言 用尽可能简单的方式,完成尽可能多的需求,通过约定的方式,实现标准的统一. 特性 用于快速开发API ...
- 清华,就要成为地表最强研究机构了
比栗 发自 凹非寺 量子位 出品 | 公众号 QbitAI 你有没有观察过,大家很喜欢引用的那些论文,都是从哪来的? △图片来自经济学人 最近,一份来自南京大学和哈佛大学的报告,统计了2013-201 ...
- Maven 阿里云配置 此 MAVEN 配置地表最强不接受反驳
此 MAVEN 配置地表最强不接受反驳 IDEA 下载 jar 包 太慢 所以我修改maven 下载源 修改maven 包下 settings.xml <mirrors> 下面配置放在这个 ...
- 高通揭秘“地表最强”骁龙855,专为AI新增张量加速器,每秒7万亿次运算
李根 发自 凹非寺 量子位 报道 | 公众号 QbitAI 如何评价刚发布的骁龙855? "地表最强","5G手机唯一选择". 这就是中国手机公司一加CEO刘 ...
- 乔布斯当场“复活”,苹果发AirPods 3和地表最强电脑芯片,秀刘海屏Macbook Pro
今夜英特尔AMD被库克用一个刘海屏笔记本吊打了,而且是被完虐. 今夜苹果的王炸终于来了!M1 Max太强了,真的杀疯了. 刚刚重磅登场的AirPods第三代.屏幕和外观史诗升级的16/14英寸MacB ...
最新文章
- 网易实时数仓实践与展望
- 编码问题(BOM头简单了解)
- mysql 编译cpu数量_合适MySQL的Xeon 55XX系列CPU编译参数
- 东鹏马桶上水下水之谜
- php远程文件包含攻击,利用SMB共享来绕过php远程文件包含的限制
- RabbitMq queue异常导致consumer停止
- CodeForces - 932G Palindrome Partition(回文自动机+Palindrome Series优化dp)
- x86架构和arm架构_苹果Mac弃用英特尔芯片成真,ARM架构CPU真比X86香?
- L1正则化与嵌入式特征选择(稀疏性)
- PHP语言编程实现采集远程图片资源
- 多模态简述(情感分析)
- spring mvc 解决中文response乱码
- Python 语言简介与入门(1)
- 古代汉语复习资料与练习题(适合王力版教材)
- android 100以内的随机数
- easydarwin 安装_EasyDarwin流媒体服务器
- 2021-09-14联想云教室连接不上服务器解决办法
- 外贸企业出口退税流程/经验分享
- Bat如何制作菜单选择
- 解决win10输入法无法使用问题
热门文章
- 贵阳培训python
- APP已死,服务永生
- Minecraft 1.18.1、1.18.2模组开发 07.食物制作
- realsense + imu标定
- EntityFrameWork 从入门到熟悉(3)-CodeFirst
- Missing iOS Distribution signing identity证书失效问题
- 中国近代史以内最详细的JAVA顺序表
- 踩不完的微信小程序的坑之【ctx.drawImage 绘制的画布,使用ctx.clearRect清除不了】
- HANDLE HMODULE HINSTANCE HWND
- Android如何设置TextView的行间距、行高