0. 개요
유니티로 게임을 개발하다보면 멀티플레이를 구현해야 할 때가 있다.
여러 API가 있지만, 이번에는 Photon을 사용해보려고 한다.
1. 기본 설정
포톤은 다음 사이트에서 만나볼 수 있다.
https://doc.photonengine.com/ko-kr/server/v4/getting-started/photon-server-intro
Photon Server 소개 | Photon Engine
Photon은 굉장히 빠르고 매우 쉽게 사용할 수 있는 온프레미스 실시간 소켓 서버이며 크로스 플랫폼 멀티 플레이어 게임 개발 프레임워크 입니다. Photon Server 멀티플레이어 API를 이용하여 여러 플
doc.photonengine.com
사이트에 들어가서 간단한 회원가입을 한 후, 우측 상단의 대쉬보드에 들어가자.
지금 하나가 생성되어있는 모습이지만, (처음 가입되어있으면 아무것도 없을것이다.) Create A New App 버튼을 클릭하자
멀티 플레이 게임을 누르고, Select Photon SDK는 Pun을 선택하자.
Application Name에는 필요한 이름을 입력하자.
그 후 아래는 필수 요소가 아니기 때문에 굳이 작성하지 않아도 된다.
이후 Create버튼을 누르면 첫번째 사진과 동일한 결과물이 생긴다.
이러한 결과물이 생겼다면, App ID에 적혀있는 da614~~로 시작되는 (모두 랜덤값이니 값이 다르다고 당황하지 말자!) 값을 미리 복사해두자.
이후, 유니티 에셋스토어에서 Photon을 다운로드 한다.
https://assetstore.unity.com/packages/tools/network/pun-2-free-119922
PUN 2 - FREE | 네트워크 | Unity Asset Store
Get the PUN 2 - FREE package from Photon Engine and speed up your game development process. Find this & other 네트워크 options on the Unity Asset Store.
assetstore.unity.com
위의 링크에 들어가, 에셋을 추가해주고, 유니티에서 임포트 시켜주자.
임포트 하고 나서, 창이 하나 뜨는데, 거기에 복사했던 값을 붙여넣고, 확인을 누른 뒤, 닫기를 눌러주자.(중요하다!!)
이렇게 한다면 유니티 프로젝트 내에 Photon/PhotonUnityNetworking/Resoruces 에 위치한 PhotonServerSetting에 AppID가 등록되었을것이다!
이렇게하면 기본 준비는 끝난다.
2. 네트워크 스크립트 만들기
NetworkManager 오브젝트를 만든 후, 동일한 이름의 스크립트를 만들어 컴포넌트에 추가해주자.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
using Photon.Realtime;
public class NetworkManager : MonoBehaviourPunCallbacks
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
스크립트를 보면 별건 없지만, 다음의 사항을 확인하자.
using Photon.Pun 과, using Photon.Realtime를 추가해서 api를 사용할것이다. 또한 MonoBehaviourPunCallbacks를 상속하여야 한다.
이렇게 한 후, 포톤에서 제공하는 함수를 사용하면 된다.
'Develop > Unity' 카테고리의 다른 글
[Unity] 리스트의 정렬 검색 - 하이 우동 호텔! (2) | 2024.03.20 |
---|---|
[Unity] 멀티 플레이를 위해 포톤을 연동하자!(Photon) - 1. 서버 연결 (1) | 2023.12.11 |
[Unity] 로그라이크 맵 생성하기 (배열) (0) | 2023.11.29 |
[Unity] 오브젝트 풀링 (1) | 2023.11.22 |
[Unity] 유니티 멀티플레이를 위한 통신 구현 (Unity Mirror) (3) | 2023.11.21 |