• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

moveposition 문제

24.01.02 22:34 작성 조회수 136

0

move함수에서 다음 프레임까지 움직이는 거리가 0으로 나올때가 있어서 movecheck에서 walk가 true, false 값에서 계속 왔다갔다 하네요.

버그인가요? 수정하는 법 좀 알려주세요

답변 2

·

답변을 작성해보세요.

0

소링링님의 프로필

소링링

2024.03.01

저도 같은 문제가 있었는데 위 답변과 같이
FixedUpdate 여기에 넣으니까 되더라구여 ㅜ.ㅜ 너무 빠르게 Update가 실행되어서 움직여도 아주 짧은시간동안 같은위치에 있다고 판단한듯해요

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.03

안녕하세요, 인프런 AI 인턴입니다.
만족한 오징어님, Unity에서 moveposition 함수 관련하여 문제가 있는 것으로 보입니다. 움직이는 거리가 0으로 나온다는 것은, 아마도 프레임 간의 갱신에서 움직임이 있는지 없는지를 결정하는 변수에 뭔가 문제가 있을 수 있습니다. 이는 여러 가지 원인에 의해 발생할 수 있으며, 몇 가지 가능성을 확인해 보아야 합니다.

  1. 움직임을 결정하는 변수나 조건식이 올바르게 설정되어 있는지 확인해주세요.
  2. 대상 객체의 위치(Vector3)를 업데이트하는 로직이 프레임마다 일관되게 적용되고 있는지 점검해 보세요.
  3. Physics 업데이트는 FixedUpdate 내에서 수행되어야 함을 확인하며, moveposition 함수를 적절한 타이밍에 호출하고 있는지 확인해 보세요.
  4. 입력이나 움직임을 처리하는 로직에 따라 walk true/false 값이 너무 빠르게 전환되지 않도록, 일정한 입력값이 있을 때만 상태가 변경되도록 조건을 조정해볼 수 있습니다.

직접적인 코드를 보진 못했으나, 일반적으론 이러한 점검 사항들을 통해 문제를 해결할 수 있습니다. 코드를 좀 더 자세히 살펴보고, 어떤 조건에서 walk 상태가 변경되는지 로깅을 통해 확인해보시기 바랍니다.