Photon Unity Networking 소개

시작하기

Photon Unity Networking (PUN) 은 Photon 백엔드를 이용하여 인증 옵션, 매치메이킹과 빠르고 신뢰도가 높은 게임내 커뮤니케이션을 제공 합니다.

PUN은 유니티에서 지원하는 대부분의 플랫폼에서 익스포트 되며 두가지 유형이 있습니다:

PUN FREE

PUN FREE Unity Plugin 거의 모든 플랫폼에 익스포트 합니다. IOS와 Android 익스포트는 Unity 5 또는 모바일 라이선스가 있는 Unity 4 프로가 필요 합니다.

Get PUN FREE

PUN PLUS

PUN FREE Unity Plugin Unity 라이선스에 관계 없이 모든 플랫폼에 익스포트 합니다. 100 명의 동시 접속자를 제공합니다.Photon Realtime 60 개월 플랜.

PUN PLUS $ 95. 에 사용

노트: Unity 5 에서 두개의 PUN 패키지 파일들은 동일 합니다. 60개월 동안 100 CCU 를 이용하기 위해서 PUN+ 를 구매할 수 있지만 PUN Free 는 클라이언트 측에서 사용할 수 있습니다.

PUN, PUN+ 과 Unity Networking 비교

  PUN PUN+ UN  
가격 무료 $ 95 무료
무료 CCU 20 100
전세계 호스팅 UN은 마스터 서버가 필요 합니다.
Unity Networking 호환 이전 Unity Networking, UNet 이 아닙니다.
Unity FREE: Web, Standalone
Unity 4 FREE: iOS, Android UN 은 모바일에 punchthrough 이슈가 존재 합니다.
Unity 5 FREE: iOS, Android UN 은 모바일에 Relay Service 가 필요 합니다.
호스트 마이그레이션
Rooms, Lobby 지원
Player 서비스 품질 (QoS)

웹에서 Photon Unity Networking (PUN) 과 Unity Networking (UN) 비교 문서를 참조 하세요.

코드가 필요 합니다

PUN을 제대로 활용하기 위해서는 일부 스크립트를 작성해야 합니다. 이 페이지에서는 시작 할 때 필요한 가장 중요한 사항을 보여 줍니다.

Marco Polo Tutorial 을 살펴 보시는 것이 좋습니다.

접속

위 코드는 Photon 기능 사용을 하기 위해 접속하는 코드 입니다.

ConnectUsingSettings 에는 클라이언트의 게임 버전을 설정하고 PUN 셋업 위자드가 작성 해 놓은 설정 파일을 사용하는데 설정파일의 PhotonServerSettings 에 저장되어 있습니다.

매치메이킹

다음으로 생성되어 있는 방에 참여하거나 방을 생성 할 수 있습니다. 다음 코드에는 게임 참여 또는 룸을 생성하는 방법을 보여 줍니다.

일반적으로 친구들과 함께 게임하는 것이 더 즐겁습니다. 만약 서로 소통(예,Photon Chat, Facebook 을 통해서)할 수 있다면 JoinOrCreateRoom 를 이용하여 룸 이름을 결정할 수 있습니다. 친구들이 룸 이름을 알고 있다면 다른 사람이 볼 수 없게 룸을 생성 할 수 있습니다:

JoinOrCreateRoom 를 이용하여 존재하지 않는 룸이면 새롭게 생성됩니다. 만약 룸이 가득차 있다면 OnPhotonJoinRoomFailed 가 호출됩니다(어딘가에 구현해 놓았다면).

게임플레이

게임오브젝트들은 "networked GameObjects" 로 인스턴스화 될 수 있습니다. 게임오브젝트들은 식별되는 PhotonView와 소유자(또는 컨트롤러)를 가지고 있습니다. 소유자는 모든 것을 갱신합니다. 지속적인 업데이트는 PhotonView의 Observed 필드에 스크립트를 드래그하여 전송 될 수 있습니다. 그 스크립트는 OnPhotonSerializeView 를 아래의 코드 처럼 반드시 구현해야 합니다.

클라이언트는 드물기는 하지만 Remote Procedure Calls 도 할 수 있습니다.

GameObjects와는 별도로 자신만의 이벤트를 보낼 수 도 있습니다.

지원 받기

우리 Photon 팀(때로 포토니안이라고도 합니다 :)은 귀하를 도와드리려고 존재 합니다. 질문사항, 의문사항, ... 또는 잘 동작하지 않는 앱을 동작시키고 싶으신 경우 아래 형태를 선택하여 연락 주세요.

더 빠른 지원 받기

재현 단계를 포함하여 아래사항을 같이 주시면 빠른 지원을 받으 실 수 있습니다:

  • Photon 클라이언트 SDK 버전
    • SDK 압축 파일명의 부분입니다.
    • PUN의 경우는 PhotonNetwork.versionPun 값을 전달하여 주세요.
  • Photon Cloud
    • AppId Connect*() 호출할 때 설정되고 있는 게임 버전을 적어 주세요.
    • 룸에서 어려움을 겪고 있다면 RoomName과 룸의 서버 주소를 보내주세요. C# 에서 룸에 있을 동안 client.CurrentServerAddress를 로그에 기록해 주세요.
    • 지역서버 주소를 알려주세요.
  • Photon Server
    • 서버를 호스팅하시나요? 서버 SDK 버전을 알려주세요. 다시 말씀드리지만 SDK 압축 파일명에 있습니다.
    • log 를 추가해주세요.

연락 하기

문서에 추가적인 데모, 더 상세한 문서, FAQ 또는 예제 어플리케이션등 추가 및 보완해야 하는 사항이 있으면 알려주세요. 귀하의 의견은 developer@photonengine.kr 로 제안하여 주시면 감사하겠습니다.

Photon 에 대해서 더 많이 학습을 원하시나요?

시작하려면 무료 플랜을 시도 해 보세요

우리가 어떤 이벤트 행사에 참가하는지 알아보세요

미팅 요청을 하세요.

 To Document Top