분류 전체보기
-
Photon - 동기화에 대한 이해 (1)Unity 2023. 11. 6. 23:14
** 로비 화면 / 룸 화면을 구성하면서 겪었던 사례를 통해 느낀 점을 서술하였습니다. I. 동기화의 범위 동기화 : 게임의 여러 플레이어 간 또는 클라이언트와 서버 간의 상태 및 데이터를 일관되게 유지하는 것 => 이 일관되게 유지하는 것의 범위를 잘 이해하고, 효율적인 수단을 사용함으로써 더 좋은 동기화를 유지할 수 있다. AutomaticallySyncScene : 해당 옵션이 true인 경우, 룸에 참가한 클라이언트들은 모두 마스터 클라이언트(호스트)와 같은 레벨(씬)을 load하게 된다. PhotonNetwork.AutomaticallySyncScene = true; MonoBehaviourPun : 포톤 클라우드 서비스와 연결된 Unity 애플리케이션에서 네트워크 관련 기능을 활용할 수 있도록..
-
Photon - Demo 탐색 (2)Unity 2023. 10. 29. 23:14
I. 인터페이스 1. IPunObservable OnPhotonSerializeView()를 통해서 특정한 상황에서의 동기화 로직이나 상태 업데이트 방법을 사용자 정의할 수 있음. // 자동으로 동기화를 하지 않고, 원하는 방법으로 동기화를 원할 경우 IPunObservable 인터페이스 사용 // 자동으로 PhotonView 컴포넌트를 추가함. public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting) // 호스트인 경우 정보를 줌 { stream.SendNext(rigidbody.position); // 순서를 지켜서 주고 stream.SendNext(rigidbody.velo..
-
photon - 채팅 기능 구현 기획Unity 2023. 10. 26. 22:33
I. Photon API 에 대한 이해 https://doc-api.photonengine.com/ko-kr/pun/current/group__public_api.html#details Photon Unity Networking: Public API 초기에 이해할 필요가 있는 가장 중요한 클래스들의 그룹 More... interface IPunObservable 관찰 할 수 있는 스크립트들의 정확한 구현을 쉽게 하기 위하여 OnPhotonSerializeView 메소드를 정의 합니다. More doc-api.photonengine.com II. 채팅 관련 필요 기능 정리 (채워질 때마다, 관련 블로그 글 링크할 예정) 0. 포톤 네트워크 연결에 대한 이해 1. Grid Layout과 Scroll view..
-
Photon - Demo 탐색Unity 2023. 10. 25. 23:58
I. 유니티 내 구성 1. TopPanel A. LobbyTopPanel.cs namespace Photon.Pun.Demo.Asteroids { public class LobbyTopPanel : MonoBehaviour { private readonly string connectionStatusMessage = " Connection Status: "; [Header("UI References")] public Text ConnectionStatusText; #region UNITY public void Update() { ConnectionStatusText.text = connectionStatusMessage + PhotonNetwork.NetworkClientState; } #endregion..
-
네트워크 게임의 이해Unity 2023. 10. 24. 23:54
I. 네트워크 게임 1. 컴퓨터와 플레이어 멀티 플레이에서의 플레이어 로컬 플레이어 : 본인의 기기에서 플레이하는 플레이어 : ex. a 컴퓨터에서 플레이하는 사람의 캐릭터 플레이어 A 리모트 플레이어 : 상대의 기기에서 비추는 플레이어 : ex. b 컴퓨터에서 비추는 a 컴퓨터에서 플레이하는 사람의 캐릭터 플레이어 A 멀티 플레이는 여러명이 하나의 게임을 하는 것이 아니라, 하나의 게임을 하는 것 처럼 보이는 것. -> 4인 멀티 플레이어 A, B, C, D가 있다고 하면 -> 4인의 플레이어는 각자의 컴퓨터 a, b, c, d가 있음 -> 4대의 컴퓨터가 통신을 하면서, 4개의 게임 세상이 존재함. ( ex. A에는 a의 게임 세상이 존재 / B에는 b의 게임 세상이 존재 ....) -> 하나의 게임..
-
readme 작성Unity 2023. 10. 19. 23:30
I. 마크다운 문서 - 줄 넘기기 : 을 사용하면 됨. #### GymGame * 자동차를 타고 운전하여 gym에 도착하는 DriveScene과 gym 에서 운동하는 미니게임을 포함한 gymScene 이상의 2가지 씬으로 구성되어있다. > : 혹은 한 줄만 띄우고자 할 경우, 을 사용하지 않고 enter을 2번 입력하면 적용 됨. II. 마크다운 문서 - 글자 크기 설정 1. # : # 을 왼쪽에 입력하면 됨. : # 이 적을수록 더 큰 글자가 표시됨. # 글자 크기 0 ## 글자 크기 1 ### 글자 크기 2 #### 글자 크기 3 ##### 글자 크기 4 ###### 글자 크기 5 ####### 글자 크기 6 > : # 1개 ~ 6개 사이만 적용됨을 확인. : # 으로 적은 글자 옆에 링크 아이콘도 ..
-
코루틴 (in Unity)Unity 2023. 10. 6. 02:24
I. 용어의 이해 프로세스 (process) : 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것. : 자원 (데이터 / 메모리 / ... etc) 과 스레드로 구성됨. 스레드 (thread) : 프로세스 내에서 실제로 독립적인 작업을 수행하는 주체 : 주체가 많은 경우 (멀티 스레드 - multi thread) 한번에 여러 일을 처리 (각 스레드가 각자 다른 작업을 수행) 할 수 있다. : 여러 작업을 병렬(parallelism)로 처리하는 것은 스레드와 직접적인 관계 없다. 병렬성 (parallelism) : 여러 작업을 동시에 실행하는 방법 : 병렬 처리는 오래 걸리는 작업을 기준으로 실행 시간이 결정된다. : 아래의 그림에서 파랑차와 초록차 중 더 느린 차의 작업이 끝나야 병렬 처리..
-
20231005C#/C# 알고리즘 2023. 10. 5. 17:30
I. 숫자 짝궁 두 정수 X, Y의 임의의 자리에서 공통으로 나타나는 정수 k(0 ≤ k ≤ 9)들을 이용하여 만들 수 있는 가장 큰 정수를 두 수의 짝꿍이라 합니다(단, 공통으로 나타나는 정수 중 서로 짝지을 수 있는 숫자만 사용합니다). X, Y의 짝꿍이 존재하지 않으면, 짝꿍은 -1입니다. X, Y의 짝꿍이 0으로만 구성되어 있다면, 짝꿍은 0입니다. 예를 들어, X = 3403이고 Y = 13203이라면, X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 3, 0, 3으로 만들 수 있는 가장 큰 정수인 330입니다. 다른 예시로 X = 5525이고 Y = 1255이면 X와 Y의 짝꿍은 X와 Y에서 공통으로 나타나는 2, 5, 5로 만들 수 있는 가장 큰 정수인 552입니다(X에는 5가 3개, Y에는..