런타임 중 NewObject<>()의 Replicate에 대해 조금 더 궁금합니다.
런타임중에 SpawnActor<>()와 NewObject<>()를 멀티플레이 환경에서 사용하고 싶은데,
강의를 듣고 엔진 코드도 살펴보고 문서도 읽어보고 5.3 환경에서 실험도 해보고 했지만
잘 모르겠어서 이렇게 질문드립니다.
" AActor 상속 클래스를 Replicate = true로 하고 서버에서 SpawnActor를 사용해 스폰하면 클라이언트에도 자동으로 생성이 된다. "
-> 이건 실험도 해보았고 에픽 포럼 글 확인해보니 맞는거 같습니다
위 실험 결과를 토대로 UActorComponent는 어떻게 동작할까? 궁금해서 실험을 해보았을 때 로그를 찍으며 실험해본 결과는 아래와 같습니다.
- UActorComponent는 UActorComponent의 Replicate 속성 true false 여부에 상관없이,
- 서버에서 NewObject<>()로 생성 후, (여기서 outer는 ACharacter 같은 걸로 설정해서 추후 RegisterComponent()시 문제가 없도록 하고)
- RegisterComponent를 통해 등록하면 https://docs.unrealengine.com/5.3/ko/replicated-subobjects-in-unreal-engine/의 과정을 거치지 않았는데도 클라이언트에서도 자동으로 생성이 된다.
라는 결과를 얻었습니다.
이게 맞나요? 제 생각엔 'NewObject<>()시 사용한 Outer가 Replicate가 true인 Actor이면,
UActorComponent는 UObject를 서브 오브젝트 레플리케이트 시키기 위한 추가 로직(위 문서 링크에 나와있는) 없이도 자동으로 잘 된다' 라는 생각이 드는데
이게 맞는건지 아니면 틀린건지 위에 실험도 잘못한건지 잘 모르겠습니다 ㅜㅜ
혹시나 맞다면 UActorComponent를 위처럼 동적으로 수정 / 삭제 시 RemoveReplicatedSubObject도 호출하지 않아도 되나요?
답변 1
1
관련 주제는 사실 4버전과 5버전의 구현 방법이 달라서, 포럼이나 인터넷 글도 버전을 체크하면서 확인해봐야 합니다. 사실 앞으로도 어떻게 바뀔지 모르니 결국에는 소스코드를 보면서 직접 메커니즘을 확인하는게 가장 확실합니다. 결국에는 설계의 문제인데요, 이번 강좌에서 기초를 점검하되, GAS의 네트웍 멀티플레이 프레임웍을 공부해 이 프레임웍이 지향하는 방법으로 공부하는 것이 가장 효과적으로 보여집니다.
5.6버전 Networking Insights 실행안됨 문제에 관하여
0
30
1
8강 중간, 분수대의 SetOwner 에 대해 궁금합니다.
0
77
2
플레이어(Actor) 로 (리슨)서버에서 생성 되나요?
0
99
2
2강) HandleBeginPlay 의 역활이 궁금합니다.
-1
72
2
3강 중간, 모드 로그로 찍을 시 스탠드얼론이 안찍힙니다.
1
76
2
CompressedFlag 질문
0
58
2
10강까지 머리 위 체력바가 표시가 안됩니다.
0
110
3
10강까지 머리 위 체력바가 표시가 안됩니다.
0
95
2
16:44 부분에서 질문이 있습니다.
0
104
2
12:50 NetMulticast RPC 커넥션 관려하여 질문이 있습니다.
0
121
2
github 3-5 파트 프로젝트에서 컴파일 에러가 발생합니다.
0
116
3
언리얼 인사이트 5.6버전 networking insights 가 뜨지 않습니다.
0
164
3
Insight 사용이 안되어서 문의 드립니다!
0
131
2
하위 레벨...?? High Level 말씀하신거죠..??
0
147
1
CompressedFlags를 이용한 InputThrottle, InputSteering 전달 방법 질문
0
191
1
조건식 프로퍼티 리플리케이션 질문
0
144
2
ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.
0
160
2
7강에서 DORM_Initial 안됨
0
128
3
안녕하세요 강의 내용 정리에 관련해서 질문있어요
0
131
2
캐릭터 클래스의 mesh 관련
0
133
2
3파트 6강 분수대 로테이트에 문제가 생겼습니다.
0
131
3
클라이언트의 오너십 설정에 대해서 궁금합니다.
0
201
3
프로퍼티 리플리케이트 동기화 보장 개념.
0
225
2
결국엔 액터 기본함수들은 어디든 똑같이 일단 실행되는건가요?
0
93
2





