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://bianchenghao.cn/84573.html