
RPC를 사용하거나 Replicated와 같은 공유변수로 선언할 경우에는 롤(Role)을 기억해야 한다. Role은 총 3가지가 있다. Authority, AutonomousProxy, SimulatedProxy 이런식이며 아래 그림을 통행 무슨 뜻인지 링크를 통해 이해할 수 있을 것이다. 위 그림은 Server Client에서 디버그 띄우는 모습이다. 각 빙의된 캐릭터의 이름위에 Authority라는 로그는 서버의 입장에서는 두 객체 모두 서버 소유의 객체라는걸 알 수 있다(Authority가 권위, 권력이라는 명사이기때문에 알 수 있다). 위 그림은 해당 Client(Client1이라 쓰여져 있다.)에서 보면 내가 동작하는 빙의된 캐릭터에는 AutonomousProxy라고 적혀 있으며 이것은 해당 클..

언리얼 멀티플레이를 만드는 중에 골치 아픈 오류가 생겨난다. (자신의 문제가 아니란걸 인지하시길) 해당 사진처럼 ActorComponent를 이용하며 오류가 생기는데 이유는 총 2가지로 보인다. 1. ActorComponent는 개별적인 오브젝트이기 때문에 폰(pawn)이나 아니면 액터에 붙이면 해당 Property들이 스택을 Queue방식을 올리는데 해당 수정된 ActorComponent가 바뀌며 개별 스택으로 인식하여 다른 스택으로 올려 오류가 생긴다. 해당 사진이 그에 대한 생각이다. 해당 창은 해당 BP에 우클릭 -> 에셋 액션 -> 프로퍼티 매트릭스를 통한 대량 편집에서 해당 오류 ActorComponent가 Property 개별 변수로 받아들여 충돌이 일어난다는 것이다. 해당 그림처럼 개별로 ..

전에 포스팅한 글과 같이 ActorComponent라고 생각하면 당연히 각 클라이언트들의 스폰 폰(Spawn Pawn)이 생성 될테고 해당 폰은 각 AutoAuthority, Proxy의 역할로 움직이는 역할에 그러면 ActorComonent도 사용하기 위해서는 Replicated를 사용하여 공유를 하고 변환을 받는다는 얘기 일거다. 하지만 각자에게 부여된 컴포넌트와는 다르게 값이 공유되지만 값은 공유되지 않는 동시성을 가지고 있다. 그게 잘 보여주는게 LockonSystem을 만들었을때이다. 예로 만약 아래와 같이 코드를 적용했다고 하면. (완전한 코드가 아니기 때문에 아래에 있는대로 변경하기 바람.) 그냥 Replicated를 이용해 코드를 짰을때. .h class SOULNETWORKPROJECT_..

지금 쓰는 글은 지독히 개인적인 주관이 많이 들어갔기에 쓰는것이다. 기본적으로 각 클라이언트들이 들어오면 각자의 HUD와 Widget이 할당되어 실행이 되며 각자에게 맞는 주소를 찾아 그 주소로 찾아 들어가야 할것이다. 하지만 이에 해당하는 많이 애매한 오류들이 생긴다. 먼저 개념을 잡자면 첫번쨰로 말할것이 먼저 Role의 개념이다. 위에 그림과 같이 각 클라의 액터들에게는 각자의 Role이라는 역할이 있다. 먼저 서버클라의 모습을 보면 Authority라고 써있을것이다. 서버의 입장에서는 자신인 Host에서 다 받고 호출을 해주기에 Authority즉 자신의 소유라고 보는것이다. (당연히 서버(Host)가 끊기면 모든 클라이언트들도 당연히 킥을 당한다. ) 반면, 클라1과 클라2의 입장으로 보면 각 클..
- Total
- Today
- Yesterday
- Direct12
- DirectX12
- Multiplayer
- 게임프로그래밍
- DirectX
- html5
- ros
- Direct3D
- ubuntu
- 언리얼엔진#FPS
- directx3d
- 언리얼#c++#Interface
- ReplicatedUsing
- UnReal
- ros2
- 4.27
- 언리얼#게임
- 언리얼#프로그래밍#c++#포트폴리오준비#블루프린트->c++전환
- 언리얼#c++#기능
- ActorComponent
- 게임
- 언리얼
- 1993
- 영화리뷰
- Replicated
- Multipalyer
- LockonSystem
- 시애틀의 잠 못 이루는 밤
- c++
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |