2D游戏中跳跃是不可或缺的功能,要实现跳跃功能,就必须进行地面检测!常规方法是使用一根往角色下方延伸的射线检测,但是这种方法在一些复杂不规则的地面效果通常不尽人意。通过增加射线数量,即可完善这种方法的不足,达到在复杂地面也能正确检测角色是否处于地面。
1、建立必要变量
bool isGrounded;
public Transform [] groundChecks = new Transform [3];
public LayerMask whatIsGround;
2、在角色对象下建立三个空的子物体,并分别把三个子物体拖动到角色的左下方、正下方、右下方与地面接触的地方。
3、把建立的三个子物体分别拖到建立的transform数组中,同时在LayerMask中勾选角色要碰撞的图层
文章来源:https://www.toymoban.com/news/detail-554583.html
4、编写地面检测函数文章来源地址https://www.toymoban.com/news/detail-554583.html
void CheckIsGroud () {
bool checkResult;
for(int i = 0; i
到了这里,关于unity-2D游戏地面检测 三射线检测的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!