欢迎光临散文网 会员登陆 & 注册

通过反射修改Unity PSDImporter,使其便于自动生成帧动画资源(兼容2022.1/2)

2022-06-28 13:46 作者:DarkDreamStudio  | 我要投稿

知乎也是我: https://zhuanlan.zhihu.com/p/534843630

头疼了小一个月,终于弄出来了,弄完只想骂Unity傻叉,写的什么绿皮代码换了好几套姿势才反射到所有有效数据

最早是想看看有什么办法让原生的PSDImporter支持自动把图层当帧动画的帧来导入,这样可以在ps里直接按约定的帧率做成gif调到满意位置直接合并子图层丢进unity(或者其他帧动画软件输出gif导入ps存psd),工作流异常爽快。

然后搜了半天外网居然没人有方案,倒是在万能的知乎找到了一个唯一解:

https://zhuanlan.zhihu.com/p/158990037?utm_source=qq&ivk_sa=1024320u

但这位大佬的方案是把整个包拉出来魔改,核心修改其实不多,但要带着一大坨其实并没改过的代码,就想着能不能反射搞定,毕竟核心需求其实只是一个根据PSD内的位置设定Sprite的pivot使其自动对齐

然后分析了一下这位大佬的方案,感觉有点小问题:

1、需要额外分析PSD的参考线数据,不方便反射获得(没有中间数据,要自己从头反射更大堆保护区里的数据和方法来从头搞)

2、只允许两条参考线作为pivot定位其实限制ps使用方式了,也很蛋疼

我就想到可以假定第一个图层就是用来定位的,取其中心点位置作为pivot即可,最后生成的时候不带他就完了(此处是个大坑,但还好找到路了2333)。

代码在此,只需两个文件。BSD协议,随便用,只需要附带出处:

https://github.com/realamex/PSDImporterForFrames


通过反射修改Unity PSDImporter,使其便于自动生成帧动画资源(兼容2022.1/2)的评论 (共 条)

分享到微博请遵守国家法律