c# - 将玩家绑定到路径 Unity
问题描述
假设我有一条路径,可以是 Unity 中的一条线或一条曲线,我想让我的玩家捕捉到那条路径并沿着它移动我将如何实现这一点。这看起来像是一个掩护系统,或者类似于 Sly Cooper 中壁架的工作方式。
解决方案
如果您希望玩家的移动跟随路径,有一种称为 的技术WayPoint
,它只是使用 Unity 中的内置导航系统。有很多文章教你如何手动构建这样的航点系统,同时你可以从在线资产商店获得一个 SimpleWayPoint 模块。
但是如果你的播放器是由用户控制的,这意味着用户可以控制它的移动,比如说按下'W'按钮意味着向前移动,而按下'S'按钮意味着向后移动,并且左右移动受到你的路径的限制定义,不幸的是我没有找到任何成熟的技术可以让你意识到这个限制。
然而,在我几个月前完成的项目中,我成功地手动处理了坐标,因为我创建了一个街道严格遵守水平和垂直网格线的城市,我可以X and Y coordinates
通过使用内置的冻结坐标轻松控制目标游戏对象的API或在 Update()方法中一遍又一遍地手动重置轴值。因此,也许您可以使用 Update() 方法通过使用表示路径的函数动态计算其坐标来约束目标的坐标,但我可以想象它会有多复杂。
推荐阅读
- apache-spark-sql - PySQL - 使用同一列中的两行计算百分比
- sql - 从多个列中删除零
- docker - 没有这样的文件或目录 package.json
- javascript - 在 DYGRAPH 中,我想在画布上(在柱形图中)永久显示所有数据点,在列的顶部?谢谢
- c# - 如何从对象列表中获取对象,这些对象列表中包含对象中另一个列表中的重复属性?
- ssis - SSIS 从 ODBC 查询结果中设置变量值
- virtual-machine - 如何提取 qcow2 虚拟磁盘映像?
- c - 在变量定义期间,自赋值有什么作用吗?
- reactjs - 在让视频录制组件在我的 React 应用程序中工作时需要帮助
- r - 使用棒球的日期返回错误