인프런 커뮤니티 질문&답변

info님의 프로필 이미지
info

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

MapManager

동기화 질문입니다

작성

·

328

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
왜 맵를
00000000011000
00000000011000
00000000011000
00000000011000 이런식으로 도식화 해서 cango 함수를 이용해서 케릭터가 이동할 수 있는지 없는지를 하는건가요?
2d라서 콜루션이 없어서 만드는건가요?
 
그냉 케리터의 position 값만 동기화하면 되는거 아닌가요?
 
3d 환경에서도 위와 같은 방법으로 도식화해서 하나요?
 

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그리드 단위의 게임이라서 그렇습니다. 
실제로 이렇게 칸 단위로 움직이는 게임들이 일부 있습니다. ex) 리니지

싱글 게임이라면 Collider를 이용한 충돌을 하면 그만이지만,
MMO에서 서버는 그 많은 유닛들을 대상으로
정밀하게 Collider 충돌 연산을 하기가 쉽지 않습니다.

그래서 보통 칸 단위로 움직이는 게임은 충돌을 넣고 (리니지)
그렇지 않고 자유롭게 움직이는 게임 (와우 등)은 충돌이 없습니다.

0

info님의 프로필 이미지
info
질문자

그러면 3d 환경에서의 보통 장애물 충돌은 어떻게 처리하나요?

방법이 다른가요?

Rookiss님의 프로필 이미지
Rookiss
지식공유자

3d 게임이라도 리니지 같은 게임은 똑같이 그리드를 체크하구요.
벽이나 이런건 클라에서 선처리 하고 서버에선 러프하게만 하는 경우도 있고
Voxel 등을 이용해 3d 충돌 체크를 하는 방법도 있고 여튼 다양합니다.

info님의 프로필 이미지
info

작성한 질문수

질문하기