不好意思,我膨胀了!shader 入门精要!Cocos Creator 3D Shader !
时间:2022-07-25
本文章向大家介绍不好意思,我膨胀了!shader 入门精要!Cocos Creator 3D Shader !,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
shader 也能让你变胖?膨胀肥胖效果!附完整项目!
效果
实现
模型的形状一般都是由三角形围成的,每个顶点一般都会有一个法线信息。
所以我们只需要把每个顶点的位置沿着法线方向,增加一点距离就可以了。
position.xyz + v_normal * fatFactor
那么在 CCC 3D
中怎么融入这个效果呢?
先找到模型的材质,看看默认使用的是什么effect
(一般都是builtin-standard.effect
)。
拷贝一份 effect
开始编写 (这里拷贝的是builtin-standard.effect
)。
找到法线向量和计算顶点坐标的地方。
加上法线方向的位移即可。
return cc_matProj * (cc_matView * matWorld) * vec4(In.position.xyz + v_normal*0.05, In.position.w);
最后选择我们写好的 builtin-standard-fat.effect
,就可以看到效果啦。
当然也可以定义一个肥胖系数fatFactor
。
uniform lamyoung_com {
float fatFactor;
};
//In.position.xyz + v_normal * fatFactor
在外部控制这个肥胖系数,就达到了原理那个效果图啦。
this.modelComponent.getMaterial(0).setProperty('fatFactor', 0.1 * slider.progress);
小结
法线向量!膨胀 !
shader
!
以上为白玉无冰使用 Cocos Creator 3D v1.1.2
实现 "shader 膨胀效果(fat)"
的技术分享。欢迎分享给身边的朋友!
- [收藏]几个常用的用正则表达式验证字符串的函数
- 走进科学: 无线安全需要了解的芯片选型、扫描器使用知识
- React Native之携程Moles框架
- 从Android短信漏洞到手机钓鱼木马
- 老外手把手带你搭建DMZ渗透测试实验室(Part 1,2)
- 与机器学习算法有关的数据结构
- 32764端口后门重出江湖,影响多款路由器
- 安全科普:SQLi Labs 指南 Part 1
- Do You Kown Asp.Net Core - 根据实体类自动创建Razor Page CURD页面模板
- 2014上半年国内安卓银行应用隐私泄露和安全隐患研究报告
- Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page
- Metasploitable2使用指南
- 在渗透测试中使用fuzz技术(附windows安装指南)
- 黑了记者:写个恶意软件玩玩(二)
- 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 数组属性和方法
- gorm聚合查询group结合join和count
- 潘石屹用Python解决100个问题 | 集合
- Catalina 默认使用zsh了,你可习惯
- LeetCode 354 Russian Doll Envelopes (动态规划)
- 设计模式之原型模式
- 设计模式之工厂方法模式
- Python 随机数生成
- OWIN 初探
- Spark和Spring整合处理离线数据
- 宝塔面板API接口抓取教程-宝塔接口配置文件
- 红黑树的创建
- Spark SQL | 目前Spark社区最活跃的组件之一
- 关于 MySQL Repeatable Read Isolation 常见的三个误区
- Spring源码-循环依赖(附25张调试截图)
- 二叉查找树