噪声纹理之消融效果! shader 入门精要! Cocos Creator Shader !
时间:2022-07-24
本文章向大家介绍噪声纹理之消融效果! shader 入门精要! Cocos Creator Shader !,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
溶解!shader 入门实战之噪声纹理!附完整项目!
效果
原理
什么是噪声纹理?
噪声纹理的特性是不可预测性的随机。
个人理解噪声纹理就是一张图片,每个像素点颜色值(rgba
)是按照一定的随机性分布的。
怎么生成噪声纹理?
- 工具生成
- 代码生成
- 网上下载(这里用的噪声纹理是网上下载的)
- 其他
怎么实现消融?
根据噪声纹理的颜色值和消融阈值(noiseThreshold
)判断,当达到阈值时,丢弃(discard
)该片元像素。
vec4 noise = vec4(1, 1, 1, 1);
CCTexture(textureNoise, v_uv0*3.0, noise);
if(noise.r < noiseThreshold){
discard;
}
加点描边
还可以混点颜色,对阈值附近的像素点加一些颜色,就能实现燃烧效果啦。
float t = 1.0 - smoothstep(0.0, colorWidth, noise.r - noiseThreshold);
vec3 burnColor = lerp(burnColorInner.rgb, burnColorOut.rgb, t);
o.rgb = lerp(o.rgb, burnColor.rgb, t*step(0.0001, noiseThreshold ));
其他
shader
入门资料可以参考这篇文章。
项目代码在 2.4.x
目录下的 demo04
。
小结
噪声纹理
noise
!消融效果dissolve
!shader
!
以上为白玉无冰使用 Cocos Creator v2.4
实现 "噪声纹理之消融效果(dissolve)"
的技术分享。欢迎分享给身边的朋友!
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
- 用GenePred注释文件进行数据分析
- 走在专家的路上,每天一条SQL优化(2)
- Entity Framework——性能测试
- 谷歌开放的TensorFlow Object Detection API 效果如何?对业界有什么影响?
- 生信编程直播课程优秀学员作业展示1
- ID转换大全
- 走在专家的路上,每天一条SQL优化(3)
- 表现层设计模式
- MongoDB模拟多文档事务操作
- 表达矩阵可视化大全
- .NET MongoDB Driver GridFS 2.2原理及使用示例
- .NET MongoDB Driver 2.2使用示例
- 设计模式(行为模式)——观察者模式
- 机器学习实战 | 第二章:线性回归模型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring中的FactoryBean和BeanFactory
- MybatisPlus分页插件无效解决方案
- springboot+mybatis打印sql
- jquery插件与扩展
- CNN一定需要池化层吗?
- RabbitMQ入门Demo,基于springboot
- 收藏|Pandas缺失值处理看这一篇就够了!
- Spring Boot项目页面报错 OTS parsing error: Failed to convert WOFF 2.0
- Spring Boot开启JSP页面热部署
- Springboot thymeleaf热部署
- Java初始化List的6种方式
- Java遍历Map对象的四种方式
- 【SpringBoot源码解析】第三章:SpringBoot通过打成war包的方式是如何启动的
- 让你编码嗨到停不下来的8个VSCode插件
- 【SpringBoot源码解析】第四章:SpringBoot是如何自动装配SpringMvc的