포톤은 여러 서비스를 제공합니다.
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 |