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 }
讯享网
这样就解决了当撞到斜坡边缘的时候会出现一直滑翔动作的问题了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/57282.html