其他分享
首页 > 其他分享> > Unity在地球上放置物体时使物体垂直于地面的实现

Unity在地球上放置物体时使物体垂直于地面的实现

作者:互联网

向量a:地心指向地面点P的向量

向量b:地球正北方向的向量(这里为向上)

向量c:垂直于向量a和向量b所在平面的向量

Vector3 a = pointP - MyPlanet.ins.transform.position;
Vector3 b = MyPlanet.ins.transform.up;
Vector3 c= Vector3.Cross(a, b);

man.transform.rotation = Quaternion.AngleAxis(-90.0f, c) * Quaternion.LookRotation(-a, b);

要让人垂直地面并面向正北方向,需要两步:

1.调用 Quaternion.LookRotation实现人看向地心,头朝北。

1.将人绕向量c旋转90度

标签:LookRotation,Quaternion,物体,Vector3,transform,ins,Unity,向量,时使
来源: https://blog.csdn.net/zouxin_88/article/details/114542046