본문 바로가기
반응형

Unreal Engine16

언리얼 멀티플레이어 리플리케이션의 핵심 개념 HasAuthority() : 서버인지 확인하는 함수 언리얼엔진 클라이언트-서버 모델은 서버가 권한을 갖고 있다. (그래서 서버인지 확인하는 함수명 HasAuthority()) 동기화는 항상 서버의 권한. 서버에 있는 값이 항상 정확한(신뢰할 수 있는) 값임. => authoritative 서버에서 값을 업데이트 해서 리플리케이트 할 변수들만(신뢰할 수 있는 값) 클라이언트들에게 보내는 방식. -> 만약 서버가 아닌 클라이언트에서 액터를 업데이트 시켰다면? => 클라이언트는 서버로 다시 값을 보내지 않는다. 서버가 유지하는 값이 항상 정확한 값이기 때문. 결국 서버는 값이 그대로임. 하지만 서버에서 값을 업데이트 한다면 클라이언트에서 업데이트 하는 값과 차이가 생기게 됨. 그래서 클라이언트에서는 액터가 .. 2022. 6. 24.
멀티플레이시 언리얼엔진 내부에서 일어나는 일 삼인칭 템플릿 프로젝트를 생성하고 에디터에서 Netmode를 Play as Listen Server로 하고 플레이어 수를 늘려 플레이 하면 각 클라이언트에서 캐릭터를 조종해서 다른 캐릭터가 움직이는걸 서로 볼 수 있다. 어떻게 가능할까? 언리얼엔진 내부에서 일어나는 일 1. 맵(월드)을 로딩한다. 2. 맵은 GameMode를 특정한다. (게임모드는 오버라이드 가능. 특정 월드를 위한 게임모드 만들어서 오버라이드 가능.) 3. 맵에 조인하려는 Player Controller를 얻는다. -> 두 플레이어를 배치한다면, 두 개의 플레이어 컨트롤러를 생성하고 맵에 조인시킨다. 4. 플레이어 컨트롤러는 게임모드에 Pawn을 스폰하도록 요청한다. -> GameMode : Pawn을 생성할 위치를 결정하는 클래스 5.. 2022. 6. 24.
4. 캐릭터 콤보공격, 플레이어 입력구조 변경(플레이어 컨트롤러-폰 구조) 캐릭터 콤보공격 https://jjpearl.tistory.com/42?category=1070610 [UE4 C++] 애니메이션 시스템 활용(Animation Montage, 델리게이트, Animation Notify) 캐릭터에 공격 기능을 만들려 할 때 스테이트 머신을 사용한다면 모든 공격에 대한 스테이트, 트랜지션을 만든다면 스테이트를 계속 추가해야 하고 스테이트 머신이 복잡해질 것이다. 애니메이 jjpearl.tistory.com 애니메이션 노티파이를 활용해 콤보 공격에 필요한 애니메이션 몽타주를 만들었다. Attack1/2/3/4/5 : 5콤보까지 가능하도록 섹션을 나눴다. AttackHitCheck : 추후 데미지 전달 구현할 때 공격 판정을 할 타이밍 NextAttackCheck : 다음 공.. 2022. 1. 15.
[UE4 C++] 애니메이션 시스템 활용(Animation Montage, 델리게이트, Animation Notify) 캐릭터에 공격 기능을 만들려 할 때 스테이트 머신을 사용한다면 모든 공격에 대한 스테이트, 트랜지션을 만든다면 스테이트를 계속 추가해야 하고 스테이트 머신이 복잡해질 것이다. 애니메이션 몽타주(Animation Montage) 스테이트 머신 확장 없이 특정 상황에서 원하는 애니메이션을 발동시키는 기능. 애니메이션 몽타주는 섹션을 단위로 애니메이션을 관리. 여러 애니메이션 클립들의 일부를 떼어내고 붙여서 새로운 애니메이션을 생성하는 기법. 이 때 섹션 단위로 애니메이션을 자르고 붙이는 작업을 진행. - 애님 인스턴스에서 몽타주 애니메이션 실행 애님 인스턴스에 멤버 함수와 멤버 변수를 생성한다. * UPROPERTY 키워드 Anywhere에서 세분화된 키워드 InstanceOnly : 인스턴스의 속성을 보여.. 2022. 1. 13.
3. C++ 애님 인스턴스, Character 점프기능, Sprint 기능 - 애니메이션 블루프린트 제작 https://jjpearl.tistory.com/39?category=1070610 [UE4 C++] 애니메이션 시스템 (애니메이션 블루프린트) 애니메이션 블루프린트 캐릭터가 다양한 상황에 적절한 애니메이션을 체계적으로 재생하도록 하는 애니메이션 시스템 제작 도구. 애니메이션 블루프린트는 두가지로 구성. 애님 그래프(Anim Grap jjpearl.tistory.com 데이터를 관리하는 애님 인스턴스를 C++로 작성했다. * 원래 BlendSpace2D를 사용해 Direction에 따라 애니메이션들을 blend 하려 했었으나 나의 캐릭터는 컨트롤 회전을 따라 이동하고, 메쉬가 움직이는 방향을 따라 돌아가게 하는 "GetCharacterMovement()->bOrientRo.. 2022. 1. 12.
반응형