基于网格的回转运动系统(Unity3d)(C#)

时间:2018-05-20 02:44:21

标签: c# unity3d

我是团结和编程的新手(我对编程规则有很好的理解,但我还没有完全熟悉语法和词典)。我正在制作一个基于回合制,基于网格的战术RPG,受到最终幻想战术的启发。我处于最初阶段,虽然我理解试错是学习过程中的一个关键部分,特别是对于具体的编程(我有网络开发的背景),我只想至少参与正确的道路,如果我要摔倒!

我的问题在于运动系统。每个玩家的速度和跳跃值都在1到10之间。对于他们拥有的每1个速度,他们可以移动1个方格(跳跃相同)。对角移动将被视为移动2个方格。我如何使用Navmesh(我想我也可能需要使用射线散射,但我并不完全理解所有这些),以根据速度,跳跃和地图边界/对象突出显示有效移动的区域。我也想把这个系统用作运动控制器。当他们点击突出显示的方块时,活动角色就会移动到那里。

Here is an example of what i'm talking about.

1 个答案:

答案 0 :(得分:0)

经典导航算法称为Djikstra's algorithm,或者改进形式称为“A *”。它保证产生最佳路径并且非常有效;对于你的例子中的问题规模,它将非常快。 This Github project包含Unity示例和一些优秀的解释性视频。网上还有很多其他的A * / Djikstra实现,包括带有现场演示的Javascript example以及源代码。