美文网首页Unity
unity2d 角色跳跃中的卡墙问题

unity2d 角色跳跃中的卡墙问题

作者: kofzx | 来源:发表于2020-07-23 16:29 被阅读0次

问题描述

当角色跳起来接触左右墙壁时按住左右移动键,会出现卡墙现象,就是角色不会因为重力掉下来,而接触墙壁停止在半空(不符合客观规律)

解决思路

在跳跃中,设置角色刚体摩擦力为0即可

解决方案

要改角色刚体摩擦力在Rigidbody组件当中没有摩擦力这个参数,需要为我们Rigidbody组件添加Material。

在Project视图中,右键,Create->Physic Material 2D,这里我们创建两个Material,分别为p1, p2。(p1是有摩擦力的,p2是无摩擦力的(p2->Friction为0))

拖动p1到角色Rigidbody组件中的Material,然后,贴代码:

Rigidbody2D rigidbody2d;
public PhysicsMaterial2D p1;    // 有摩擦力的
public PhysicsMaterial2D p2;    // 无摩擦力的

bool isGrounded;

void Start()
{
        rigidbody2d = GetComponent<Rigidbody2D>();
        rigidbody2d.sharedMaterial = p1;
}

private void FixedUpdate() {
        。。。
        // 着地逻辑
        if (isGrounded) {
                。。。
                rigidbody2d.sharedMaterial = p1;
        }
        // 跳跃逻辑
        if (!isGrounded) {
                。。。
                rigidbody2d.sharedMaterial = p2;
        }
}

至此,就解决了角色跳跃中的卡墙问题,解决方案出乎意料的简单,果然实践出真知呀。

相关文章

  • unity2d 角色跳跃中的卡墙问题

    问题描述 当角色跳起来接触左右墙壁时按住左右移动键,会出现卡墙现象,就是角色不会因为重力掉下来,而接触墙壁停止在半...

  • iOS 稳定性问题治理:卡死崩溃监控原理及最佳实践

    不同于 Android 系统中的卡死(ANR)问题,目前业界对 iOS 系统中 App 发生的卡死崩溃问题并无成熟...

  • unity2d 中particle 的显示问题

    1,z轴的数值是否与tilemap的前后遮挡 2,render 的 layer 指示在哪一层 3,(如果是短暂出现...

  • Unity2D角色控制器

    我们为 2D 横版游戏实现一个 CharacterController2D 的角色控制器时,一般有两种思路。采用物...

  • Unity2D UGUI text 跟随角色

    今天尝试做玩家头顶文字效果,尝试了几个方案:方案一:把Canvas设置成Worldspace模式,放到角色下,就跟...

  • 一种Unity2D多分辨率屏幕适配方案

    此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有使...

  • 角色 · 黑墙(Blackwall)

    我对灰袍Blackwall知道的并不多。据我们了解到,在灰袍治安官Fontaine从其前任手中接下灰卫指挥官的位置...

  • 手绘儿子喜欢的卡通角色

    儿子最近喜欢上了数码宝贝,尤其是喜欢让我画这些可爱的卡通角色,画两张试试! 第一张是用红辉涂的,颜色灰了些,但笔用...

  • 记一次正则表达式匹配失败

    问题描述 在公司管理后台-->权限管理-->角色删除中,由于产品在新建角色的时候把中文的括号()带入到了角色名称中...

  • NavMesh 分离网格链接

    Off Mesh Link 在游戏开发中,角色通常会有爬墙,或者跳跃等动作,但是这些网格都是分离开的,无法实现。所...

网友评论

    本文标题:unity2d 角色跳跃中的卡墙问题

    本文链接:https://www.haomeiwen.com/subject/vnehlktx.html