重要事情
菜鸟的新头像来了,注意了是原创的,原创,原创,原创,原创:

愉快的周末已经完了,又要开始奋斗了,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来实现旋转的效果
  • 代码
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实现的“地表最强护盾”,没有之一相关推荐

  1. 全球首款64核AMD工作站发布,搭载最新线程撕裂者Pro,号称“地表最强”

    晓查 发自 联想总部  量子位 报道 | 公众号 QbitAI 联想在总部未来中心发布了全球首款64核工作站ThinkStation P620,这也是全球首款采用AMD线程撕裂者Pro处理器的专业工作 ...

  2. 大象转身,地表最强投行高盛开启转型之路

    大象转身,地表最强投行高盛开启转型之路 2018-10-27 15:06技术/科技/公司 原创: 李思琪 ,微众银行金融科技研究员 来源: 金融科技微洞察(ID:weinsights),已获授权 金融 ...

  3. java地图图表动态亮点,可视化图表行动指南:地表最强解读来了

    原标题:可视化图表行动指南:地表最强解读来了 身处信息技术高速发展的时代,数据价值日益凸显,然而如何将数据更好的展示,让别人一看就懂且眼前一亮可是一门大学问. 此前,小亿在广大数友的强烈要求下结合前人 ...

  4. 地表最强mysql命令行连接工具mycli

    mycli我愿意称你为地表最强命令行mysql连接工具. 如果你的sql不是很熟练,那么你一定要找命令行工具来练习一下.等你的sql熟练了,再使用gui客户端也不迟. 在mac,linux上面安装my ...

  5. 工具 | 终于等到你!地表最强工具来袭!

    Hi! 我是小小,今天是本周的第一篇,本篇将会着重的讲解关于地表最强工具,API敏捷开发工具. 前言 用尽可能简单的方式,完成尽可能多的需求,通过约定的方式,实现标准的统一. 特性 用于快速开发API ...

  6. 清华,就要成为地表最强研究机构了

    比栗 发自 凹非寺 量子位 出品 | 公众号 QbitAI 你有没有观察过,大家很喜欢引用的那些论文,都是从哪来的? △图片来自经济学人 最近,一份来自南京大学和哈佛大学的报告,统计了2013-201 ...

  7. Maven 阿里云配置 此 MAVEN 配置地表最强不接受反驳

    此 MAVEN 配置地表最强不接受反驳 IDEA 下载 jar 包 太慢 所以我修改maven 下载源 修改maven 包下 settings.xml <mirrors> 下面配置放在这个 ...

  8. 高通揭秘“地表最强”骁龙855,专为AI新增张量加速器,每秒7万亿次运算

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 如何评价刚发布的骁龙855? "地表最强","5G手机唯一选择". 这就是中国手机公司一加CEO刘 ...

  9. 乔布斯当场“复活”,苹果发AirPods 3和地表最强电脑芯片,秀刘海屏Macbook Pro

    今夜英特尔AMD被库克用一个刘海屏笔记本吊打了,而且是被完虐. 今夜苹果的王炸终于来了!M1 Max太强了,真的杀疯了. 刚刚重磅登场的AirPods第三代.屏幕和外观史诗升级的16/14英寸MacB ...

最新文章

  1. 网易实时数仓实践与展望
  2. 编码问题(BOM头简单了解)
  3. mysql 编译cpu数量_合适MySQL的Xeon 55XX系列CPU编译参数
  4. 东鹏马桶上水下水之谜
  5. php远程文件包含攻击,利用SMB共享来绕过php远程文件包含的限制
  6. RabbitMq queue异常导致consumer停止
  7. CodeForces - 932G Palindrome Partition(回文自动机+Palindrome Series优化dp)
  8. x86架构和arm架构_苹果Mac弃用英特尔芯片成真,ARM架构CPU真比X86香?
  9. L1正则化与嵌入式特征选择(稀疏性)
  10. PHP语言编程实现采集远程图片资源
  11. 多模态简述(情感分析)
  12. spring mvc 解决中文response乱码
  13. Python 语言简介与入门(1)
  14. 古代汉语复习资料与练习题(适合王力版教材)
  15. android 100以内的随机数
  16. easydarwin 安装_EasyDarwin流媒体服务器
  17. 2021-09-14联想云教室连接不上服务器解决办法
  18. 外贸企业出口退税流程/经验分享
  19. Bat如何制作菜单选择
  20. 解决win10输入法无法使用问题

热门文章

  1. 贵阳培训python
  2. APP已死,服务永生
  3. Minecraft 1.18.1、1.18.2模组开发 07.食物制作
  4. realsense + imu标定
  5. EntityFrameWork 从入门到熟悉(3)-CodeFirst
  6. Missing iOS Distribution signing identity证书失效问题
  7. 中国近代史以内最详细的JAVA顺序表
  8. 踩不完的微信小程序的坑之【ctx.drawImage 绘制的画布,使用ctx.clearRect清除不了】
  9. HANDLE HMODULE HINSTANCE HWND
  10. Android如何设置TextView的行间距、行高