• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

3d 캐릭터 posistion 과 rotation 동기화

21.09.29 14:43 작성 조회수 305

0

안녕하세요. 선생님
현재 케릭터 동기화 작업까지 완료했고, 움직임 동기화를 구현 중에 있습니다.
저는 사진처럼 3d 환경에서 UI 핸들링을 이용해서 플레이어의 posistion 과 rotation 을 동기화 하려고 합니다.
선생님께서는 좌우상하를 인덱싱해서 케릭터의 움직임을 주셨는데, 제가 작업할 때 고려해야할 부분이 어떤 것들이 있을까요?
 
 
 
enum MsgId 에
C_MOVE = 4;
  C_ROT = 6;
  S_MOVE = 5;
S_ROT = 7; 를 추가했고, 아래와 같이 추가해서 작업하고 있었습니다.
 
 
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

답변을 작성해보세요.

0

그건 게임 사양에 따라 다릅니다.
보통 3D 게임이라 해도 윗축을 기준으로만 회전이 가능한 경우가 많은데
그럴 경우 x,y,z 좌표와 rotY 이렇게 4개를 받아줘서 동기화하면 됩니다.

그리고 마우스 기반이 아닌 3D 게임에선 클라가 먼저 움직이고,
서버에 후 통보하는게 자연스럽고 좋습니다.
단 다른 클라는 나의 '미래' 상태를 보고 있는 것이니
다른 클라에선 내 캐릭터 위치를 바로 그 좌표로 수정하면 안되고,
최종 목적지 변수를 두고 그쪽으로 쭉 이동하게 만들어주면 됩니다. (추측 항법의 개념)