포톤 코리아 블로그에서

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

<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

* 로비

- 로비에서 제공하는 정보

- 로비 자동 입장


* 룸

- 룸 생성

- 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

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

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

VR(가상현실)이란

컴퓨터 등을 사용한 인공기술로 만들어낸 실제와 유사하지만 실제가 아닌 어떤 특정한 환경이나 상황 혹은 그 기술자체를 의미합니다.



사실상 최초의 현실적인 게이머용 VR 헤드셋 영상을 한번 보세요!


https://www.youtube.com/watch?v=l9o8MJKsU_0





구글 카드 보드란

2014년 구글 I/O 컨퍼런스에서 발표된 DIY 도면 및 해당 도면으로 만들어진 HMD(Head Mounted Display)를 지칭합니다.


* HMD : 주로 가상현실 또는 증강현실의 구현을 위한 디스플레이 장치



* 공식 홈페이지

https://vr.google.com/cardboard/index.html





이제 서론은 접고, 개발을 시작해보겠습니다.



요약

1. SDK 준비 (구글 카드보드, PUN)

2. 



유니티 (포스팅시 적용 버전 2018.1.8f1)

VR 개발툴 선두주자라고 할 수 있는 유니티는 다 설치해놓으셨죠?



그 다음,

구글 카드보드 SDK for Unity 를 다운 받겠습니다.


유니티 어셋스토어에서 받는게 아니라

깃허브에서 다운받으면 됩니다.


https://github.com/googlevr/gvr-unity-sdk/releases

(포스팅시 적용 버전 1.150.0)





* 참고

(혹시나 예전버전 SDK가 필요하시면)

https://github.com/googlevr/gvr-unity-sdk/releases/tag/v1.110.0








유니티 공식 샘플 소스로 VR 테스트를 해보겠습니다.

Roll A Ball 프로젝트입니다.




튜토리얼 사이트


https://unity3d.com/kr/learn/tutorials/s/roll-ball-tutorial


 



VR이 아닌 앱으로 실행을 하면



이제 VR 프로젝트로 변환시켜보겠습니다!!


구글 카드보드 SDK의 카메라 말고

Dive Camera를 한번 사용해보겠습니다.


https://www.durovis.com/en/sdk.html





홈페이지에서 유니티 플러그인 패키지를 다운받으세요.

그리고 프로젝트에 임포트를 하세요.





Asset \ _Completed-Game \ Roll-a-ball 씬을 엽니다.

그리고 
임포트한 Dive Camera 를 하이라키에 넣겠습니다.

Asset \ Dive \ Prefabs \ Dive_Camera 프리팹을 하이라키에 드래그앤 드랍하세요.

기존에 하이라키에 있던 MainCamera는 비활성화시켜주세요.

그러면 이런 하이라키를 구성할 겁니다.




이제 VR 프로젝트가 완성되었습니다.
빌드앤 런을 해보세요






VR로 잘 실행되었다면
이제 멀티플레이어가 되도록 만들어보겠습니다.


멀티플레이어 게임을 만들기 위해서

포톤 어셋부터 임포트 하겠습니다.



PUN을 유니티에 적용하는 부분은

포톤코리아 블로그에서 포스팅한 글('포톤엔진을 유니티에 적용')을 참고해주세요~



http://photonkr.tistory.com/13?category=1000133







위 포스팅을 잘 따라하시면

유니티에 PUN 임포트&설정은 문제 없을 것입니다.




그 다음

빈 오브젝트를 생성한 후

이름을 'NetworkController'로 변경합니다.

곧 이 오브젝트에 곧 생성할 NetworkController.cs 파일을 컴포넌트로 넣을 것입니다.







이제 플레이어가 될 오브젝트를 프리팹(Prefab)으로 만들겠습니다.


Asset 폴더 아래에 Resources 폴더를 하나 생성합니다.

이 폴더로 Player 게임오브젝트를 드래그앤 드랍하세요.





프리팹을 만들었으니

하이라키에 있는 Player 오브젝트는 삭제하거나 비활성화 시켜주세요.





프로젝트 하이라키는 아래와 같습니다.



(Main Camera와 Player는 비활성화)





이제는 스크립트 파일을 만들겠습니다.


NetworkController.cs






* PhotonNetwork.ConnectUsingSettings()


* PhotonNetwork.Instantiate()

- 네트워크 객체를 자동으로 생성

- 프리팹 이름, 시작위치, 회정정보

- 프리팹은 Resources 폴더 안에 존재, 프리팹은 PhotonView 가 컴포넌트로 존재


NetworkedPlayer.cs




* OnPhotonSerializeView()

- steam 변수를 통해 read, write


**steam.isWriting


**steam.SendNext()

- 데이터 직렬화

- 다른 유저에게 데이터를 보냄

 





아까 말씀해드린대로

NetworkController.cs 파일은 NetworkController 게임오브젝트에 컴포넌트로 추가해주세요.




NetworkedPlayer.cs 파일은 프리팹에 컴포넌트로 넣어주세요.

그리고 포톤 엔진이 제어할 수 있도록

PhotonView 도 컴포넌트로 넣어주세요.


PhotonView를 넣은 후

Observed Components에는 NetworkedPlayer 컴포넌트를 드래그앤 드랍해주세요.


아래 사진은

Player 프리팹 수정한 인스팩터 부분입니다.





빌드 앤 런 해보세요!









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]RPC 알아보기  (0) 2018.12.10
[PUN]유니티짱을 이용한 PUN classic 시작하기  (1) 2018.05.30

<PUN(Photon Unity Networking) 도입>

크게 4단계만 따라 오시면, 멀티플레이를 실행할 수 있습니다.
1. 유니티짱 오브젝트 설정
2. PUN 설정
3. 연결 코딩
4. 메인 카메라 설정


먼저, 멀티플레이 게임을 만들 준비를 합니다.

포톤(Photon)엔진 홈페이지에서 회원가입을 진행합니다.


www.photonengine.com







먼저,

유니티 어셋 스토어에서 PUN을 다운받습니다.








그 다음 
한번 더 유니티 어셋 스토어에서 유니티-짱을 다운받습니다.





우리가 제작할 리소스, 씬, 스크립트를 관리할 폴더 생성 & PUN의 Demos 폴더 삭제
 - 폴더 생성
  Demo\Resources
  Demo\Scenes
  Demo\Scripts

 - Photon Unity Networking\Demos 폴더 삭제





유니티짱 씬 수정
- 유니티짱 Locomotion 씬 오픈 
(UnityChan\Scenes\Locomotion)
- 유니티짱 오브젝트 프리팹화
 전에 만들어 둔 Resources 폴더에 생성
- Locomotion 씬 하이라키에 있는 유니티짱은 삭제






드디어 유니티짱 멀티플레이 게임 만들 준비가 완료되었습니다.
이제 첫 단계인 '유니티짱 오브젝트 설정'을 해봅시다.

 
1.1 유니티 짱 프리팹에 
컴포넌트 추가
- Photon View, Photon Transform View, Photon Animator View

1.2 
Photon View 컴포넌트 수정
Photon View의 Observed Components 에 
Photon Transform View, Photon Animator View 를 연결






1.3 Photon Transform View 컴포넌트 수정
- Synchronize Position, Synchronize Rotation 설정






 - Synchronize Parameters 설정





첫 단계 끝.

두번째 단계로는 'PUN 설정하기' 입니다.
 - 위치: Photon Unity Networking/Resources/PhotonServerSettings.asset
 - APP ID 예: 9e85f5fe-b1d4-4d4d-b4d8-f74727e51847





두번째 단계 끝.



세번째 단계는 '스크립트  수정'입니다.

3.1 게임오브젝트 생성, 스크립트 파일 생성
 - 씬 하이라키에 'PhotonController' 게임 오브젝트 생성
 - Demos\Scripts 폴더에 RandomMatchmaker.cs 생성

3.2 스크립트 작성
 - GameObject 변수 선언




RandomMatchMaker.cs






3.3 변수 연결
 - PhotonObject 변수에 유니티짱 프리팹 연결






3.4 유니티짱 스크립트 수정
 - 위치: UnityChan\Scripts\UnityChanControlscriptWithRgidBody.cs
 - 부모클래스를 Photon.MonoBehaviour로 변경
 - FixedUpdate 함수에 조건문 추가







세번째 단계 끝.





이제 다 왔습니다.
네번째 단계는 체크만 하면 됩니다.

마지막 네번째 단계인 '메인 카메라 수정' 입니다.
  - Third Person Camera 해제




모든 단계가 끝났습니다.
수고하셨습니다.
빌드&런 해보세요!!








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]RPC 알아보기  (0) 2018.12.10
[PUN]VR 프로젝트 구현하기  (0) 2018.07.22

+ Recent posts