언리얼엔진/그 외
-
[UE5] GameState의 PlayerArray가 동기화되는 방법언리얼엔진/그 외 2024. 9. 9. 14:59
게임 스테이트는 클라이언트에 레플리케이트 되어서 서버와 클라이언트에 모두 존재하며, 게임의 상태를 동기화 해서 클라이언트에서도 알수있게 된다.예를 들면 AGameState에서 다루는 변수인 MatchState와 ElapsedTime은 서버와 동기화 되므로, 이 값이 변함에 따라서 클라이언트에서도 상황에 맞는 작업을 할 수 있다. 이렇게 동기화 된다고 알려진 정보중에 AGameStateBase의 PlayerArray도 있다.PlayerArray는 현재 존재하는 모든 플레이어들의 플레이어 스테이트를 담아둔 배열이다.플레이어 스테이트는 서버와 클라이언트에 모두 존재하고, 존재하는 모든 플레이어 스테이트가 각 클라이언트에 레플리케이트 되므로 게임 스테이트의 PlayerArray를 통해 클라이언트에서도 원할때마다..
-
[UE5] C++로 애니메이션 시퀀스 변경, 커브 추가언리얼엔진/그 외 2024. 7. 3. 16:12
가끔씩 애니메이션을 수정해야하거나 커브를 추가해야할 상황이 있는데 반복작업이 너무 많거나 정확한 계산이 필요한 경우가 있을때 사용하면 좋을듯함.애니메이션 트랜스폼 정보를 커브로 변환해서 다른곳에 사용할수도 있을듯.카메라에 있는 애니메이션을 추출해서 커브로 만든뒤에 카메라 쉐이크로 사용한다던가.아니면 커브를 애니메이션에 베이크하는 경우도 있을듯. 1. 커브 추가애니메이션 시퀀스에는 커브를 추가할수 있음.벡터 커브를 통해 본에 애디티브 트랜스폼을 추가해서 애니메이션을 수정하는것도 가능함.// 애니메이션 시퀀스UAnimSequence* AnimSeq = Cast(Object);// 애니메이션 데이터에 접근가능한 모델IAnimationDataModel* AnimDataModel = AnimSeq->GetDat..
-
[UE5] 캐릭터 무브먼트 컴포넌트 작동 순서 정리언리얼엔진/그 외 2024. 6. 13. 22:16
캐릭터의 움직임이 처리되는 순서를 간단하게 정리한것.피직스 시뮬레이션이나 루트 모션 관련은 제외했음.TickComponent()| 서버에 접속한 클라이언트인 경우 서버에서 받은 정보를 통해 위치 업데이트| if 캐릭터의 움직임을 처리해야하는 경우. 대부분은 캐릭터가 직접 조종되고있을때.| ControlledCharacterMove()| | 점프 입력 확인| | 가속도 조절| | if Authority를 가지고있을때.| | PerformMovement()| | | MaybeUpdateBasedMovement()| | | ApplyAccumulatedForces()| ..
-
[UE5] USTRUCT의 NetSerialize언리얼엔진/그 외 2024. 3. 12. 18:06
언리얼 엔진은 RPC나 프로퍼티 리플리케이션으로 클라이언트의 로컬 프로퍼티를 업데이트 할 수 있다. 프로퍼티를 업데이트 할 때 트래픽과 대역폭을 줄이기 위한 최적화 방법들이 있는데 그 중 구조체에 사용할 수 있는 NetSerialize가 있다. NetSerialize는 구조체의 데이터를 Serialize하거나 Deserialize하는 함수다. 보통은 언리얼 엔진에서 자동으로 Serialize를 해주므로 필수는 아니지만, NetSerialize 함수를 통해 조건에 따라 필요한 프로퍼티만 업데이트하는 로직을 구현할 수 있다. 예를 들어 Line trace의 결과를 구조체에 담아 보내는 경우를 생각해보면 Line trace 결과에 부딛친 물체가 아무것도 없다면 구조체의 모든 멤버 변수는 비어있는 기본값이 되므..
-
[UE5] 블렌더로 루트 모션 애니메이션 만드는 방법언리얼엔진/그 외 2024. 1. 25. 17:37
이 주제와 관련된 질문글을 봤는데 관심이 생겨서 방법을 연구해봤다.기억해두면 나중에 도움이 될거같아서 정리해둔다. 블렌더 오브젝트를 언리얼 엔진으로 임포트 해주는 블렌더 애드온인 Send to Unreal을 사용해서 에셋을 임포트하겠다. https://github.com/EpicGamesExt/BlenderTools GitHub - EpicGamesExt/BlenderTools: Blender addons that improve the game development workflow between Blender and Unreal.Blender addons that improve the game development workflow between Blender and Unreal. - EpicGamesEx..
-
[UE5] Enhanced Input Binding with Gameplay Tags C++언리얼엔진/그 외 2024. 1. 21. 16:58
원문: https://dev.epicgames.com/community/learning/tutorials/aqrD/unreal-engine-enhanced-input-binding-with-gameplay-tags-c Enhanced Input Binding with Gameplay Tags C++ | TutorialThis tutorial covers setting up a foundational Enhanced Input system in the First Person Template. This a minimalized version of the system implemented ...dev.epicgames.com 1인칭 템플릿을 이용해서 Enhanced Input Binding과 게임플레이 태그를..
-
[UE5] 시퀀스 이밸류에이터에 대해언리얼엔진/그 외 2023. 8. 19. 17:25
애니메이션 블루프린트에는 시퀀스 이밸류에이터라는 노드가 있다.노드의 설명은 "지정된 애니메이션의 지정된 단일 프레임을 구합니다." 라고 적혀있다.언리얼 엔진 5의 라이라 샘플이나 공식 문서의 디스턴스 매칭을 보면 시퀀스 이밸류에이터를 사용한 예제를 볼 수 있다. https://docs.unrealengine.com/5.2/ko/distance-matching-in-unreal-engine/ 디스턴스 매칭예시 워크플로 구현을 통해 언리얼 엔진의 디스턴스 매칭에 대해 자세히 알아봅니다.docs.unrealengine.com 시퀀스 이밸류에이터와 가장 비슷한 노드로는 시퀀스 플레이어가 있다. 둘 다 지정된 애니메이션 시퀀스의 포즈를 출력하는 기본적인 기능을 하는데, 두 노드의 차이점을 굳이 비교하면시퀀..