我目前有一个带有正交相机的2D场景,我可以用我的WASD键移动我的播放器,这很棒。我想添加点击移动的功能,但我有点迷失方法。我已阅读/观看了一些教程,一切似乎都围绕着Nav / Mesh系统。
我的问题是,我当前的地面和墙壁场景上都有Sprite Renderers和/或BoxColliders,我不能在同一个GameObject上有Sprite Renderer和Mesh Renderer。这是我所拥有的快速屏幕截图:
现在我明白我可以轻松创建一个用
移动的点击Camera.main.ScreenToWorldPoint(Input.mousePosition);
并使用
移至该位置Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
我现在面临的挑战和我想要的知识是,如果我在屏幕截图中有类似的东西,如果我在房子下方并点击我的角色将要走的房子上方,我该如何添加某种路径查找系统在房子周围到达那里?
我甚至需要编辑我当前的精灵吗?我有一个想法,我只是创建额外的GameObjects添加网格过滤器和网格渲染器与"无"对于材料并将它们放置在我的场景周围的拼图块中,这将代表我希望我的玩家移动的区域。
这种方法我认为可行吗?太多了吗?有更简单的方法吗?
答案 0 :(得分:2)
您可以使用" NavMeshAgent"移动你的播放器。 " NavMeshAgent"组件附加到游戏中的移动角色,以允许它使用NavMesh导航场景。
一旦你烘焙了NavMesh它易于使用 -
navMeshAgent.SetDestination(target);
参考 - Video Tutorial to create and use nav mesh,Unity Script reference,Navigation and Path Finding
按照以下步骤学习如何烘焙导航网格 -