Social Distancing
사회적 거리 두기
두 명의 플레이어가 너무 가까이 있지 않도록 "사회적 거리 두기" 모듈을 제공합니다.
이를 위해서는 네트워크 플레이어 프리팹에 ForbiddenArea
게임 객체와 콜라이더(캡슐 콜라이더)가 포함돼 있어야 합니다. 이는 다른 모든 원격 플레이어에게 금지 영역을 나타냅니다.
SocialDistancing
클래스는 네트워크 플레이어 프리팹에 추가되어야 합니다.
ILocomotionValidator
인터페이스를 구현합니다.
따라서 CanMoveHeadset
메소드는 땅을 향해 레이캐스트를 진행해 플레이어의 머리가 위에 정의된 ForbiddenArea
이상인지 확인합니다.
자동 충돌 감지를 피하기 위해 로컬 네트워크 리그의 Spawned()
에서 ForbiddenArea
을 삭제합니다.
충돌이 감지되면 이동이 금지되며 시각적 피드백을 표시하여 금지 구역을 표시할 수 있습니다.
시각적 피드백을 추가하려면 네트워크 플레이어 프리팹에 SocialDistancingVisualFeeback
클래스를 추가합니다. 그런 다음 SocialDistancing
는 일정 기간 동안 스프라이트를 표시하는 DisplayForbiddenArea()
방식이라고 부를 수 있습니다.
메커니즘이 두 플레이어가 동시에 서로를 향해 이동한다고 해서 더 가까워지는 것을 막지는 못하니 참고하시기 바랍니다.
데모
데모 씬은 Assets\Photon\FusionAddons\SocialDistancing\Demo\Scenes\
폴더에 포함되어 있습니다.
플레이어 네트워크 리그에는 단순 캡슐인 ForbiddenArea
이 포함되어 있습니다. 이 게임 객체는 ForbiddenLocomotion
로 설정되어 있습니다.
또한 네트워크 장비에 서클 스프라이트 렌더러가 설치되어 있습니다. SocialDistancingVisualFeeback
덕분에 멀리 있는 플레이어가 플레이어에게 이동을 시도하거나 순간 이동을 시도할 때 서클이 표시되어 왜 이동이 성공하지 못하는지 이해할 수 있습니다.
다운로드
이 애드온의 최신 버전은 애드온 프로젝트에 포함되어 있습니다.
지원하는 토폴로지
- 공유 모드
변경 내역
- 버전 2.0.0: Fusion 2.0 지원
- 버전 1.0.2: Namespace 변경
- 버전 1.0.1: 데모 씬 추가 + 네임스페이스 추가
- 버전 1.0.0: 최초 릴리즈