【乐府】使用2种方式实现动画的动态蒙版

神秘组织:乐府

5赞

哈哈,【乐府】【上海漕河泾】招聘初级&高级Cocos开发 风里雨里 <乐府>等你

欢迎加入乐府~

第一个改 mask 的需求提供一个思路,把 mask 拆开成 begin mask 和 end mask,只要匹配 begin 和 end,中间的层级可以自由组织

乐府的小伙伴高产啊

对的,也可以,不过改动量比较大, 得定义2个自定义renderComponent, 一个负责enable mask, 一个负责disable mask,

不过这种工作量是值得的,灵活度更大, 原来的cc.Mask只支持一个spriteFrame来做模板形状, 这样改了之后,挂载在enable mask 节点下可以挂任意个节点做更灵活的组合。

回头我试试。

hero-mask做上移100像素动画,两个hero-pro同时做下移100像素的动画,这样效果也是一样的吧?

支持,可以多出点教程给新人

理论上是可以的, 可以把里面的spine节点都放到一个空的dummy节点上, 当mask节点做了一定的矩阵变换时,dummy节点做相应的逆矩阵变化。

不过这种做法看上去略怪异,毕竟改变了一些本来不需要修改属性的节点, 而且dumy节点的逆矩阵变换会导致下面所有子节点都需要同时更新矩阵变换,从性能上也会多出一点开销。

已经按照你的思路实现了 新的模板测试的方法,把一个mask拆成了2个mask节点,文章和代码已经更新 :D

遮罩和被遮罩节点在层级结构上完全分离!学到了,感谢分享!

针对模板测试的第2种修改方法,源码里增加了c++原生层的修改,使到这个修改也可以兼容原生。

乐府的技术都这么强啊

mark一下

MARK.

不错,有好多关于cc渲染的知识点,mark一下好好消化下,感谢!

那把需要遮罩的呢些节点通过一个单独的摄像机渲染到一张图上,再通过shader的片元着色器来控制蒙版的显示和移动会不会操作更方便些

类似使用蒙版实现刮刮乐呢种效果

这样不只是动画,理论上所有可被摄像机捕捉的都可以动态设置遮罩蒙版

还是建议在3.x下这么搞,2.x实现后,因为api实现不太利索,要自己魔改东西比较烦

我在2.4.5这么就是使用摄像机搞过,不过实现的是一个水滴黏连的效果,就是需要手动改下shader不用改引擎挺方便