일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 112일선
- 전주비빔 라이스 버거
- 상계9동
- 언리얼 5
- 이득우의 언리얼 프로그래밍1
- 1일차
- unity
- 이득우의 언리얼 프로그래밍 1
- 리팩터링 4장
- 2023 Gaming
- JavaScript
- 주식
- 공부
- 리팩터링 3장
- 스즈메의 문단속
- GenAI
- 448일선
- URP
- shader
- 작계훈련
- 2023 구글 클라우드
- 산토리 하이볼
- 2023 게이밍 인 구글 클라우드
- 2023 게이밍
- 224일선
- 스포일러 주의
- 주식단테
- 구글 컨퍼런스
- 언리얼5
- 리팩터링
- Today
- Total
목록Unreal (17)
개발 이야기 안하는 개발자
네트워크로 전송할 데이터의 구분 플레이어의 세부적인 스탯 정보를 모든 클라이언트에 공유할 필요가 있는가?스탯 정보는 소유자에게만 공유하고 다른 클라이언트(Simulated Proxy)는 체력 정보만공유 무기를 먹었을때 서버에서만 스탯값이 적용되도록 로직을 수정한다.무기 말고 포션과 스크롤은 맨 위에 HasAuthority()로 묶어 주어 서버에서만 연산하도록 한다.void AABCharacterBase::EquipWeapon(UABItemData* InItemData){ UABWeaponItemData* WeaponItemData = Cast(InItemData); if (WeaponItemData) { if (WeaponItemData->WeaponMesh.IsPending()..
클라이언트의 입력 정보를 서버로 보내고 서버에서 확인 후 수정을 거친다. Autonomous Proxy 클라이언트의 진행 (ReplicateMoveToServer()) 클라이언트 캐릭터의 움직임을 보관하는 네트워크 클라이언트 데이터 생성 클라이언트의 데이터에 저장된 움직임 중에 참고할 중요한 움직임 기록(OldMove) 현재 틱의 움직임을 기록하는 신규 움직임 생성(NewMove) 입력을 처리하기 전의 각종 초기화 상태를 저장(StartLocation) 필요시 최종 움직임과 현재 움직임을 병합 시도 클라이언트 로컬에서의 움직임 진행(PerformMovement) 신규 움직임에 움직임 결과 상태를 저장(SavedLocation) 신규 움직임을 클라이언트 데이터에 추가 ServerMove함수를 호출해 Old..
RPC(remote Procedure Call) 원격 프로시저(함수) 호출의 약자로 우너격 컴퓨터에 있는 함수를 호출할 수 있도록 만든 통신 프로토콜 서버와 클라이언트간에 빠르게 행동을 명령하고 정보를 주고받는데 사용된다. 언리얼 엔진에선 클라가 서버로 통신하는 유일한 수단이다. Client RPC 서버에서 클라로 호출하는 RPC 특정 클라에게만 명령을 보낼 수 있다. 서버에서 명령을 보낼 클라의 커넥션을 소유한 액터를 사용해야 한다 (AActor::GetNetConnection) Server RPC 클라에서 서버로 호출하는 RPC 언리얼에서 유일하게 클라가 서버의 함수를 호출 할 수 있음. 서버쪽에서 클라의 명령을 검증할 수 있는 함수를 구현할 수 있다. Client RPC와 동일하게 서버와의 커넥션을..
액터 리플리케이션 특정 플레이어에 속한 액터의 정보를 네트워크 내 다른 플레이어에게 복제하는 작업 클라이언트-서버 모델에서는 대부분 서버에서 클라이언트로 전달함. 리플리케이션의 방법에는 크게 2가지가 있음. - 프로퍼티 리플리케이션 - PRC (Remote Procedure Call) 기본 액터의 로딩 클라이언트가 초기화 될 때 모든 액터 정보를 서버로부터 받는 것은 비효율적이다. 따라서 기본 배경에 관련된 액터는 맵을 통해 스스로 로딩하도록 설계되어 음. 고정으로 제공하는 액터와 동적으로 생성하는 액터 - 고정으로 제공하는 액터 : 레벨을 구성하는 배경 액터 - 동적으로 생성하는 액터 : 플레이어 컨트롤러와 폰 고정 액터에 대해 NetLoadOnClient 속성을 체크해야 함(기본 값) NetLoadO..
기능이 일부 제작된 3강 예제이다. 실행버튼 끝쪽에 more를 누르면 Numberof Players로 플레이 사람수를 정할 수 있다. Play a Listen Server 를 누르게 되면 게임 실행방식은 이제 Listen Server 로 동작하게 된다. Project 셋팅에서 Allow Late Joing을 활성화 한다 그럼 다음과 같이 톱니바키 실행버튼 (Add another Client)이 생기는데, 이 버튼을 누르면 다른 클라이언트의 화면이 활성화 되는 것을 볼 수 있다. 언리얼 네트워크 개요 언리얼 멀티 프로젝트는 새로운 엔진처럼 느낄정도로 새롭고 어렵다. 멀티플레이 프로젝트를 제작할 예정이라면 처음부터 구성을 염두해 두고 제작해야 한다. 멀티플레이 게임은 싱글플레이에서도 정상 작동한다. 하지만 ..