您当前的位置: 首页 >  unity
  • 4浏览

    0关注

    193博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

设置Unity2D物体朝向

我寄人间雪满头丶 发布时间:2020-07-07 11:40:43 ,浏览量:4

3D项目用transform.LookAt就可以简单实现朝向,2D的话就得自己手动来了。 目前经过测试有两种方法可以直接使用。

1.通过SignedAngle方法,求出第一和第二参数之间的角度,第三个参数为环绕的轴,度数范围在-180~180之间,顺时针为正逆时针为负。

	Vector3 v = target.position - transform.position; //首先获得目标方向
	v.z = 0; //这里一定要将z设置为0
	float angle = Vector3.SignedAngle(Vector3.up,v,Vector3.forward); //得到围绕z轴旋转的角度
	Quaternion rotation = Quaternion.Euler(0, 0, angle); //将欧拉角转换为四元数
	transform.rotation = rotation;

2.直接求得Y轴到目标向量的四元数

Vector3 v = target.positio - transform.position;
v.z = 0;
Quaternion rotation = Quaternion.FromToRotation(Vector3.up, v);
transform.rotation = rotation;
关注
打赏
1648518768
查看更多评论
立即登录/注册

微信扫码登录

0.1464s