当前位置: 首页 > news >正文

上海工程咨询行业协会济南seo公司报价

上海工程咨询行业协会,济南seo公司报价,中国行业网站,做外卖有哪些网站有哪些文章目录 开始准备获取路径全局点坐标 开始准备 首先创建一个导航场景,具体内容参考下列文章: Godot实现角色随鼠标移动 然后我们需要设置它的导航目标位置,具体关于位置的讲解在下面这个文章: Godot设置导航代理的目标位置 获取…

文章目录

  • 开始准备
  • 获取路径
    • 全局点坐标

开始准备

首先创建一个导航场景,具体内容参考下列文章:
Godot实现角色随鼠标移动
然后我们需要设置它的导航目标位置,具体关于位置的讲解在下面这个文章:
Godot设置导航代理的目标位置

获取路径

获取路径我们需要使用GetNextPathPosition()方法,在将物体的目标位置设置好了之后,我们就可以通过这个方法来获取可以移动到目标位置的路线。
GetNextPathPosition()方法返回下一个全局坐标系中可以移动到的位置,并且可以确保路径上没有静态对象。如果代理没有找到一条可以移动的路径,它将返回代理父级的位置。

使用该方法的示例代码如下:

using Godot;public partial class MyCharacterBody2D : CharacterBody2D
{private NavigationAgent2D _navigationAgent;public override void _Ready(){base._Ready();_navigationAgent = GetNode<NavigationAgent2D>("NavigationAgent2D");}public override void _PhysicsProcess(double delta){base._PhysicsProcess(delta);Vector2 nextPathPosition = _navigationAgent.GetNextPathPosition();}
}

注意,我们获取到的是全局的坐标,而不是局部坐标或者说是方向向量,但是我们可以通过一些手段,来将其计算为方向向量,供我们移动,示例代码如下:

		Vector2 currentAgentPosition = GlobalTransform.Origin;Vector2 nextPathPosition = _navigationAgent.GetNextPathPosition();Velocity = currentAgentPosition.DirectionTo(nextPathPosition) * _movementSpeed;MoveAndSlide();

这段代码在每个物理帧中通过路径导航系统,将代理角色移动到下一个路径位置。首先,我们定义了一个currentAgentPosition变量,通过GlobalTransform.Origin获取代理角色的当前位置,即全局坐标系的原点位置。

使用_navigationAgent.GetNextPathPosition()方法获取下一个路径位置,并将其存储在nextPathPosition变量中。

通过currentAgentPosition.DirectionTo(nextPathPosition)方法获取一个指向下一个路径位置的向量,然后乘以_movementSpeed变量来确定角色移动的速度。

使用MoveAndSlide()方法将代理角色根据计算得到的速度进行移动。该方法会自动处理碰撞和滑动,使得代理角色在不与障碍物发生碰撞的情况下移动到目标位置。

全局点坐标

我们通过GetNextPathPosition方法获取到的全局点的坐标,并不是直接就到了你的目标位置点,而是通过网格计算出来的,该方法获取到的全局坐标,是你当前角色所位于的网格内的坐标。
这句话大家可能并不是很理解,简单来说,这个坐标,无法脱离你的网格,最远,就只能到你的网格的边界了。
下面放出三张图,来帮助大家理解一下:
在这里插入图片描述
如上图所示,这是我们创建的导航区域,也就是角色可以移动的区域,仔细观察你会发现,他并不是一整块的,而是由一个一个相邻的网格组成。设定目标位置后,程序会计算到目标位置需要经过哪一些网格。

如下图所示,红点是我们此时的目标位置,灰色小人是GetNextPathPosition方法返回给我们的位置。

当目标位置不在当前网格的时候,他返回的全局坐标是当前网格内离下一个目标点最近的某一点的坐标,也就是网格最边界的某点。注意,这里我说的是下一个目标点,而不是最终目标点,程序会根据导航网格来计算需要经过哪些网格,这其中涉及寻路算法。
在这里插入图片描述
如下图所示,当目标点位于当前网格内部,则会直接返回目标点的全局位置。
在这里插入图片描述

http://www.dt0577.cn/news/4087.html

相关文章:

  • php开发网站建设企业营销型网站有哪些
  • 金华建设网郑州seo优化公司
  • 网站建设简单点的河南网络推广那家好
  • 中小网站建设百度问答平台
  • 装修网站哪家靠谱万网创始人
  • 专业网站建设多少钱免费网络推广100种方法
  • 西安又一新病毒出现李飞seo
  • wordpress清除插件seo 资料包怎么获得
  • 网站设计改版南通企业网站制作
  • 茶业网站设计方案深圳网络提速优化服务包
  • 模板网站能用吗小程序推广引流
  • 简述网站建设的主要内容策划品牌全案
  • 做网贷中介网站赚钱吗原创软文
  • 网站定制开发要多少钱汕头seo推广外包
  • 企业做网站要多少钱网络推广赚钱平台有哪些
  • 登尼特网站建设服务seo赚钱培训课程
  • 广东省自然资源厅网站内容营销平台有哪些
  • 网站开发工资怎么样二十个优化
  • 建站工具 ip青岛百度快速排名优化
  • 网站换ip注意百度指数搜索榜
  • 福建龙岩新罗区疫情最新消息鹤岗网站seo
  • 建设主题网站一般要经历的顺序陕西新闻今日头条
  • 做电脑网站用什么软件有哪些方面列举常见的网络营销工具
  • wordpress财付通seo是什么职业做什么的
  • 宁国市有做网站抖音关键词搜索指数
  • 石家庄关键词排名软件seoul是哪个城市
  • 认证空间官方网站防恶意竞价点击软件
  • 宿迁网站开发现在网络推广哪家好
  • 求大哥给个狼站2022seo规范培训
  • 给朋友网站做宣传怎么写关键词优化搜索引擎