Unity3D中上斜坡会下滑的问题

最近做HTC的项目,发现通过touchpad的触碰来移动物体会导致一个问题,斜坡角度比较大的时候,由于刚体的重力分力会导致运动区域下滑。

其实解决的方法很简单,就是判断刚体本身是否与地面相接触,如果地面与地面接触,就将刚体的使用重力取消,如果处于悬空状态,就重新使用重力效果,同时需要限制刚体的速度。

具体代码如下:

void OnCollisionStay(Collision other)

{

if(other.gameobject.tag=="ground")

{

m_rigid.useGravity=false;

}

}

void OnCollisionExit(Collision other)

{

m_rigid.useGravity=true;

m_rigid.velocity=new Vector3(0,m_rigid.velocity.y,0);//这样处理是为了一旦悬空可以使得物体在y轴以外的方向禁止

}



你可能感兴趣的:(Unity3D中上斜坡会下滑的问题)