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

unity3d:物体寻路贴合地面,y轴与地面normal方向平行(坦克爬斜坡问题)_第1张图片
坦克在爬斜坡时,保持坦克是贴合地面前进

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

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));

}

你可能感兴趣的:(Unity3D实用技术笔记,unity3d,寻路贴合地面,坦克爬斜坡)