포톤 코리아 블로그에서

'유니티짱을 이용한 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

완연한 봄이네요!

벚꽃은 흐드러지고

꽃은 물론이고 사람들도 기지개를 켜는 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

포톤은 여러 서비스를 제공합니다.

Realtime, PUN 등등


그 중 PUN은 원격프로시저호출(Remote Procedure Call)을 지원합니다.




* 프로시저(Procedure)란?

- 루틴이나 서브루틴 및 함수와 같은 뜻

- 어떤 행동을 수행하기 위한 일련의 작업순서




*원격프로시저 호출(Remote Procedure Call)이란?

원격제어를 통해 함수나 프로시저의 실행을 허용하는 기술

사용예시: 윈도우 인증, SMS 서버 등등



이를 게임에 적용해보면

같은 룸에 있는 다른 유저(클라이언트)의 함수를 실행하는 것입니다.




API 중 PhotonView 클래스

(http://doc-api.photonengine.com/en/PUN/current/class_photon_view.html)

를 보면


void PhotonView.RPC (string methodName, PhotonTargets targets, params object[] parameters)


와 같이 나와있습니다.



유니티에 적용하려면

PunRPC 속성을 적용해야합니다.




이제 실제로 적용해보기 위해

유니티짱 프로젝트를 이용해보겠습니다.




유니티짱 프로젝트는 

아래 링크로 가시면 자세히 보실 수 있습니다.


http://photonkr.tistory.com/6?category=1000132









위 '유니티짱을 이용한 PUN 시작하기' 포스팅을 

차근차근 따라하시면

RPC를 알아보기 위한 base 프로젝트가 완성이 됩니다.




RPC 가 호출될 시점은

유니티짱이 룸에 입장할때 입니다.




유니티짱(플레이어 캐릭터)와 컨트롤러에 RPC 코드를 작성하겠습니다.




유니티짱에는 위와 같이 작성하겠습니다.

PhotonView 를 찾고, RPC 함수를 호출하겠습니다.

모든 대상에 RPC를 호출하고, 

'RPC success'라는 메시지를 보내겠습니다.







그리고

유니티짱에는 위 소스(SendMessage.cs)를 컴포넌트에 넣겠습니다.





컨트롤러에는 

RPC가 호출되면 로그 찍히도록 작성하겠습니다.






그리고

컨트롤러에는 PhotonView 컴포넌트를 추가하겠습니다.





이제 빌드앤런을 해보세요




보낸 메시지가 성공적으로 잘 찍혔습니다.




이상 RPC 에 대해 알아보았습니다





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]로비.룸 알아보기  (0) 2018.12.19
[PUN]VR 프로젝트 구현하기  (0) 2018.07.22
[PUN]유니티짱을 이용한 PUN classic 시작하기  (1) 2018.05.30

2018년 마지막 세미나(워크샵)을 강남에서 개최합니다!!



모임장소





올해

VR-Photon (http://photonkr.tistory.com/12), 


DB-Photon (http://photonkr.tistory.com/10),

 


Photon 시작하기 (http://photonkr.tistory.com/6)


등등을 

알아보았습니다.




이번에 2018년 마지막으로

알아볼 주제는

'RPC와 룸.로비' 입니다.





2018년 12월 8일 낮 3시 30분부터 시작합니다.




참가신청은 온오프믹스에서 받고 있습니다~


https://onoffmix.com/event/158954








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

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







+ Recent posts