unity3d:物体寻路贴合地面,y轴与地面normal方向平行(坦克爬斜坡问题)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luoyikun/article/details/89181454

在这里插入图片描述
坦克在爬斜坡时,保持坦克是贴合地面前进

寻路挂在父物体上,控制姿态脚本挂在坦克子物体上

RaycastHit hit;

int Rmask = LayerMask.GetMask ("Terrain");

Vector3 Point_dir = transform.TransformDirection(Vector3.down);

if (Physics.Raycast(transform.position, Point_dir, out hit, 50.0f,Rmask)) {

Quaternion NextRot=Quaternion.LookRotation(Vector3.Cross(hit.normal,Vector3.Cross(transform.forward,hit.normal)),hit.normal);


transform.MoveRotation(Quaternion.Lerp(transform.rotation,NextRot,0.1f));

}

猜你喜欢

转载自blog.csdn.net/luoyikun/article/details/89181454