8方向人物寻路到NPC后角色朝向问题

在游戏开发中,角色寻找到NPC时通常会停在附近而非精确坐标,为了增加真实感,需要调整角色朝向面对NPC。通过计算角色与NPC之间的坐标差形成向量,并利用平面数学的夹角判断,将弧度转换为角度,确定角色应面向的方向。例如,当角色位于NPC的75°~105°范围内时,角色应朝左,以此类推。
摘要由CSDN通过智能技术生成

一般来说,游戏角色自动寻路寻找某位npc,为了显得更自然,都会走到目标npc附近,而不是npc所在的坐标点,这时寻路后人物的朝向往往便无法保证。

如今很多的游戏,人物都会有八个方向,为了让游戏更加逼真,在寻路到npc附近时,需要让角色朝向npc,那么如何确定人物朝向呢?我们可以根据角色和npc与Y周之间的夹角来判断。


当角色在目标npc的75~105度位置则角色应该朝向左边,在15~75时,则应该朝向左上方,如此类推。那么问题其实可以化为简单的平面数学问题。

在一平面内,角色坐标p1(x1,y1,)    npc坐标p2(x2,y2)

我们以npc的坐标为参考系,那么p2将变为(0,0), p1将变为(x1-x2,y1-y2),我们可以将p1视为一向量,求向量的角度

var angle:Number = Math.atan2(p1.x,p1.y);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值