赞
踩
在写行为树的时候,有个转向节点,控制的行为就是控制自身向指定点转向
但是在写的时候,对一些概念很不理解,就自己写了个demo场景学习一下
这个测试场景想要实现的很简单,就是把这个箭头转向绿色的目标点。
在写这个测试demo的时候顺便实践了一下一直死记硬背的点积和叉积,
方法①:Vector2.Angle
float angle = Vector2.Angle(targetForward, sourceForward);
方法②:使用点积
// 计算 a、b 单位向量的点积,得到夹角余弦值,|a.normalized|*|b.normalized|=1;
//叉积算出方向 unity是左手坐标系,所以反过来了
具体解释见:Unity中点乘和叉乘的原理及使用方法
方法①:用2维向量旋转(逆时针旋转公式)进行旋转,顺时针角度为负,逆时针角度为正
private
方法②:Quaternion.LookRotation
public
参考:【Unity3d】平滑旋转、转向的实现
具体的demo场景已上传github:2d旋转测试DEMO场景 测试脚本
Unity中角度与弧度相互转换
Unity--向量点乘叉乘在Unity中的使用
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。