1.5 避免往返
虽然SDF能很好地解决绕障碍物滑行的问题,但在实际使用中如遇到凹形障碍物,则会出现角色在障碍物内不断往返的情况。
如图1.7所示,实线箭头表示摇杆方向,虚线箭头表示角色遇到障碍物后绕障碍物滑行的方向,如果摇杆方向一直保持不变,则角色在A处向右下滑行,到达B处后又会向右上滑行,从而导致角色在凹型槽内A、B间不断往返走不出来。那么,当前后滑行方向相差大于90度时停止滑动,重新拨动摇杆才能再次移动。
![](https://epubservercos.yuewen.com/EFD27D/14693592205506206/epubprivate/OEBPS/Images/figure_0025_0001.jpg?sign=1739545355-kJ0FrtY8UijgtqOe2id1RqcsZKS8DDcN-0-9d77e4ebe9c9f4787e324d8cd88a90e7)
图1.7 往返
虽然SDF能很好地解决绕障碍物滑行的问题,但在实际使用中如遇到凹形障碍物,则会出现角色在障碍物内不断往返的情况。
如图1.7所示,实线箭头表示摇杆方向,虚线箭头表示角色遇到障碍物后绕障碍物滑行的方向,如果摇杆方向一直保持不变,则角色在A处向右下滑行,到达B处后又会向右上滑行,从而导致角色在凹型槽内A、B间不断往返走不出来。那么,当前后滑行方向相差大于90度时停止滑动,重新拨动摇杆才能再次移动。
图1.7 往返