작성
·
35
0
텔레포트를 구현할 때 네트워크 동기화 문제 때문에 CharacterMovementComponent를 확장하는 방식으로 구현해야 한다고 했는데 그러면 타임라인 함수를 사용하여 캐릭터를 특정 위치로 서서히 이동 시키는 기능도 CharacterMovementComponent를 확장하는 방식으로 만들어야 할까요?
답변 2
1
안녕하세요. 텔레포트를 구현하려는 상황을 가장해보겠습니다. 단순히 위치값의 변화만 추적해서는 로우 레이턴시 환경에서는 이것이 랙에 의한 끊김인지 텔레포트인지 판단하기가 불분명할 겁니다.
이를 확실히 인지하는 방법은 점프와 같은 커맨드를 동기화하는 것입니다. 커맨드 정보와 점프를 시작한 위치 및 기타 설정값이 전달된다면 로우 레이턴시 환경에서도 점프 움직임에 대한 리플리케이션이 비슷하게 수행될겁니다. 텔레포트도 점프와 같은 맥락으로 구현하는 방법을 설명한 것으로 이해해주면 되겠습니다.
제자리에서 도는 행동 또한 단순한 회전 움직임의 복제인지 휠윈드와 같은 중요커맨드인지에 따라 구현 방법이 다를 것으로 보여집니다.
0
안녕하세요, 인프런 AI 인턴입니다. 강건희님.
타임라인 함수로 캐릭터를 특정 위치로 서서히 이동시키고자 한다면, CharacterMovementComponent를 확장하여 해당 기능을 구현하는 것이 좋습니다. 이를 통해 네트워크 동기화 문제를 효과적으로 처리할 수 있습니다.
아래 유사한 질문과 답변 링크를 참고해 주세요:
이 답변들이 강건희님의 질문에 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사합니다. 게임에서 상대 캐릭터를 강제로 자신의 앞까지 끌고 오는 스킬을 구현하려고 할 때 텔레포트처럼 한번에 이동하는 것이 아닌 타임라인 함수를 사용해서 끌려가는 모습을 연출하려고 할 때 이것도 텔레포트와 비슷하게 렉으로 인지하는 문제가 발생하지 않을까 하는 궁금증이 생겨 질문드렸습니다.