연휴 잘 보내셨어요?

새해 복 많이 받으세요~~




2019년 두번째

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

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




2월 23일 홍대에서 하려고 합니다.

주제는 포톤 볼트(Photon Bolt)입니다.



https://onoffmix.com/event/166472





세미나때 뵈어요!







Photon 공식 홈페이지 

https://www.photonengine.com/ko-kr/Photon


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



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





안녕하세요

포톤 코리아(Photon Engine)입니다.




유니티(Unity 3D)에서 채팅을 만들적에

꼭 필요한 스크롤 창을 만들어 보겠습니다.



먼저, Canvas를 추가하세요

Create > UI > Canvas


정리가 필요한 경우,

빈 오브젝트를 추가하여 

폴더처럼 관리해주시면 되고요.

Create > Create Empty



이제 채팅이 보여질 스크롤 뷰를 추가합니다.



오늘은 스크롤 바 중에서 세로만 이용할 거라서

스크롤 바 호리젠탈(Scrollbar Horizontal)은 삭제를 하겠습니다.





뷰포트 \ 컨텐트 에 텍스트를 하나 만들어 주세요.





이 텍스트(Text)에 

컨텐트 사이즈 피터(Content Size Fitter) 컴포넌트를 추가하고


스크롤 뷰에서도 세로만 이용했듯이

사이즈 피터에서도 세로만 설정하면 됩니다.

버티컬 핏(Vertical Fit)을 Preferred Size 로 설정해주세요.







이제 다 하셨습니다.


빌드해보시면

채팅 대화가 위로 올라가면서

스크롤 뷰에서 잘 구현되는 것을 보실 수 있을 겁니다.






포톤 챗 이용하시어

대박 어플리케이션 만드세요!

수고하셨습니다~









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

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


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


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

[Photon Chat] 채팅 조금 더 알아보기  (0) 2019.02.02
[Photon Chat]포톤 챗 시작하기(Unity3D)  (2) 2018.06.02
[Photon Chat]챗 이모저모  (0) 2018.06.01

채팅필터

채널




안녕하세요!

이 전 포스팅에서는

유니티에 Photon Chat을 임포트하고 간략하게 동작하기까지 해보았습니다.



아직 Unity에 Photon Chat을 임포트 못 해보신 분은

위 포스팅 한번 보고 오세요~



이번 포스팅에서는

채널, 채팅필터 설정 등을 알아보려고 합니다.




접속

함수: Connect()



유저이름 설정

클래스: AuthenticationValues




채널

사용자 그룹 또는 주제별로 채널을 만들 수 있습니다.



채널 구독하기 

함수: Subscribe()

        파라미터에 구독할 채널을 문자열로 넘기면 됩니다.

구독할 채널 수의 상한은 없습니다.



다만, 500 message / sec 제한이 있으니

이 부분 주의해서 개발하시면 됩니다~



메시지

Public 메시지 보내기

함수: PublishMessage()


Private 메시지 보내기

함수: SendPrivateMessage()

        파리미터에 보내고 싶은 유저이름과 내용(메시지)을 각각 넣으면 됩니다.




* 메시지 카운트

RPC 호출이나 메시지 전송 횟수 등으로 카운트합니다.

간략하게 예를 들어 보겠습니다.

4명이 룸에 있는 경우,

A 유저가 룸 퍼블릭 메시지를 보내면(1 send), 

나머지 3명이 그 메시지를 받습니다(3 receive).

그래서 4 메시지로 카운트 됩니다.



더 자세한 내용은 아래 링크에서

'초당 메시지 룸당 메시지는 어떻게 계산되나요' 부분을 참고하세요.

https://doc.photonengine.com/ko-kr/pun/current/troubleshooting/faq




그리고 위 내용 클래스 파일 첨부합니다~

ChatTest.cs





포톤챗은 채팅필터 기능도 있습니다.

이 필터를 이용하는 방법에 대해 알아보겠습니다.


1. 라이센스 동의





2. 필터 설정



3. 채팅 필터 설정 후




챗 유저상태(ChatUserStatus)

int 로 그 상태를 구분하고 있습니다.

0 : offline

1 : invisible 

2 : online

3 : away 방해할 수 없는 상태

4 : DND 게임이나 그룹을 찾고 있는 상태

5 : LFG 방에서만 사용가능하고 게임 중인 상태

6 : Playing 






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


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



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



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

[Photon Chat] 채팅 창 만들기(Unity3D)  (3) 2019.02.07
[Photon Chat]포톤 챗 시작하기(Unity3D)  (2) 2018.06.02
[Photon Chat]챗 이모저모  (0) 2018.06.01

새해 복 많이 받으세요!





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

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

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








11월 24일 (토) 낮 12시 ~ 7시

벡스코 2층

에서 GDG DevFest를 개최합니다!



두개의 트랙으로 나눠져있고요



낮 4시부터

"간단한 VR(구글카드보드) 멀티 플레이어 게임 만들기"라는 주제로 발표해요!




구글 카드보드는 물론

포톤(Photon) 엔진이 궁금하시면 

오셔서 좋은 시간 되시길 바랍니다~~





구체적인 내용은 아래 링크(festa.io)에서 확인하실 수 있어요!


 https://festa.io/events/119









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

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

게임인의 축제

G-STAR







올해도 어김없이 벡스코에서 개최합니다.

그리고 Photon Engine도 참석합니다~




이번 지스타 BTB에서 만나요!! 




그리고 지스타 기간에 맞춰

부산에서 세미나도 개최합니다!


PUN 기초편 in 부산】

-시작하세요! 초보자들을 위한 실시간 멀티플레이 게임 만들기-


참석 신청 > 온오프믹스 : photon 

https://onoffmix.com/event/154877





지스타도 보시고

세미나도 참석하시어

알찬 시간 되시길 바랍니다~




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

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



2018년 8월부터 PUN '2' 버전도 출시되었습니다!



그런데 유니티 어셋 스토어에 '1'버전과 '2'버전 둘 다 존재하고 있죠!??

기능적으로는 PUN2와 기존 PUN도 다른점은 없습니다. 

주된 변경점은 API 구조의 개선을 통해 안정성이 향상된 점이라고 보시면 됩니다. 

기존 PUN '1'도 계속해서 지원할 예정이므로, 특별히 문제가 없으시면 PUN2로 교체하지 않으셔도 됩니다.




PUN 1 과 마찬가지로

Free 버전과 Plus 버전이 있어요



* FREE


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






* PLUS


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






PUN2 API

https://doc-api.photonengine.com/en/pun/v2/index.html




PUN2 기술문서

https://doc.photonengine.com/ko-kr/pun/v2/getting-started/pun-intro




PUN2 migration note

https://doc.photonengine.com/ko-kr/pun/v2/getting-started/migration-notes









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

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

+ Recent posts