如何创建非球形3D GKAgent或GKObstacle?

时间:2018-02-07 21:40:10

标签: ios swift scenekit arkit gameplay-kit

标题是我的直接问题,但如果答案是:You can't, log Radar with Apple

,我将详细说明提供背景信息,或详细说明有用的解决方法所需的内容。

用例很简单:有一个行为驱动的GKAgent3D避免在我的ARKit / SceneKit / GameKit应用程序中使用飞机。

这需要我添加一个“避免”#39; GKGoal作​​为代理人的行为。 Apple目前提供两件事要避免,其他GKAgents或GKObstacles。我遇到的问题是我没有办法创建一个GKAgent3D或GKObstacle,以便在不是球体的SceneKit中使用。 GKAgent3D只有一个.radius属性来定义它的占用空间"和GKObstacle只有一个3D具体子类(GKSphereObstacle),障碍(来自:)函数使用SpriteKit对象。

我有许多代理人都有复杂的行为,我希望他们避免使用许多平面(检测到ARKit)。我宁愿不采用手动碰撞检测,因为目标是让代理改变其行为驱动路径,因为对象在路上。仅仅知道代理人将要击中对象是不够的,我需要考虑到它在其行为中的所有其他目标而影响它的运动。

我希望我错过了一些东西,并且有办法做到这一点,或者有人有一个聪明的解决方法。我所想到的唯一解决方法(但出于性能原因而讨厌)是在常规阵列中创建大量小球体障碍物来近似平面。

0 个答案:

没有答案