今天我一个早上都在debug,一个bug,弄了我一天多。角色为什么在静止的时候速度不为0?
` 以下是更新函数
{//移动
pendingVelocity.z = 0f;
cc.Move(pendingVelocity * Time.deltaTime);
animator.SetFloat("Speed", cc.velocity.magnitude);
animator.SetBool("Grounded", cc.isGrounded);
//更新重力
//pendingVelocity.y += cc.isGrounded ? 0f : Physics.gravity.y * 10f * Time.deltaTime;//
if (cc.isGrounded)
{
pendingVelocity.y = 0;
}
else if (!cc.isGrounded)
{
pendingVelocity.y += Physics.gravity.y * 10f * Time.deltaTime;
}
AttackCheck();
if (transform.position.y < -80)
{
if (isAlive == true)
{
Death();
}
}
//if (cc.isGrounded==true)
//{
// pendingVelocity = new Vector3(cc.velocity.x, 0, 0);
//}
}`
如果对重力进行更新,角色竖直速度就不为0,如果不对重力进行更新,那角色就无法下落无法触碰,我真的很难受,一上午也没有学习新的知识。我不行了,我自己思考不聊了,下午学习新知识+问别人问题。
我还是实现了是男人就下一百层的基本功能,上升速度极快,不过存在一个同质化问题。举例来说就是人若卡在台阶模组上台阶就会和人一起以一个速度下降。不过这到不是什么大问题。有一个挺难受的问题,就是将物体抓起之后有一定几率会一直维持抓取状态但抓取物为空,这里我想到了一个解决办法,任何情况下,只要有一个为空两个都为空。明天进行实现