분류 전체보기
-
[Unreal/Editor] Profiler 사용법 링크게임 엔진/Unreal 2024. 5. 24. 21:56
튜토리얼은 다음을 참고. 언리얼 엔진의 언리얼 인사이트 | 언리얼 엔진 5.2 문서 | Epic Developer Community (epicgames.com) 언리얼 엔진의 언리얼 인사이트 | 언리얼 엔진 5.4 문서 | Epic Developer Community언리얼 인사이트로 프로젝트를 프로파일링합니다.dev.epicgames.com 인사이트 빌드 방법, 이 방법으로 프로파일러도 빌드하여 사용할 수 있으니 참고바람.언리얼 엔진의 트레이스 퀵스타트 가이드 | 언리얼 엔진 5.2 문서 | Epic Developer Community (epicgames.com) 언리얼 엔진의 트레이스 퀵스타트 가이드 | 언리얼 엔진 5.4 문서 | Epic Developer Community다음 구성 단계에 따라 언리..
-
[Unreal/C++] Montage에서 SkeletalMeshComponent 가져오기게임 엔진/Unreal 2024. 2. 24. 16:36
다음과 같이 PreviewMesh를 이용하거나, Skeleton에서 FindCompatibleMesh로 매칭이 되는 스켈라탈 메쉬를 로드하여 가져와 SkeletalMeshComponent에 설정할 수 있다. USkeletalMesh* pPreviewMesh = _pMontage->GetPreviewMesh(); if (pPreviewMesh == nullptr) { pPreviewMesh = _pMontage->GetSkeleton()->FindCompatibleMesh(); } USkeletalMeshComponent* pSkeletalMeshComp = NewObject(); pSkeletalMeshComp->SetSkeletalMesh(pPreviewMesh); if (IsValid(pSkeleta..
-
[Unreal/C++] 런타임에서 몽타주에 노티파이 추가하는 방법게임 엔진/Unreal 2024. 1. 25. 17:20
애니메이션 몽타주 로드 시 다음 코드 실행하면 된다. _pAnimAsset = 대충 애니메이션 로드하는 함수. UAnimMontage* pAnimMtg = Cast(_pAnimAsset); if (pAnimMtg == nullptr) { return; } // 노티파이 추가 int newIndex = pAnimMtg->Notifies.Add(FAnimNotifyEvent()); FAnimNotifyEvent& newEvent = pAnimMtg->Notifies[newIndex]; if (UObject* AnimNotifyClass = NewObject(pAnimMtg, UCustomNotify::StaticClass(), NAME_None, EObjectFlags::RF_Transactional)) {..
-
[Unreal/C++] "Unable to destroy previously allocated sequence instance - this could indicate a memory leak." 에러 처리게임 엔진/Unreal 2023. 6. 17. 18:08
정석적인 방법은 Component 등 플레이 마다 Begin과 End 함수가 항상 동작하는 액터에서 시퀀스 플레이어를 관리하여 Begin에 생성, End에 제거하는 식으로 사용하는 것이다. 코드 참고 - ActorSequenceComponent 코드 참고 - ActorSequenceComponent void UActorSequenceComponent::BeginPlay() { Super::BeginPlay(); if (Sequence != nullptr) { SequencePlayer = NewObject(this, "SequencePlayer"); SequencePlayer->SetPlaybackClient(this); // Initialize this player for tick as soon as ..
-
[Unreal/C++] 애니메이션 State Event 타이밍 이슈 처리게임 엔진/Unreal 2023. 6. 17. 17:17
애니메이션 State Event를 사용하는데, 다른 캐릭터의 이벤트 타이밍이 정상적으로 동작하지 않는다면 다음 옵션이 켜져 있는지 확인 후 해당 애니메이션에서만 옵션을 False로 처리하자. USkinnedMeshComponent::bEnableUpdateRateOptimizations (기본값 : True) 해당 옵션이 활성화 되어 있으면 화면에 표시되는 크기에 따라 애니메이션 업데이트를 늦추게 된다. 일반적인 경우에는 성능을 위해 필요하지만 이벤트가 정확한 타이밍에 발동해야 하는 경우에는 해당 동작에만 이 옵션을 꺼주면 정상적인 동작을 확인할 수 있다. bEnableUpdateRateOptimizations | Unreal Engine Documentation bEnableUpdateRateOptim..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/2578 : 버스 갈아타기코딩 테스트/JUNGOL 2023. 5. 29. 15:54
Intermediate_Coder/그래프탐색-BFS/버스 갈아타기 문제 2차원 평면상에 m개의 수직선과 n개의 수평선으로 이루어진 격자 형태의 도로망이 있다. 아래 그림은 7개의 수직선과 6개의 수평선으로 이루어진 도로망의 예이다. 수직선과 수평선이 만나는 교차점들 중 가장 왼쪽 아래 점의 위치는 (1,1)이고, 가장 오른쪽 위 점의 좌표는 (m,n)이다. 이 도로망을 운행하는 버스들이 k개 있고, 각 버스는 하나의 수평선 상의 두 교차점 사이 선분이나 하나의 수직선 상의 두 교차점 사이 선분을 왕복 운행한다. 각 버스는 운행하는 선분 사이의 모든 교차점(선분의 양 끝 교차점 포함)에서 정차한다. 출발지 교차점과 목적지 교차점 (출발지와 목적지는 다름)이 주어질 때, 출발지에서 목적지로 버스만을 이용하여..
-
[Unreal/C++] 카메라 밖에 있는 액터 애니메이션 노티파이 처리게임 엔진/Unreal 2023. 5. 11. 22:02
USkinnedMeshComponent의 VisibilityBasedAnimTickOption을 OnlyTickPoseWhenRendered에서 다른 옵션으로 변경하면 된다. AlwaysTickPoseAndRefreshBones 애니메이션 실행 후 본 업데이트 및 실제 Transform 변경 AlwaysTickPose 애니메이션 실행 후 본 업데이트 OnlyTickMontagesWhenNotRendered 몽타주 애니메이션 실행 OnlyTickPoseWhenRendered 화면에 보일 때만 모든 업데이트 진행 엔진 코드에 존재하는 옵션에 대한 설명은 다음과 같다. /** Skinned Mesh Animation Tick option based on rendered or not. This dictates ..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/1006 : 로봇코딩 테스트/JUNGOL 2023. 3. 1. 15:36
Intermediate_Coder/그래프탐색-BFS/로봇 문제 많은 공장에서 로봇이 이용되고 있다. 우리 공장의 로봇은 바라보는 방향으로 궤도를 따라 움직이며 움직이는 방향은 동, 서, 남, 북 가운데 하나이다. 로봇의 이동을 제어하는 명령어는 다음과 같이 두 가지이다. *명령 1. Go k - k 는 1 2 또는 3일 수 있다. 현재 향하고 있는 방향으로 k 칸만큼 움직인다. *명령 2. Turn dir - dir 은 left 또는 right 이며 각각 왼쪽 또는 오른쪽으로 90° 회전한다. 공장 내 궤도가 설치되어 있는 상태가 아래와 같이 0과 1로 이루어진 직사각형 모양으로 로봇에게 입력된다. 0은 궤도가 깔려 있어 로봇이 갈 수 있는 지점이고 1은 궤도가 없어 로봇이 갈 수 없는 지점이다. 로봇이..