Unity中如何将移动圆调整至多个静态圆的圆周外侧?
多静态圆碰撞下的移动圆位置修正问题(面向Unity开发者/数学从业者)
- 开发场景:我正在制作一款游戏,其中有一个可移动圆形对象,要求它绝对不能与场景内的其他静态圆形相交或进入其内部(Unity内置物理系统无法满足该需求)。场景处于3D空间,但所有圆形仅在两个轴上进行移动。
- 已实现逻辑:所有圆形尺寸一致,单个静态圆碰撞时的位置调整公式如下:
newPosition = PositionOfStaticCircleThatWasJustIntersected + ((positionCircleWasMovedTo - PositionOfStaticCircleThatWasJustIntersected).normalized * circleSize); - 当前问题:无法解决移动圆同时与2个及以上静态圆碰撞时的位置调整逻辑,尤其困惑于不同位置和移动方向带来的方向计算问题。
示例场景图:
内容的提问来源于stack exchange,提问作者KeepCool
相关产品推荐
相关产品推荐

