unity 在山上旋转

Unity rotation on hills

你好,我不是 unity 的新手,但我想实现这个:

我不知道有多少人说 ik 但它太复杂了,有些人说四元数但他们没有解释我应该怎么做所以如果有人有想法请分享谢谢。我正在使用 A* 寻路并使用示例 AI,我尝试使用 AIlerp 来做我想要的,但它有很多错误 :)

您需要获取表面法线并将其应用于对象。 先求出A点到B点的向量,旋转90度最后归一化。

这是一些伪代码:

Vector3 pointA = new Vector3(x,y,z);
Vector3 pointB = new Vector3(x,y,z);

Vector3 dir = pointB - pointA;
Vector3 normal = new Vector3(-dir.y, dir.x).normalized;

object.transform.up = normal;