티스토리 뷰
직접적인 서버 연결이 대충 어느정도 끝이 났다.
컴퓨터가 한 대 뿐이라 스팀상에서의 연결은 시도해보지 못했지만 많은 포럼을 돌아다녀 본 결과 게임 실행했을 때 우측 하단에 스팀앱이 실행중입니다! 이거 뜨면 연결이 올바르게 된 거라고 함.
사실 가능하다면 스팀상에서도 테스트 해보고 싶지만 가장 어려운것은
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ...
서버가 붙은 UI 구현을 위해 위해 ini 파일 편집부터 언리얼 인터페이스 생성, 일시정지 메뉴 띄웠다 지우기, 레벨 변경 등 많은 부분을 공부했다..
이 포스팅은 누군가에게 보여주려고 하는 포스팅이 아니고 내가 공부한 단어들 정리해두는 포스팅이 ㅇ될 것.
아래부터는 그 단어들이 있을 예정이니까 안보는걸 추천함.
심리스/논심리스 로딩
논심리스란 : 서버는 모든 클라이언트의 연결을 끊고 새 맵에 로드시킨 뒤 자체적으로 맵을 로드한다. 프리징이 생김. 연결 해제에 시간이 걸리기 때문. 프리징을 방지하기 위한 방법으로 트랜지션 맵이 있음.
트랜지션 맵 → 로딩을 하기 위해 아주 작은 맵으로 먼저 이동하는 것. 원활한 전환을 위함.
bUseSeamlessTravel = true; 로 간단하게 할 수 있음. 프로젝트 세팅에서 킴.
TOptional
- TOptional 은 인자로 들어간 녀석이 생성되었는지 아닌지 여부를 간단하게 확인할 수 있는 Wrapper 클래스이다.
- Optional.h 에 보면 Value 와 bIsSet 이 있는데, Value 가 실제 넘기는 데이터이고, bIsSet 이 해당 데이터의 생성자가 호출되었는지 여부를 판단하는 녀석이다. IsSet, Emplace, GetValue 등을 사용하면 해당 클래스를 유용하게 활용할 수 있다.
- TOptional 을 사용하는 장점 중 하나는, 특정 변수가 초기화되었는지를 판단하기 위해 'Magic Number' 를 쓸 필요가 없어진다는 것이다!
컴파일 타임 종속성 - 한쪽으로 이동
런타임 종속성 - 양 방향으로 이동 가능
종속성 반전이란?
메인메뉴에서 게임인스턴스에 접근하는 상황에서 게임 인스턴스에 대한 종속성을 제거하기 바람. 다른 게임으로 이동하면 게임인스턴스가 바뀌니까. 또 게임인스턴스가 없을수도있음 (코드 변경 없이.)
이를 가능하게 하기 위해 인터페이스가 존재한다. 객체를 만들지 않고 상속용으로만 사용. 게임인스턴스는 인터페이스를 포함함.
TSharedPtr 와 가비지 컬렉션 기초
- 언리얼에서 객체를 세기 위해 어떻게 할까?
- 언리얼 참조 카운팅 사용. TSharedPtr<AActor>. 스택에 존재하지만 힙에 있는 객체를 가리키고있다.
- 언리얼이 가비지 컬렉션을 위해 스캔할 객체를 알게 하는데 어떤 코드를 알아야할까?
- 중요! UObject에서 UPROPERTY()인 것은 자동으로 가비지 컬렉션의 대상이 된다!
- 가비지컬렉션은 UObject를 전부 담을 수 있다.
- 언리얼이 어떤 포인터를 따라야 하는지 어떻게 알 수 있을까?
- 질문이 좀 애매한데 객체를 UObject* 로 가리킨다는 말인듯
리플리케이션
액터는 리플리케이션의 핵심 요소. 클라이언트와 서버 사이의 핵심 요소라는 의미. 서버를 통해 최신 상태를 유지한다. 리플리케이터 된 액터는 서버를 통해 계속 업데이트 됨.
언리얼 동기화
동기화는 클라→서버 로는 이루어지지 않음. 동기화는 늘 서버의 권한. 서버→클라 만이 동기화가 됨.
트레블러
서버 트레블러는 월드(엔진)에서 작동. 플레이어 컨트롤러를 싹다 이동
클라이언트 트레블러는 하나하나 이동
'Unreal > UE Server (完)' 카테고리의 다른 글
[UE5] Unreal Server Replicated - 1 (0) | 2023.07.03 |
---|---|
[UE5] RPC - 1 (0) | 2023.06.30 |
[UE5] Unreal Server Steam 연결 (0) | 2023.06.29 |
[UE5] Server Join Session (0) | 2023.06.29 |
[UE5] Server Main UI (0) | 2023.06.28 |
- Total
- Today
- Yesterday
- IMGUI
- 스택/큐
- 탐욕법
- 고득점 Kit
- level3
- greedy
- LV2
- 너비우선탐색
- 재귀
- 데디케이티드
- 완전탐색
- 디자인 패턴
- 채팅서버
- BFS
- DFS
- 고득점kit
- 힙
- 해시
- LV3
- 개인공부
- Unreal 5.1
- 누적합
- sort
- 프로그래머스
- C++
- UE5
- FPS
- 정렬
- Ue
- Heap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |