Physics2D有许多检测碰撞器的方法的方法。但我对里面的一些参数不是很明白。比如Physics2D.OverlapBoxAll((Vector2 point, Vector2 size, float angle, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity),这个方法中的angle的意义是什么,官方文档给的解释是angle of the box,不是很懂什么意思。这个角度是从哪里开始算起,是从这个box的左下角还是哪里?另外,请问老师,有什么好的方法,可以更为便捷的在代码中设置physics2d碰撞器检测函数的映射形状的大小?因为纯代码根本不知道当前设置的overlapbox的形状到底是多大以及相对于角色的位置。
问题描述的可能有点麻烦,希望老师解答。
同学你好,这个是需要花时间测试的,具体这部分功能老师也没有测试过,同学可以参考这篇文章:
https://answers.unity.com/questions/1514354/physics2doverlapboxall-and-physics2doverlapareaall.html
2D射线检测我们可以获取到检测到的游戏物体,然后通过游戏物体自身获取大小尺寸,这个如果不好写代码获取也可以通过成员变量的形式封装进对应脚本,然后通过脚本获取。相对位置可以通过当前角色的位置坐标与目标位置坐标做运算来得到当前的相对位置。