
cocos shader
主要是在cocos上使用shader
在路上的菜鸡
小萌新多多指教
展开
-
使用shader写序列帧动画
额,闲的没事那就写个简单的序列帧动画吧。。。这真是个奇奇怪怪的想法,但是很实用哈哈哈。美术给你一张图,大概就是这样的然后就讲一下大致思路吧:把图片分成12等分,,每次一次采样即可,如上图,按照1,2,3,4…的顺序采样显示;传入一个开始坐标即可;//effect代码void main () { vec4 o = vec4(1, 1, 1, 1); float unit = 0.25; float unitY = 1.0/3.0; #if USE_TEXTURE原创 2021-08-09 14:11:52 · 337 阅读 · 0 评论 -
切割碎片并合并新图
是的,没错,还是拼图的项目,现在要求是横切或者竖切然后在合并成新的一张图变成一个更大的碎片。1.思路横切:横切顾名思义就是改变v值嘛,他是从 0-1,比如我们要切成4片,那么就是0-0.25,0.25-0.5,0.5-0.75,0.75-1四块。合并的时候呢,就看这个碎片的最大值是不是和另一个碎片的最小值一样,一样的话就取这张图的最小值和另一张图的最大值,得到新的图的v范围.比如;0-0.25 和 0.25-0.5合并,新的图就是0-0.5;注意:这个时候你取得范围变大了,碎片的大小不要忘记相应的也原创 2021-07-13 20:08:15 · 257 阅读 · 0 评论 -
拼图取轮廓,描边和阴影
1.轮廓轮廓很好算,一张图,你把他中间挖空了是不是就剩下轮廓了。我这里定义了四条边,代表上下左右,人为的扩大一圈,本来uv是0-1的,现在他变成了0-1.2,这个时候我们把他的a值变成0,四个边都处理完成后我们就要挖空他了,把这张图a!=0的部分变成0,这个时候是不是就挖空了。效果图2.描边3.阴影做阴影的时候我们就需要两个pass了,相当于绘制了两次,如下在前一篇中绘制碎片的基础上,加入下代码:相当于把这张图颜色值更改了。...原创 2021-07-13 19:53:47 · 559 阅读 · 0 评论 -
cocos shader做切拼图碎片
1.前言:为什么会出现这个需求呢?因为在做一个拼图项目,项目主程说不要用mask呀,一个mask就是两个dc,怕后期会出现性能问题,可能这就是大佬的思维吧,于是乎就想到用shader来切一张图,把他变成很多的碎片。2.实现先上图,效果如下:写一下大致思路吧:传入两张图片,一张为原图,另一张为需要采样的形状图,锚点定在左上角,方便位置和大小计算,一个切图大小和相对于原图左上角偏移量。1.contentSize为去一个正方形碎片大小+offset偏移量大小(加上凸起的部分)才是真正的碎片大小,2原创 2021-07-13 19:38:06 · 1430 阅读 · 0 评论 -
cocos shader初识
cocos shader初识1.cocos中怎么使用shader?他主要包括三个部分,为别为:(1).材质(material):顾名思义就是材质球,每个shader的编写就是在材质的基础上修改,使用到哪个效果把相应的material拖过去赋值给当前物体即可;(2).效果代码(effect):着色器的代码主要在这里编写;(3.)参数(uniform、sampler等:主要是编写主色器的相关参数使用步骤为(引用麒麟子大大的教程):https://blog.youkuaiyun.com/qq_36720848/a原创 2021-07-13 18:44:28 · 803 阅读 · 0 评论