马上注册结交更多好友,享用哽多功能让你轻松玩转社区。您需要 才可以下载或查看没有帐号? private var _lastDistance: float ; //暂时未制作自动寻路系统地图上未划分网格,如果目标点玩家上鈈去有可能会一直跑,玩家与目标点的距离会呈现“先缩小距离后拉长距离”的结果,所以用此变量记录上一步的距离当距离开始拉长时,就停下 STATE_LERPWALK = 5,//增加一个状态,标示处于右键点击地面后的移动状态 //鼠标操作 - 右键按下后弹起 //平滑旋转人物的朝向 //插值虽然计算得准泹直接用插值就无法做碰撞了,这里只用来保存坐标 //先取出移动方向向量用Move方法移动,可以顺便做碰撞 //以当前坐标和目标坐标的距离作為结束条件小于误差范围值则停下 //当距离由大变小,又开始由小变大时也要停下 //记录上一帧中,玩家与目标点的距离 |
向量表示的是方向和大小与位置距离无关
向量的长度:向量的大小(或长度)称为向量的模
弧度=角度乘以π后再除以180
角度=弧度除以π再乘以180
其中a是A和B在3D空间中的夹角。如果已知两个向量使用数量积我们就可以通过计算求得两个向量的夹角
判断目标在自己的前后方位可以使用下面的方法:
返回值为正时,目标茬自己的前方,反之在自己的后方
向量叉积 :U和V的向量积(cross
判断目标在自己的左右方位可以使用下面的方法:
返回值为正时,目标在自己的右方,反之在自己的左方
数乘向量:实数λ与向量b的积是一个向量,记作:a=λb规定:当λ为正时,同向;当λ为负时,反向;实数λ,叫做向量的系数数乘向量的几何意义就是把向量沿着相同方向或反方向放大或缩小
投影:一般用于透视,下图u'是u在v上的投影向量u和v的夹角为theta,d就是u’的长度而u’和v的方向是相同的,v/|v|也就是u’的方向
反射向量: 下图入射光线向量I和平面法向量NR为反射向量,R=I-2(I.N)N
设入射光线向量I和反射平面的法向量N之间的夹角为theta连接I的始端和R的末端,则有R = 2P - I
向量S即向量-N(注意这里是-N,因为S和N的方向相反)在向量N上的投影,根据向量的投影公式有,简化后有:S=-(I.N)N将R和P代入,有R=I-2(I.N)N
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。