오늘 객체의 이동 및 점프를 RigidBody.velocityRigidBody.AddForce 메서드를 사용하여 구현 하였다.

   void FixedUpdate()
    {
        Move();
    }
   
   public void Move()
    {
        moveDirection = curMoveInput.y * transform.forward + curMoveInput.x * transform.right;
        moveDirection *= status.CurSpeed;
        moveDirection.y = rigid.velocity.y;

        rigid.velocity = moveDirection * Time.FixeddeltaTime;
    }

 

이런식으로 구현을 하였다 하지만, 캐릭터의 이동 자체가 엄청 느린것이다. Speed 값을 100~200 단위는 올려야 좀 자연스럽고 , 점프도 내려올때 중력이 잘 적용되지만 아무리 무게값을 올려도 천천히 내려오는 현상이 반복됬다.

 

구글링 해본 결과

 

즉, RigidBody.velocity RigidBody.AddForce 는 내부적으로 이미 프레임간 시간 차이(deltaTime)를 적용하여 연산 처리 되어있기 때문에 한번더 곱해지면 값이 2번 보정되어 엄청 느려지는것이다. 

+ Recent posts