龙骨使用自定义SpriteFrame尺寸不一致导致的bug

问题表现

后续反馈一个问题,局部换肤后,图片非常大

问题排查

对比了前后的ske.json,龙骨工程调整了龙骨的长度

为了减小龙骨的整体体积,制作人员使用了更小的图片,这也是为了龙骨整体看起来变小的原因。

龙骨的纹理和tex.json也发生了变化,比如下图中

yu10.png这个纹理在换肤的plist龙骨的tex.json中的width/height是一致的,龙骨调整后,两者就不一致了。

并且我发现换肤的局部纹理,比龙骨的纹理,到这里基本就确认了就是换肤的散图纹理尺寸不一致导致的这个bug。

如何修复

既然换肤纹理时等比例放大了,那么我只需要知道龙骨在运行时显示的width/height即可

对比发现,在龙骨的导出数据中记录的有这个width/height信息,尝试者修改:

最终修改

修改后就正常了

总结

这个问题虽然修复了,但是也暴露制作过程中的不规范,换肤就应该尺寸一致

相关推荐
福兮说2 小时前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
是立不是利2 小时前
CSS 入门与进阶:从选择器到响应式布局的完整指南
前端·css
镭立智能制造3 小时前
电线电缆换线频繁?MES系统如何缩短换线时间40%
前端·制造
Amos_Web3 小时前
Rspack 源码解析(五):CodeGenerationPass 与模块代码生成
前端·前端框架·源码阅读
八荒启·交互动画3 小时前
Web特效06——WebGL深挖:顶点着色器和片元着色器到底在干什么
前端·网页特效·八荒启-交互动画·八荒启
这锅我不背哈3 小时前
前端权限控制实践:基于 RBAC 的完整落地方案
前端
星空4 小时前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
开开心心就好4 小时前
低年级识字练笔顺工具,电脑和安卓端都能用
前端·javascript·网络·安全·scala·erlang·语音识别
杨利杰YJlio4 小时前
ITSK PE 26U5 测试版解读:组件完善、VMD 修复与服务器支持边界
前端·javascript·后端
志尊宝4 小时前
Vue3 零基础每日笔记(021):class 与 style 动态绑定——对象、数组、三元表达式写法汇总
前端·vue.js·笔记·前端框架·html5