-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
안녕하세요 강사님
21.10.27 11:13 작성 조회수 201
0
안녕하세요 강사님 좋은 강의 잘 듣고 있습니다. 다름이 아니라 이번은 2d 던데 만약 3d 같은 게임은 서버로 구현해서 플레이어 움직임을 뿌려주는게 2d 보다 당연히 어렵겠죠? 혹시 이번 2d에 배운 것을 응용해서 3d 게임 서버도 구현 할 수 있을까요? 아니면 그 둘은 좀 많이 다른가요?
답변을 작성해보세요.
2
Rookiss
지식공유자2021.10.27
2d 게임이나 3d 게임이나 서버 관점에선 큰 차이가 없습니다.
3d 게임에서는 x,y,z 좌표와 회전각 rotY 이렇게 float 4개만 알면 동기화를 해줄 수 있습니다.
다만 리니지2m과 같은 그리드 좌표 단위 게임인지,
와우 같이 미세하게 움직일 수 있는 게임인지에 따라 살짝 기법이 달라집니다.
간단히 요약하면 목적지를 찍어서 해당 목적지 좌표를 broadcasting 한 다음에,
클라에서 해당 Object를 목적지로 향하도록 연산을 해주면서 렌더링 해주면 됩니다.
0
0
info
2021.11.10
친절한 답변 감사합니다.
제가 게임을 나갔다가 다시 들어오면 기존의 접속한 플레이어의 위치가 동기화 되지않고 생성되지 않는데요.
강의에서 확인할 수 있나요?
Rookiss
지식공유자2021.11.10
어느 강의 부분을 말씀하시는 것일까요?
서버는 계속 켠 상태에서 클라가 나갔다 들어오면
당연히 다른 오브젝트 위치도 동기화 되어 잘 보여야 합니다.
Part7 후반부에서 처리합니다.
0
Rookiss
지식공유자2021.11.10
그건 아니구요.
강의에서 그리드 Cell 좌표랑 실제 유니티상의 좌표가 다르기 때문에 조정을 해준 것입니다.
(0, 1) 그리드에 캐릭터가 위치하려면 캐릭터 중앙을 0.5, 1.5에 맞춰야 자연스럽게 그려집니다.
0
info
2021.11.10
그럼 선생님은 updatemoving() 함수에
destPos = CellPos + (0.5f, 0.5f); 해주신 이유가
미리 목적지를 0.5f만큼 더해주신건가요?
0
0
답변 7