赞
踩
2D游戏中跳跃是不可或缺的功能,要实现跳跃功能,就必须进行地面检测!常规方法是使用一根往角色下方延伸的射线检测,但是这种方法在一些复杂不规则的地面效果通常不尽人意。通过增加射线数量,即可完善这种方法的不足,达到在复杂地面也能正确检测角色是否处于地面。
1、建立必要变量
- bool isGrounded;
- public Transform [] groundChecks = new Transform [3];
- public LayerMask whatIsGround;
2、在角色对象下建立三个空的子物体,并分别把三个子物体拖动到角色的左下方、正下方、右下方与地面接触的地方。
3、把建立的三个子物体分别拖到建立的transform数组中,同时在LayerMask中勾选角色要碰撞的图层
4、编写地面检测函数
- void CheckIsGroud () {
- bool checkResult;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。