使用physic.CapsulCast();
前面3个参数生成一个胶囊体,
向着发射方向,发射出一串的胶囊(没有最大距离)
有最大距离,可以节约性能开销。
physic.CapsulCast();返回值是一个bool
如果射线碰到其他碰撞体,会返回ture。
此时玩家就不可以走。
理论思想
//柜子需要碰撞体boxCollider等。
bool canMove = ! physic.CapsulCast();
if(canMove){
transform.position += moveDir *speed*Time。deltaTime;
// 玩家 每一帧要移动的距离
}