Change Physice Materials(更换物理材质)

bug:在角色跳到斜坡边缘的时候会卡在斜坡边缘一直做滑翔动作。因为当你在空中的时候在这里插入图片描述
角色会因为这段代码一直给一个向前的速度,这样会使角色和斜坡面之间有一个摩擦力。所以要解决这个问题就要修改摩擦力
修改预设材质:在根目录新建一个physic material(frictionOne)将动摩擦和静摩擦给为1在这里插入图片描述
Dynamic Friction:动摩擦
Static Friction:最大静摩擦
Boundness:弹性
Friction Combine:当物体和其他接触的时候如何运算
Bounce Combine:当物体和其他物体碰撞的时候如何运算
将Edit下拉菜单的projec setting里面的physic的预设摩擦给为frictionone
在新建一个frictionZero将静摩擦和动摩擦都给为0 接触运算方式为相乘.
这样用程式码实现当我在空中的时候我的摩擦力用frictionZero当我在地上的时候用预设的frictionOne。
要在动画面板的ground上增加exit事件,用来判断是否离开地面,离开地面的时候修改摩擦力。
代码实现:

[Space(10)]
    [Header("==== Friction Setting ====")]
    public PhysicMaterial FrictionZero;//导入物理摩擦材质
    public PhysicMaterial FrictionOne;
      private Collider col;//
      
    void Awake()
    {
           col = GetComponent<CapsuleCollider>();//获取到胶囊碰撞体
    }



 public void OnGroundEnter()
    {
        pi.inputEnabled = true;    
        lockPlanar = false;
        canAttack = true;//当在地面的时候可以进行攻击
        col.material= FrictionOne;//在ground状态下的时候用FrictionOne 
    }

    public void OnGroundExit()
    {
        col.material = FrictionZero;//当离开ground状态的时候切换成FrictionZero 
    }

这样就解决了当撞到斜坡边缘的时候会出现一直滑翔动作的问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值