unity 源码_[Unity]SpriteShape与atlas的小坑

现象

今天打Android包发现场景中有几处2D地形显示不正常,查看后发现是此处用了SpriteShape做了可编辑的地形。然后在Editor模式里用bundle模式跑了一下,发现在SpriteShape的源码里有报错,初步感觉会比较好查。

死路

然后直接拿着报错搜了一下,找到了两篇帖子:

https://answers.unity.com/questions/1725712/unity-2019312f1-new-project-build-nullreferenceexc.html​answers.unity.com https://forum.unity.com/threads/sprites-shapes-crash-on-android-build-v-2019-3-13.892567/​forum.unity.com

大意就是他们做了点更新,可以在Inspector里直接显示不符合规范的配置,而不是等出了包报错或crash(之前还确实遇到过crash的情况。。)。

然后更新到最新版的SpriteShape,发现确实有个warning,说我的texture不是Full Rect的,修改以后,还是报错。

然后去问了一圈同事,有个大佬说texture需要是repeat的,检查一下发现确实不是repeat,修改以后,依然不行。。

瞎搞

那只能去看报错的源码了,还好比较容易懂,大概就是拿贴图的时候没有拿到。那就看这个贴图有什么特殊的地方,然后发现它在atlas里。

然后对atlas配置一顿乱改,改大小改翻转改XX,依然拿不到。

所以最后只能把这种贴图从atlas里拿出来了。

然后还真的好了,能找到了。。

官方还真说过。。

当然最后还是去继续搜了一下,发现在之前一个介绍Sprite Shape的官方博客里,确实说过一段不能放atlas。。。

There are several things to know about fill textures. First of all, they must be imported as individual files, and cannot be a part of a sprite atlas. Also, in the import settings, you have to make sure that the Wrap Mode is set to Repeat. If you fail to set the Wrap Mode correctly, the texture will create artifacts.
Intro to 2D World Building with Sprite ShapeSprite Shape を使って 2D ワールドを構築しよう - Unity Technologies Blog​blogs.unity3d.com
56d56da7d9b592a4a39b08aca753773d.png

然后这件事情,在官方的文档里也没有被提过,就那么静静的留了个坑给你。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值