Photon View
·
🌍Network
Photon View포톤 뷰는 네트워크에서 이 오브젝트를 동기화하겠다고 표시하는 핵심 컴포넌트이다.Photon Engine 기반 멀티플레이에서 네트워크로 공유되는 GameObject 에 반드시 붙는 컴포넌트이다.이 컴포넌트가 있어야 할수 있는 것RPC 호출 가능Transform / Animation 동기화 가능오브젝트 소유권 ( Ownership ) 관리 가능 Photon View 의 핵심 3가지1. 고유 ID ( ViewID )네트워크 상에서 오브젝트를 구분하는 유일한 번호같은 ViewID = 같은 오브젝트자동 할당2. RPC 통신 창구photonView.RPC("Attack", RpcTarget.All);이 오브젝트를 기준으로 모든 클라이언트에 함수 호출Photon View 가 없으면 RPC 사용 불..
Photon Lobby & Room
·
🌍Network
Photon LobbyRoom 에 들어가기 전의 중단 단계현재 생성된 방 목록을 받아오는 공간이다.아직 게임은 시작되지 않았고 서버 ( Photon Engine )와 연결되어 매칭 준비를 하는 곳PhotonNetwork.JoinLobby();public override void OnJoinedLobby(){ Debug.Log("로비 입장 완료");} Lobby 에서 할 수 있는 것방 목록 조회 ( Room List )방 생성 / 방 선택랜덤 매칭 시도유저 대기 상태 관리 Photon Room멀티플레이에서 플레이어들이 함께 접속해 게임 상태를 공유하는 가상 방같은 방에 들어온 사람들끼리만 서로의 행동이 보이는 공간이다.플레이어 그룹 단위 공간같은 Room 에 있는 플레이어끼리만 동기화 ( RPC, ..
251210 Loading
·
📖TIL
using System.Collections;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.InputSystem;public class SceneChanger : MonoBehaviour{ private void OnGUI() { if(GUI.Button(new Rect(20, 40, 400, 400), "씬 로딩 버튼")) { StartCoroutine(Loading()); //SceneManager.LoadScene("SampleScene"); // 동기식으로 씬 불러오기 //var oper = SceneMa..
251210 StringBuilder
·
📖TIL
StringBuilderStringBuilder 는 문자열을 자주 이어 붙이거나 수정할 때 사용하는 특수한 클래스이다.C# 에서 문자열 ( String ) 은 불변 ( Immutable ) 이라서 + 연산을 할 때마다 새로운 문자열 객체를 계속 생성한다.그래서 반복문에서 문자열을 계속 더하면 성능이 매우 떨어지는 문제가 발생한다.그 문제를 해결해주는게 StringBuilder 이다. StringBuilder 핵심 개념문자열을 변경해도 새로운 객체를 만들지 않는다StringBuilder 는 내부 버퍼에서 문자열을 수정하기 때문에+ 연산처럼 계속 새 객체를 만들 필요가 없다 → 빠르고 메모리 효율적이다using UnityEngine;using UnityEngine.InputSystem;public class..
251210 Github Issue & Github Projects
·
📖TIL
https://git-scm.com/Repository - Open git bash▼ Mac 사용자 윈도우 사용자git config --global core.autocrlf true 맥 사용자git config --global core.autocrlf input Github Issue깃허브 이슈는 프로젝트에서 해야 할 일을 정리하고, 서로 의견을 주고받으며 해결해나가는 온라인 TODO 리스트버그필요 개발 '기능'Issue 하나가, 작업 단위가 된다.이슈 하나 속에는제목상세 설명라벨담당자체크리스트 Github ProjectGithub Project 는 Issue 를 카드처럼 보드에 붙여서 시각적으로 관리할 수 있는 도구즉 칸반 보드의 느낌으로 생각하면 된다.TODO : 아직 시작되지 않았지만 해야 할..
251209 CSV 파싱
·
📖TIL
데이터를 정리한 엑셀파일을 CSV 로 저장 - Resource 파일에 저장 - CSV를 읽어 파싱 - 리스트에 저장using System.Collections.Generic;using UnityEngine;/// /// 특정한 테이블의 ROW 객체를 ID를 통해 저장 및 조회할 수 있는 클래스/// /// 테이블의 ID값/// 실제 ROW타입 데이터public class Table where TRow : TableBase{ private readonly Dictionary _data; private readonly string _tableName; private readonly string _idColumName; public IReadOnlyDictionary Data => _da..
251208 옵저버 패턴 복습
·
📖TIL
옵저버 패턴은 다음 구조를 가진 디자인 패턴이다.주체 : 상태 변화가 일어나는 쪽옵저버 : 그 변화를 감지하고 반응하는 쪽주체가 변화가 있을 때 , 옵저버들에게 자동으로 알림을 보낸다여러 UI 가 같은 데이터를 구독해도 결합도가 낮아 유지보수가 쉬워진다옵저버 패턴을 활용하여 스톱워치를 만들어보자using UnityEngine;using System;public class TimerManager : MonoBehaviour{ public static TimerManager _instance; public event Action OnTimeChanged; private float _time; private bool _isRunning = false; private void Awak..
251204
·
📖TIL
251203
·
📖TIL
1. 스위치 플랫폼2. 오큘러스 - 스테레오 렌더링 모드 - 멀티 패스3. OpenXR - 렌더러 모드 - 멀티 패스OpenXR Feature Groups - 메타 퀘스트 서포트 체크