PUN Voice 데모
PUN Voice 데모는 플레이어들이 서로 대화할 수 있는 간단한 4인용 모바일 게임입니다.
이 게임은 매치메이킹 이외에 플레이할 수 있는 4개의 캐릭터와 3개의 카메라 뷰를 가지고 있습니다.
이 데모는 유니티 튜토리얼"Survival Shooter"를 기반으로 제작되었으며 Photon Voice 패키지에서 사용할 수 있습니다.
설정
PUN Voice 데모를 실행하기 위해서:
- 에셋 스토어에서 패키지를 다운로드합니다.
- 유니티에서 프로젝트를 오픈하고 DemoPunScene을 로드합니다.
- 유니티 Inspector 에서 PhotonServerSettings 을 오픈 (메뉴: "Window" -> "Photon Unity Networking" -> "Highlight Server Settings")합니다:
- PUN 환경 구성: Photon Realtime 관리화면에서 Realtime AppId를 복사하여 붙여 넣습니다.
- Voice 환경 구성: Photon Voice 관리화면에서 Voice AppId를 복사하여 붙여 넣습니다.
- 빌드하고 실행하여 즐겨보세요!
특징
이 섹션에서는 데모에서 사용되는 기능에 대해 설명합니다.
복수 캐릭터
친구들과 데모를 해보면 모든 플레이어가 자신만의 독특한 캐릭터를 갖게 되고 임의의 위치에서 스폰 된다는 것을 알게 될 것입니다.
이 기능은 CharacterInstantiation
클래스를 사용하여 처리됩니다. OnJoinedRoom
콜백에서는 액터 번호와 무작위 스폰 위치를 기반으로 한 프리팹을 선택합니다.
연결과 보정
오른쪽 하단 모서리에서 보정 및 연결 버튼을 찾을 수 있습니다.
보정 버튼은 Voice 룸에 연결된 경우에만 작동하며 음량 수준을 조정하는 데 유용합니다.
"보정"에 대해서 더 읽어보세요.
다른 두 버튼은 각각 PUN 또는 Photon Voice에 "연결"하거나 "연결 해제"합니다.
설정
UI에서 쉽게 접근할 수 있도록 설정하여 주십시오.
Photon Voice 어플리케이션을 조정할 수 있는 바로 가기를 알려드리고 싶습니다.
게임내 설정
Photon Voice 어플리케이션의 가장 중요한 런타임 설정은 단일 ToggleGroup
으로 그룹화되는 것입니다:
- Transmit: 비활성화된 경우 음성 전송이 꺼집니다. 그렇지 않으면 소리가 로컬에서 녹음되어 전송됩니다.
- Mute Speaker: 이 설정은 볼륨을 0으로 설정하여 스피커를 음소거합니다.
- VoiceDetection: 이 설정은 음성 감지 기능을 사용하거나 사용하지 않도록 합니다.
- DebugEcho: 이 설정은 단일 클라이언트를 사용하여 음성 어플리케이션을 테스트할 때 유용합니다. 켜져 있는 경우, 보낸 오디오 스트림이 서버에서 원래 보낸 사람에게 다시 전송됩니다. 디버그 목적용으로 만 사용되어야 합니다.
글로벌 설정
- AutoConnectAndJoin: PUN 클라이언트가 "PUN 룸"에 가입되면 Photon Voice 클라이언트를 "음성 룸"에 자동으로 가입시킵니다.
- AutoLeaveAndDisconnect: PUN 클라이언트의 연결이 끊어지면 Photon Voice 클라이언트의 연결이 자동으로 끊어집니다.
- DebugVoice: 디버그 모드를 토글 합니다.
디버그 텍스트는 다음을 포함하는 화면 왼쪽 상단 모서리에 나타납니다: PUN 및 Voice 어플리케이션ClientState
와 마이크 장치 및 일부 음성 통계입니다.
켜져 있으면 모든 "말하는" 캐릭터 위에 음성 스피커가 지연되는 것도 표시됩니다.
음성 컴포넌트 강조 표시
두 가지 주요 보이스 컴포넌트가 어떻게 작동하는지 설명하기 위해 모든 플레이어 위에 표시되는 아이소메트릭 뷰를 사용했습니다.
이 보기는 "World Space" 모드에서 Unity의 새로운 UI 시스템을 기반으로 합니다. 두 개의 아이콘이 있습니다.
"Speaker" 아이콘
이 아이콘의 목적은 플레이어의 음성이 재생되는 시점을 보여주는 것입니다.
이는 PhotonVoiceView
컴포넌트에 바인딩 됩니다.
이 코드에 따라 영상이 표시되거나 숨겨집니다.
C#
speakerSprite.enabled = photonVoiceView.IsSpeaking;
또한, DebugVoice 글로벌 설정이 토글 될 때, 텍스트가 계속 업데이트되는 숫자를 포함하는 동일한 뷰에 나타나기 시작합니다.
스피커 컴포넌트의 지연을 알려야 합니다. 다음과 같이 활성화 또는 비활성화됩니다:
C#
bufferLagText.enabled = showSpeakerLag && photonVoiceView.IsSpeaking;
if (bufferLagText.enabled)
{
bufferLagText.text = string.Format("{0}", photonVoiceView.SpeakerInUse.Lag);
}
"버블 스피치" 아이콘
이 아이콘의 목적은 플레이어의 음성이 녹음되고 전송되는 시기를 보여주는 것입니다.
이는 PhotonVoiceView
컴포넌트에 바인딩 됩니다.
이 코드에 따라 영상이 표시되거나 숨겨집니다.
C#
recorderSprite.enabled = photonVoiceView.IsRecording;
이에 관련되어 더 많이 알아보시려면 "Highlighter.cs" 파일과 클래스를 확인해볼 수 있습니다.
다른 카메라
Photon Voice는 AR과 VR이 포함된 모든 게임에서 사용할 수 있으므로 3D 사운드 환경이 얼마나 좋은지 보여주는 작업 예를 만드는 데 도움이 될 것입니다.
이를 위해 3가지 카메라 모드를 준비했습니다.
- "First Person"
- "Third Person"
- "Orthographic" (기본)
룸에 들어가면 언제든지 뷰를 자유롭고 매끄럽게 전환할 수 있습니다.
플레이어의 캐릭터가 인스턴스화되면 화면 오른쪽 상단 모서리에 있는 세 개의 각 버튼을 사용할 수 있습니다.
모바일 조이스틱
이 데모에는 모바일 터치 입력 지원이 포함되어 있습니다.
스마트폰 또는 태블릿에서는 유니티의 표준 에셋에 기반한 데모와 함께 제공되는 조이스틱 UI를 사용할 수 있습니다.
이 기능을 사용하려면 유니티 메뉴에서 "Mobile Input"을 사용하도록 설정하고 유니티의 빌드 설정에서 호환되는 플랫폼으로 전환해야 합니다.
디버그 모드
DebugVoice 토글이 켜져 있으면 디버그 모드가 활성화됩니다.
이 모드에서는 다음과 같은 추가 정보가 화면 왼쪽 상단 모서리에 표시됩니다:
- PUN 클라이언트의 상태
- Voice 클라이언트의 상태
- 음성 진폭 평균치와 피크
- 사용할 수 있는 마이크 장치 목록 또는 없을 경우 경고. 일반적으로, 대부분의 기기에서는 하나의 마이크 장치가 있습니다.
사운드
데모에는 몇 가지 멋진 음향 효과도 포함되어 있습니다.
룸에 참여한 것과 퇴장하는 것을 알려야 합니다.
이게 마음에 들었으면 좋겠습니다!