오늘 객체의 이동 및 점프를 RigidBody.velocity와 RigidBody.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번 보정되어 엄청 느려지는것이다.
'내일배움캠프_Unity_6기 > TIL(Today I Learend)' 카테고리의 다른 글
TIL : 2024-11-06(수) :: Inspector에 2차원 배열 표시하기 (0) | 2024.11.06 |
---|---|
TIL : 2024-11-05(화) :: 물체가 계속 고정좌표로 이동하고 싶으면서 충돌 처리를 하고 싶을때 (예시 : 플레이어가 오브젝트를 잡은 상태를 구현할때) (0) | 2024.11.05 |
TIL : 2024-10-25(금) :: Unity3D에서 InputSystem을 사용하여 캐릭터 이동 및 카메라 회전 제어하기 (0) | 2024.10.25 |
TIL : 2024-10-24(목) :: SkyBox,Rigidbody.AddForce(),Ray 사용하는 방법 (0) | 2024.10.24 |
TIL : 2024-10-23(수) :: UnityEngine.Pool 사용하기 (0) | 2024.10.23 |