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度


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部