C# 山上的统一旋转

C# 山上的统一旋转,c#,math,unity3d,path-finding,C#,Math,Unity3d,Path Finding,你好,我对unity并不陌生,但我想实现以下目标: 我不知道有多少人说ik,但它太复杂了,有些人说是四元数,但他们没有解释我应该怎么做,如果有人有想法,请分享,谢谢。我正在使用*寻路,并使用他们提供的示例人工智能。我尝试使用AIlerp,但它有很多错误:)您需要获得曲面法线并将其应用于对象。 首先找到从点A到点B的向量,将其旋转90度,最后对其进行规格化 下面是一些伪代码: Vector3 pointA = new Vector3(x,y,z); Vector3 pointB = new Ve

你好,我对unity并不陌生,但我想实现以下目标:


我不知道有多少人说ik,但它太复杂了,有些人说是四元数,但他们没有解释我应该怎么做,如果有人有想法,请分享,谢谢。我正在使用*寻路,并使用他们提供的示例人工智能。我尝试使用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;

你能添加你已经尝试过的任何样本/片段吗?假设你还没有尝试过任何东西,你可以先旋转角色对象,旋转角度为对象的上方向向量和它“站立”的表面法线(站立的意思是,从对象向下光线投射)。这很简单也很难看,但这只是一个开始。