Unity使用Polygon Collider 2D 实现不规则图形碰撞自动匹配
Posted 御雪妃舞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity使用Polygon Collider 2D 实现不规则图形碰撞自动匹配相关的知识,希望对你有一定的参考价值。
最近待业在家,朋友问了这样一个问题,就看了下这个polygon collider 2d
朋友的问题是:RawImage图片放进去,不能自动匹配碰撞体?
然后我查了下,这玩意,一步步的沟通解决,交流。
step1:
去看了下这玩意的api
api 表明把图片直接拖上去是可以自动匹配的,然后照做了
step2:
新建了一个工程,新建了一个RawImage,添加了Polygon Collider 2D碰撞体,拖了个不规则图片上去,是这样的:
上面一个是图片,一个是图片里的碰撞体,可是碰撞体特别的小,在图片里看只是一个点。
这就成了一个问题。
Step3:为了解决这个问题,第一反应是想改Polygon Collider 2D的size;
可是大小是不可编辑的,后来改变transform的scale,发现这个size是随着scale的大小改变的,可是RawImage的大小也在等倍放大,不可取,后来就改了RectTransform的width和height
结果是刚好匹配的,如图所示:
把结果告诉了朋友,可是朋友的电脑上是不可以的,是这样的:
后来查证后发现是Canvas不一样,于是此方法是取巧的,不可行的,后来又继续尝试.
Step4:于是同时尝试了image, rawimage,还有Sprite,发现Sprite是可以的额,效果如图。
原因是这里直接跟随sprite的图形大小随scale变化,没有RectTransform,可以直接编辑。
Step5:
Step4是可以临时解决该问题,但并非完美解决。
于是尝试用脚本修改collider的size,可是get不到points下面的size.
各位有更好的解决方案的欢迎评论!
以上是关于Unity使用Polygon Collider 2D 实现不规则图形碰撞自动匹配的主要内容,如果未能解决你的问题,请参考以下文章
Unity:Collider.bounds.extends.x 自最新更新以来返回半径 - 为啥?
Unity3d — — UGUI之Box Collider自适应大小