johanzhu
johanzhu
Same problem
写的好棒。收获很大。 emmm,可是我有一个问题: 对于最后这个send form的例子。 validate的逻辑,如果把他作为一个模块抽离出去。然后不用decorator, 而是将validate逻辑作为一个函数引入,接受send方法里的value,处理后返回结果。这样子做与用了decorator有什么却别? decorator给我的感觉是要么穿上这个衣服,要么不穿,有种不太灵活的感觉。
## 背景 Tint black 是 Spine 3.6 版本引入的新功能:[https://zh.esotericsoftware.com/blog/Spine-3.6-tint-black-clipping-weight-painting-and-more](https://zh.esotericsoftware.com/blog/Spine-3.6-tint-black-clipping-weight-painting-and-more)  通过 Tint black 可以实现更强大的着色以实现各种不同的效果。比如超级马里奥无敌星星闪烁、纯色轮廓、反色等等。 目前 Galacean Spine 运行时仅未支持的核心功能只剩 Tint black。支持 Tint Black 后,再配合自定义材质,Galacean Spine 运行时就能实现更多炫酷的视效了。 在 spine 编辑中,你可以在插槽的配置中,勾选☑️填入黑色开关,打开该功能:  ## 调研...
> #/ [@johanzhu](https://github.com/johanzhu) 「cocos 的深色在开启预乘后,rgb 值没有乘以任何 alpha,或者说乘以了 1。」 这部分调研的代码是 cocos2dx ,我看到 cocoscreate 的逻辑应该是有做的。 https://github.com/cocos/cocos-engine/blob/37e1e62652f3f20bcb34d5a8f94d70e09020bf56/cocos/spine/assembler/simple.ts#L285 是的。确实乘了。不过有趣的是,同时还乘了 skeleton color 和 attachment color。这和其他引擎都不一样。
> Spine 的裁减需要大量的 CPU 计算 这块主要计算在哪里,包围盒么?Mask 的话,性能不一定会有帮助 这里指的是 Spine 自身的遮罩裁减哈~
> 我记得 Spine 里面的更新 Update 函数是无论是否被裁剪都会被执行?是放在 onUpdate 里的 是的。这里需要做处理,RFC里给出了方案,有个参数判断一下就好啦
> 包围盒是否可以估算,而不是精确计算,可以把大部分在屏幕外面的裁剪掉就行 有道理,我思考一下能否估算。因为计算包围盒会影响每帧性能。
## 背景 Spine 作为业内领先的 2D 骨骼动画工具,其运行时系统通过高效的蒙皮网格计算和插值算法,为开发者提供了流畅的动画表现。然而,当前 Galacean 运行时仅支持基础的 Spine 渲染,无法实现动态溶解、法线贴章、UV扭曲等高级美术需求。 **1. 需求驱动** 随着游戏项目中美术表现复杂度的提升,亟需通过自定义材质实现以下场景: + **动态视觉效果**:角色受到攻击时希望表现出一些特殊的效果,但由于无法替换 Shader,所以无法实现。  Spineboy 被冰冻 🥶⬆️ + **风格化效果**:比如描边效果,角色被遮挡时,需要展示轮廓描边,选中角色时展示描边。  **2. 现有方案的不足** 当前的材质方案存在显著缺陷:着色器硬编码在Material类,无法支持自定义Shader扩展 **3. 功能价值** 引入标准化自定义材质系统将带来以下收益: +...