포톤 코리아 블로그에서

'유니티짱을 이용한 PUN classic 시작하기' 와 (https://photonkr.tistory.com/6?category=1030095) 매우 유사합니다.

그래서 주의깊게 보셔야 할 곳은 PUN2 부분입니다.

 

 

* 어셋 다운로드 (PUN2, Unity chan)

(유니티 짱 모델도 디렉토리 구조가 변경되었더군요)

 

* App ID 설정

포톤 홈페이지에서 어플리케이션을 생성하고 App ID를 얻습니다.

얻은 App ID를 입력할 위치는 Assets\Photon\PhotonUnityNetworking\Resources\PhotonServersettings 입니다.

만약 어셋스토어에서 PUN2를 다운로드 받는 즉시 뜨는 팝업에서 App ID를 입력하셨다면 이 단계는 뛰어넘으셔도 됩니다.

 

이 단계는 포톤 코리아 블로그 중 '포톤엔진을 유니티에 적용'을 (https://photonkr.tistory.com/13?category=1000133) 참고하세요.

 

 

* Locomotion 씬 오픈

위치는 Assets\unity-chan!\Scenes\Locomotion 입니다.

 

 

* 유니티짱 프리팹화

-컴포넌트 추가 (Photon View, Photon Animator View, Photon Transform View)

 

 

* 유니티짱 스크립트 수정 - UnityChanControlScriptWithRgidBody.cs

-부모 클래스를 MonoBehaviourPun으로 변경(using 키워드에 Photon.Pun 추가)

-FixedUpdate 함수에 조건문 추가(나의 오브젝트만 제어가능하게)

 

* 메인 카메라 수정

-Third Person Camera 비활성화

인스턴스화 되면서 카메라와의 연결이 끊어집니다. 그래서 코드로 다시 활성화를 합니다.

 

 

* 인스턴스화 스크립트 -> 이 부분이 PUN 2에서 달라진 부분입니다.

MatchMaker.cs
0.00MB

 

PUN 2에서는 PUN classic과 달리 Auto Join Lobby 기능이 없어졌습니다.

 

이번에는 Master Server에서 바로 룸으로 가도록 하겠습니다. 

물론 로비로 이동한 후(JoinLobby 함수 이용) 룸으로 가도록 해도 됩니다.

 

일부 코드 설명을 붙이면요.

OnConnectedToMaster 함수를 이용해 마스터 서버 접속합니다.

그리고 나서 룸이 있다면 JoinRandomRoom 함수를 이용해 룸에 입장합니다.

룸에 입장을 하면 Instantiate 함수가 프리팹(오브젝트)을 인스턴스화 합니다.

 

OnConnectedToMaster 

MonoBehaviourPunCallbacks 클래스에 있습니다.

인터페이스로 정의되어 있습니다.

로비 3종류 중 Default 로비에 접속합니다.

 

JoinRandomRoom

콜백으로 OnJoinedRoom 또는 OnJoinRandomFailed 가 호출됩니다.

 

* OnJoinedRoom

MonoBehaviourPunCallbacks 클래스에 있습니다.

인터페이스로 정의되어 있습니다.

 

 

 

* 컨트롤러

하이라키에서 빈 오브젝트 생성 후 이름을 PhotonController 로 변경합니다.

위 MatchMaker.cs 파일을 컴포넌트로 추가합니다.

 

PhotonObject 변수에 프리팹으로 만든 유니티짱을 연결합니다.

 

 

* 빌드 앤 런

 

 

 

감사합니다!

 

 


 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

 

 

★Photon Korea 유투브

https://bitly.kr/photonyoutube

 

 

'Photon > PUN' 카테고리의 다른 글

[PUN]PUN classic VS PUN 2  (0) 2019.05.30
[PUN] 매치메이킹  (0) 2019.04.24
[PUN]로비.룸 알아보기  (0) 2018.12.19
[PUN]RPC 알아보기  (0) 2018.12.10
[PUN]VR 프로젝트 구현하기  (0) 2018.07.22

보이스챗 둘러보기 포스트(https://photonkr.tistory.com/36?category=1054486)에 이어

보이스챗 적용하기를 해보겠습니다.

 

이번 시간에는 

PUN도 연동하여 프리팹을 생성하고

프리팹에 Photon Voice가 적용되어 보이스챗을 구현해보도록 하겠습니다.

 

 

 

Voice컨트롤러

: 하이라키에서 Create Empty를 이용해 빈 오브젝트 하나 생성 -> 이 오브젝트 이름을 VoiceController로 변경

 

1. 컴포넌트 추가

-Photon Voice Network 컴포넌트

-Recorder 컴포넌트

 

2. 컴포넌트 설정

2.1. Photon Voice Network 컴포넌트

Primary Recorder에 Voice 컨트롤러에 추가한 Recorder를 연결

2.2. Recorder 컴포넌트

Transmit Enabled 체크

Debug Echo 체크

 

Photon Voice Network 컴포넌트

 

Recorder 컴포넌트

 

 

프리팹 만들기

1. 큐브 생성

하이라키에서 3D Object를 이용해 그 중 Cube를 생성 

2. 큐브에 컴포넌트 추가

-PhotonView

-PhotonVoiceView

3. PhotonVoiceView 설정

-UsePrimaryRecorde 체크

-SetupDebugSpeake 체크

 

PUN 컨트롤러

1. 로비.룸 입장

-OnConnectedToMaster()

-PhotonNetwork.JoinRandomRoom()

2. 프리팹 인스턴스화 등등

-PhotonNetwork.Instantiate()

 

MatchMaker.cs
0.00MB

 

 

 

 

빌드 앤 런

1. 큐브 인스펙터

Speaker 컴포넌트가 자동 생성되어 마이크로폰으로 테스트 가능

 

 

 

 

* 최종 하이라키

 

 

참고로 PUN을 같이 사용안하고, 

Photon Voice2만 사용하셔도 됩니다.

 

 


 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

 

 

★Photon Korea 유투브

https://bitly.kr/photonyoutube

'Photon > Voice' 카테고리의 다른 글

[Photon Voice2] 보이스 챗 둘러보기  (1) 2019.06.18

안녕하세요~

이번 포스팅에서는 VR 개발시 

많이 이용하는 Voice를 같이 알아보려고 합니다.

 

* Unity Assets 다운로드&임포트

https://assetstore.unity.com/packages/tools/audio/photon-voice-2-130518

 

 

 

* App ID 설정하기

Photon Voice2를 다운로드&임포트를 하면

위와 같은 위자드가 뜹니다.

App ID나 Email을 준비하셨다면 바로 기입하시면 되고요.

 

조금 후에 설정하고 싶다면,

Assets\Photon\PhotonUnityNetworking에 위치한

PhotonServerSettings를 찾으시면 됩니다.

 

*데모를 살펴보면서 Voice를 하나씩 파악해볼까요?!

 

데모 위치

Assets\PhotonVoice\Demos\DemoVoicePun

씬 명

DemoVoicePUN-Scene

 

빌드&런 전

빌드&런 후

 

마이크로폰은 준비하셨죠?

바로 테스트는 확인이 안되고요.

InGame Settings에

Transmit, VoiceDetection, DebugEcho 

체크를 해주세요.

그러면 이제 테스트 가능합니다.

 

 

그리고 오른쪽 위 카메라 설정도 변경해보세요.

처음 시작은 Orthographic 이고요.

 

Third Person

 

First Person

 

카메라를 따라 사운드도 같이 변경되는 것을 확인할 수 있습니다.

 

 

핵심 컴포넌트 몇 개를 안내해드리겠습니다.

1. Photon Voice Network

PUN과 같이 사용한다면 꼭 필요한 컴포넌트로서, PUNVoice클라이언트 상태를 자동으로 싱크 맞춰주는 역할

2. Recorder

오디오 스트림을 전송하는 컴포넌트

3. Photon Voice View

PUN에 연결(네트워킹)하는 역할

 

 


 

 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

 

 

★Photon Korea 유투브

https://bitly.kr/photonyoutube

 

 

 

 

 

'Photon > Voice' 카테고리의 다른 글

[Photon Voice2]보이스 챗 적용하기  (0) 2019.07.14

<PUNs 비교>

2018년 8월 PUN2가 출시되었습니다.

업데이트 리스트는 아래 링크에서 확인할 수 있어요.

https://doc.photonengine.com/en-us/pun/current/getting-started/migration-notes

 

Migration Notes | Photon Engine

MULTIPLAYER REALTIME PUN BOLT QUANTUM COMMUNICATION CHAT VOICE SELF-HOSTED SERVER We Make Multiplayer Simple Photon Realtime Develop and launch multiplayer games globally whether you are an indie developer or AAA studio. Create synchronous or asynchronous

doc.photonengine.com

 

그 외 더 정리해서 포스팅합니다~

- Asset 다운로드, 임포트 (Classic 버전과 동일하게 Free 앱, Plus 앱 2종류가 있습니다.)

PUN 2 :

https://assetstore.unity.com/packages/tools/network/pun-2-free-119922

 

PUN 2 - FREE - Asset Store

Note: Contains breaking changes to existing PUN Classic (v1) projects. Please read our PUN 2 migration notes . In doubt: keep PUN Classic. Photon Unity Networking 2: NEW demos, cleaner API & structure, clear separation of PUN and Realtime API Export to all

assetstore.unity.com

https://assetstore.unity.com/packages/tools/network/photon-pun-2-120838

 

Photon PUN 2+ - Asset Store

Note: Contains breaking changes to existing PUN Classic (v1) projects. Please read our PUN 2 migration notes . In doubt: keep PUN Classic. Photon Unity Networking 2 - PLUS Version - includes 100 concurrent user Photon Cloud plan for 60 months NEW demos, cl

assetstore.unity.com

 

VS

PUN classic :

https://assetstore.unity.com/packages/tools/network/photon-unity-networking-classic-free-1786

 

Photon Unity Networking Classic - FREE - Asset Store

+++ New to Photon? please get the new PUN 2 package . +++ Already using PUN and not sure if you should switch to PUN 2 ? No worries, we will continue supporting PUN v1 as PUN Classic. If you are short before launch or already invested a lot of time in deve

assetstore.unity.com

https://assetstore.unity.com/packages/tools/network/photon-pun-classic-12080

 

Photon PUN+ Classic - Asset Store

+++ New to Photon? please get the new PUN 2+ package . +++ Already using PUN and not sure if you should switch to PUN 2+ ? No worries, we will continue supporting PUN v1 as PUN Classic and you can upgrade to PUN 2 for free at any time . If you are short be

assetstore.unity.com

 

 

 

 

- PhotonServerSettings

PUN 2 :

App Version필드 생성, Fixed Region은 직접 기입 등등

 

vs

PUN classic :

Hosting 선택, Auto-Join Lobby 선택 등등

 

 

 

-Connect to Master(Photon)

PUN 2 : PhotonNetwork.ConnectUsingSettings ()

vs

PUN classic : PhotonNetwork.ConnectUsingSettings ("[버전]")

 

 

 

-AutoJoinLobby

PUN 2 : 없음

vs

PUN classic : 존재

 

 

 

-콜백함수 사용하기 위해 부모 클래스 상속

PUN 2 : MonoBehaviourPunCallbacks

vs

PUN classic : PUN.MonoBehaviour or MonoBehaviour

 

콜백함수 예시

OnJoinedRoom()

OnJoinRandomFailed()

 

 

 

<PUN 2 업데이트>

- 새로운 데모, 샘플, 파일(디렉토리)

: Unity 2017.2018이후 버전 GUI 사용

- 직관적이고 명확해진 API, 프로그램 구조

: 'Photon' 루트 디렉토리에 정리된 소스

클래스, 콜백, 메소드 등이 리뉴얼

- 구별된 네임스페이스

: PUN, Realtime 레이어에 따라 구별된 API 코드

즉, Photon.PUN, Photon.Realtime

 

 

 

<PUN 2 구조>

- 최상위 레이어

: 네트워크 개체, RPC, 유니티 관련 부분

- 두번째 레이어

: Photon Server, 게이머 페어링 옵션, 통신 API(콜백)

- 세번째 레이어

: DLL(유니티 플러그인), 직렬화, 네트워크 프로토콜.패킷 

 

 

 


 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

 

 

★Photon Korea 유투브

https://bitly.kr/photonyoutube

 

'Photon > PUN' 카테고리의 다른 글

[PUN]유니티짱을 이용한 PUN2 시작하기  (0) 2019.07.21
[PUN] 매치메이킹  (0) 2019.04.24
[PUN]로비.룸 알아보기  (0) 2018.12.19
[PUN]RPC 알아보기  (0) 2018.12.10
[PUN]VR 프로젝트 구현하기  (0) 2018.07.22

 

안녕하세요

MatchMaking을 알아보겠습니다!

 

매치메이킹이 적용되는 곳은

게임이외에도

소개팅, 택시 등에서 찾아볼 수 있습니다.

 

 

포톤에서 매치메이킹이 되려면,

3가지를 일치시켜야합니다.

1. app version

2. app id

3. region

 

 

 

로비는 자동으로 조인하게 하고,

룸은 아무런 조건을 넣지않고 생성하고

유저는 랜덤으로 룸에 들어가도록 하겠습니다.

 

 

로비 자동으로 들어가게 하는 것은 설정에서 쉽게 할 수 있습니다.

PhotonServerSettings의 Client Settings 아래 Auto-Join Lobby 를 체크하면 됩니다.

 

조건없는 룸 생성방법은

CreateRoom 함수의 인자에 아무것도 안넣으면 됩니다.

 

룸이 생성되었으니

JoinRandomRoom 함수를 이용해

생성된 룸 중에서 랜덤으로 조인하겠습니다.

 

 

참고로

오브젝트 동기화 부분은 

아래 링크에서 확인할 수 있는 포스팅을 참고하시면 됩니다.

 

https://photonkr.tistory.com/6?category=1030095

 

유니티짱을 이용한 PUN 시작하기

<pun(photon unity="" networking)="" 도입=""> 크게 4단계만 따라 오시면, 멀티플레이를 실행할 수 있습니다. 1. 유니티짱 오브젝트 설정 2. PUN 설정 3. 연결 코딩 4. 메인 카메라 설정 먼저, 멀티플레이 게임을 만들 준..</pun(photon>

photonkr.tistory.com

 

 

 

이번에는

지정한 로비로 들어가게 해보겠습니다.

 

조금 전 PhotonServerSettings의 Client Settings 아래 Auto-Join Lobby 에 한 체크를 해제합니다.

그리고 나서

OnConnectedToMaster함수를 이용해 마스터 클라이언트에 접속하도록 합니다.

마스터 클라이언트에 접속하면 JoinLobby 함수를 이용해 로비에 들어가게 합니다.

 

로비에 들어왔으니

룸 생성과 룸 입장은 조금 전과 같이 하면 됩니다.

 

 

주의!)

로비를 너무 많이 생성하면 

매치메이킹이 잘 안될 수도 있습니다!

 

 

 

 

이번에는

룸 생성시 비밀번호를 넣어보겠습니다.

 

로비 입장 방식은 앞에서 알아본 2가지 방식(자동, 수동-마스터 클라이언트-) 중 하나를 고르시면 됩니다.

룸 이름 지정할적에 비밀번호를 같이 부여하면 됩니다.

형식은 [이름]_[비밀번호] 입니다.

 

예제 1

예제 2

 

 

★Photon 공식 홈페이지
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

 

 

★Photon Korea 유투브

http://bit.ly/youtube-photonkr

 

 

'Photon > PUN' 카테고리의 다른 글

[PUN]유니티짱을 이용한 PUN2 시작하기  (0) 2019.07.21
[PUN]PUN classic VS PUN 2  (0) 2019.05.30
[PUN]로비.룸 알아보기  (0) 2018.12.19
[PUN]RPC 알아보기  (0) 2018.12.10
[PUN]VR 프로젝트 구현하기  (0) 2018.07.22

 

🎊🎊Photon Korea의 유튜브 채널이 드디어 오픈되었습니다👏
Photon엔진의 튜토리얼 동영상 컨텐츠를 지금 바로 확인하세요!
▶️http://bit.ly/youtube-photonkr

 

🌟오픈 기념 이벤트🌟
4/22(월)~5/6(월) 2주간 채널 구독 등록을 해 주신 분들 중 추첨을 통해 20분께 포톤 에반젤리스트가 커피 쿠폰을 쏩니다!☕️
(당첨자 발표는 5/6(월) 이후 유튜브 채널 및 페북에서 공지 예정)

많이 많이 구독해 주세요, 감사합니다🙂

 

 

 

https://www.youtube.com/channel/UCjizsu7u2ak9dUAKELnLOlA/featured?disable_polymer=1

 

Photon Korea

 

www.youtube.com

 

 

 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

'소식' 카테고리의 다른 글

2019년 5월 Photon 세미나  (0) 2019.05.24
Unite2019에서 만나요!  (0) 2019.05.15
2019년 4월 Photon 세미나  (0) 2019.04.12
Photon 코리아 - Unity 코리아 콜라보 세미나  (2) 2019.02.28
2019년 2월 Photon 세미나  (2) 2019.02.08

완연한 봄이네요!

벚꽃은 흐드러지고

꽃은 물론이고 사람들도 기지개를 켜는 4월이네요.

 

 

 

놀러가기 좋은 계절

졸음이 쏟아지는 4월이지만...

 

포톤 코리아는 어김없이 세미나를 준비했습니다!!!!

 

장소는 홍대

일시는 4월 20일 토요일

주제는 매치메이킹 API

자세한 내용은 온오프믹스를 참고하세요~~

 

https://www.onoffmix.com/event/171611

 

 

 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

 

 

★Photon Korea 페이스북

https://www.facebook.com/photoncloudkr

 

 

 

 

 

 

 

3월 13일 

유니티 코리아(Unity Korea) 오지현 에반젤리스트님을 모시고 세미나를 개최합니다!

2D의 유니티 신기능을 소개합니다~~

 

물론, 포톤 코리아에서도 

작은 세션을 준비했습니다.

 

 

자세한 내용은 온오프믹스에서 확인하세요!

 

https://onoffmix.com/event/169074

 

 

 

소정의 굿즈도 준비할 예정이니

꼬옥 시간내시어 오세요~~

 

 

 

Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko

 

 

★Photon Korea 공식 블로그
https://photonkr.tistory.com

새해 복 많이 받으세요!





2019년에도 

포톤(Photon Engine)을 이용하시는 분들을 위해

작은 세미나를 준비하였습니다.



첫 시작은 

1월 26일 홍대에서 하려고 합니다.

주제는 포톤챗(Photon Chat)입니다.




자세한 내용은 아래링크에서 확인할 수 있습니다.



https://onoffmix.com/event/163381






세미나때 뵈어요!





Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon

★Photon Help Center
https://support.photonengine.jp/hc/ko

* 로비

- 로비에서 제공하는 정보

- 로비 자동 입장


* 룸

- 룸 생성

- RoomOptions

- 커스텀(룸)프라퍼티






로비에서 알 수 있는 내용

로비 이름,

룸 목록, 룸 수 

플레이어 수 등등

이 있습니다.






로비 자동입장 하는 방법





* PhotonServerSettings 파일 위치

PUN \ Resources \ PhotonServerSettings





참고로,

플레이어를 로비로 거치지 않고 바로 룸으로 들어가게 할 수도 있습니다.




룸 생성에 대해 알아보겠습니다.


먼저, API 부터 보겠습니다.


static bool PhotonNetwork.CreateRoom(string roomName)


static bool PhotonNetwork.CreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedlobby)


static bool PhotonNetwork.CreateRoom(string roomName, RoomOptions roomOptions, TypedLobby typedlobby, string[] expectedUsers)



- roomName 이 null 인 경우 무작위 생성됩니다.

- RoomOptions 란 maxPlayers, room 프라퍼티 등의 정보를 넣을 수 있는 클래스 입니다.

- expectedUsers 는 슬롯이 부여된 유저를 말합니다.





* PUN API

http://doc-api.photonengine.com/ko-kr/pun/current/index.html









많이 쓰이는 RoomOptions 클래스를 더 알아보겠습니다.

먼저, 이 클래스의 프라퍼티로는

MaxPlayers, IsVisible, CustomRoomProperties 등등이 있습니다.


이 프라퍼티들을 용도에 맞게 사용하시면 됩니다.




이제 사용방법에 대해 알아보겠습니다.

초기화>


ros 라는 변수명으로 초기화했습니다.



구현>




이 방 최대 플레이어 수는 10

로비에서 검색이 가능하게 세팅하였습니다.

그외 여러 프라퍼티가 있으므로 필요한 프라퍼티 값을 세팅하면 됩니다.







CustomProperties 를 알아보겠습니다.

룸에 커스텀 프라퍼티를 줄 수 있습니다. 물론 플레이어에도 줄 수 있습니다.

커스텀 프라퍼티는 HashTable 자료형입니다.






룸에 있는지 확인합니다.

그리고 나서

미리 생성해놓은 룸 커스텀프라퍼티를 받아옵니다.

받아온 룸 커스텀프라퍼티를 입맞에 맞게 가공하시면 됩니다.








* HashTable

키의 해시코드에 따라 구성된 키/값의 쌍의 컬렉션







그리고 룸에 들어오면 플레이어는 actorID를 가지게 됩니다.












Photon 공식 홈페이지 
https://www.photonengine.com/ko-kr/Photon


★Photon Help Center
https://support.photonengine.jp/hc/ko


'Photon > PUN' 카테고리의 다른 글

[PUN]PUN classic VS PUN 2  (0) 2019.05.30
[PUN] 매치메이킹  (0) 2019.04.24
[PUN]RPC 알아보기  (0) 2018.12.10
[PUN]VR 프로젝트 구현하기  (0) 2018.07.22
[PUN]유니티짱을 이용한 PUN classic 시작하기  (1) 2018.05.30

+ Recent posts