Unity 내일배움캠프 TIL 1006 | 게임 빌드 | 포톤 | 기초 네트워크 지식

cheeseonrose·2023년 10월 6일
0

Unity 내일배움캠프

목록 보기
51/89
post-thumbnail

게임 빌드 프로세스 이해

Windows용 빌드

  • 빌드 과정
    1. File -> Build Settings 이동
    2. Platform 목록에서 Windows 선택
      다른 플랫폼이었다면 Switch Platform
    3. 원하는 씬을 Scenes in Build 목록에 추가
    4. Player Settings에서 게임 설정 변경
      회사 이름, 게임 아이콘 등
    5. Build

Windows Player Seetings

  • General
    • Company Name : 회사 이름
    • Product Name : 게임 이름
    • Version : 게임 버전
    • Default Icon : 게임 아이콘
      _ Resolution and Presentation
    • Default Screen Width, Default Screen Height : 게임이 처음 실행될 때의 기본 화면 너비와 높이
    • Fullscreen Mode : 게임이 전체 화면으로 실행될지, 창모드로 실행될지
    • Visible in Background : 창이 백그라운드에 있을 때 게임이 보일 것인지
  • Icon
    • 게임 아이콘 설정

Windows 빌드 시 주의 사항

  • 화면 크기 설정
    1. [레지스트리편집기] 검색
    2. HKCU\Software[회사명][제품명]
    3. 설정된 해상도 값 수정 또는 삭제

Android용 빌드

  • 빌드 과정
    1. File -> Build Settings 이동
    2. Plaform 목록에서 Android 선택
      다른 플랫폼이었다면 Switch Platform
    3. 원하는 씬을 Scenes in Build 목록에 추가
    4. Player Settings에서 게임 설정 변경
      회사 이름, 게임 아이콘, 번들 식별자 등
    5. Minimum API Level과 Target API Level 설정
    6. Build

Android용 Player Settings

  • Resolution and Presentation
    • Default Orientation : 게임이 시작될 때의 화면 방향
    • Auto Rotation : 화면이 자동으로 회전하는지
  • Other Setting
    • _Minimum API Level : 앱이 지원하는 최소 안드로이드 버전
    • Target API Level 앱이 대상으로 하는 안드로이드 버전
      최신버전 사용이 좋음



포톤(Photon)이란?

포톤이란?

  • Exit Games에서 개발한 멀티 플레이어 게임 개발을 위한 네트워크 엔진
  • 주요 특징
    1. Cross Platform : 다양한 플랫폼 간 통신 지원
      PC, 모바일, 콘솔 게임에서 멀티 플레이어 지원
    2. Real time, Multiplayer : 실시간 멀티 플레이어 게임 개발에 초점
    3. Scalability : 클라우드 기반 서버를 사용하여, 게임 플레이어 수에 따라 자동으로 확장되는 서비스 제공
    4. Reliability : 데이터 전송에 대한 높은 신뢰성 제공

주요 메서드 및 기능

  • PhotonNetwork : 포톤 네트워크의 주요 기능에 액세스하는 중심적인 클래스

    PhotonNetwork.ConnectUsingSettings();
    
     PhotonNetwork.CreateRoom("RoomName");
     PhotonNetwork.JoinRoom("RoomName");
    
     PhotonNetwork.Instantiate("PrefabName", position, rotation);
    • ConnectUsingSettngs : 앱이 포톤 클라우드에 연결됨
      • PhotonNetwork.IsConnected로 연결 상태 확인 가능
    • CreateRoom, JoinRoom : 새로운 방을 만들거나 이미 존재하는 방에 참가
    • Instantiate : 포톤 네트워크를 통해 새로운 게임 오브젝트 생성
      Unity의 Instantiate와 비슷하지만 네트워크 통해 동기화
  • MonoBehaviourPunCallbakcs

    public override void OnConnectedToMast() { ... }
    
     public override void OnJoinedRoom() { ... }
    
     public override void OnPlayerEnteredRoom(Player newPlayer) { ... }
    • OnConnectedToMaster : 게임이 포톤 마스터 서버에 성공적으로 연결되면 호출
    • OnJoinedRoom : 로컬 플레이어가 방에 입장하면 호출
    • OnPlayerEnteredRoom : 다른 플레이어가 방에 입장하면 호출

주요 컴포넌트 및 기능

  • PhotonView
    • 네트워크 상태를 동기화하는 데 사용
    • PhotonNetwork.Instantiate를 통해 사용된 객체가 네트워크를 통해 동기화 됨
    • 주로 Transform 컴포넌트나 사용자 정의 스크립트와 같이 동기화하고자 하는 컴포넌트를 참조
  • PhotonTransformView
    • 위치, 회전 및 크기를 동기화하는 데 사용
    • 게임 오브젝트의 움직임이 네트워크를 통해 동기화
  • PhotonAnimatorView
    • Animator 컴포넌트를 동기화하는 데 사용
    • 애니메이션 상태와 변수를 동기화
  • PhotonRigidbodyView
    • Rigidbody 또는 Rigidbody2D 컴포넌트를 동기화하는 데 사용
    • 움직임과 회전을 동기화하여 물리적 효과를 네트워크를 통해 동기화



기초 네트워크 지식

IP 주소와 포트

  • IP Address : 인터넷에 연결된 모든 장치는 IP 주소라는 고유한 식별자를 가짐
  • Port : IP 주소 내에서 특정 애플리케이션 또는 서비스를 지정하는 데 사용

TCP vs UDP

TCPUDP
사용신뢰성이 필요한 데이터 전송속도가 중요한 데이터 전송
절차데이터 전송 확인 절차데이터의 도착을 확인 X
신뢰성UPD보다 높음TPC보다 낮음

패킷

  • 네트워크를 통해 전송되는 데이터의 작은 블록
  • 패킷으로 분할 전송되어 목적지에서 다시 조립

클라이언트-서버 모델

  • Client_Server Model
    • 서버는 네트워크에 연결된 컴퓨터
      -> 클라이언트의 요청을 처리하고 응답
  • 클라이언트는 사용자의 장치로서, 서버에 요청을 보내고 응답을 받음

피어 투 피어(P2P) 모델

  • Peer to Peer Model
    • 모든 참여자(피어)가 동등한 위치에 있으며, 직접 통신 수행 가능
    • 중앙 서버의 역할이 줄어들거나 없어짐



창의력 고갈 인간은 자유 과제가 제일 힘들다 ;ㅁ;

아 어디서 야무진 아이디어 툭 안 떨어지나 ㅇㅅaㅇ

어림도 없음

당연함.

뇌 쥐어짜내러 이만 퇴근...
끗 !

0개의 댓글