언리얼 엔진

언리얼 엔진/C++

언리얼엔진 C++ 에디터 뷰포트에서 월드에 있는 액터 Focus

.h static void FocusActor(AActor* Actor) .cpp UWorld* World = GEditor->GetEditorWorldContext().World()->GetWorld(); if(World) { if(!Actor->IsSelectedInEditor()) { GEditor->GetSelectedActors()->DeselectAll(); GEditor->SelectActor(Actor, true, false); GEditor->Exec(World, TEXT("Camera Align")); } } .Bulid.cs // "LevelEditor", "UnrealEd" 추가

언리얼 엔진/C++

언리얼엔진 C++ Thread 만들기 (FRunnable)

언리얼엔진에서 Thread 를 만드는 방법은 여러 가지 있는 걸로 알고 있다. 해당 글은 FRunnable 을 이용한 Thread 생성 방법을 설명한다. 참고사이트 :UE5 Multithreading With FRunnable And Thread Workflow – Unreal C++ API [ FRunnable ] class CORE_API FRunnable { public: virtual void Init(); virtual uint32 Run = 0; virtual void Exit() {} virtual void Stop() {} virtual ~FRunnable() {} } Init() Game Thread 에서 실행된다. - Blocking Thread 초기화 및 생성자이다. false 를 반..

언리얼 엔진/C++

언리얼엔진 C++ Enum to String(static template)

문제점 Enum을 String으로 바꿀 때마다 새로 함수를 작성하고 새로운 enum을 파라미터로 생성해야 하기 때문에 쓸 때마다 코드가 늘어난다. 해결 static template function을 만들어서 헤더만 추가하면 쓸 수 있도록 한다. 추가 typeid.name()을 하면 'enum EnumValue'으로 만들어지기 때문에 RemoveFromStart()를 이용하여 'enum '을 잘라준다. enum은 BlueprintType 이여야 한다. 코드 template static FString GetEnumDisplayNameToString(T EnumValue) { FString EnumString = FString::Printf(TEXT("%hs"),typeid(T).name()); EnumStr..

언리얼 엔진/C++

언리얼엔진 C++ BehaviorTree Tip (노드 설명 추가)

노드의 설명 추가 - 예시(Wait) virtual FString GetStaticDescription() const override; FString UBTTask_Wait::GetStaticDescription() const { if (FMath::IsNearlyZero(RandomDeviation)) { return FString::Printf(TEXT("%s: %.1fs"), *Super::GetStaticDescription(), WaitTime); } else { return FString::Printf(TEXT("%s: %.1f+-%.1fs"), *Super::GetStaticDescription(), WaitTime, RandomDeviation); } }

언리얼 엔진/C++

언리얼엔진 C++ 클래스에 사용자 지정 섹션 만들기

.cpp // 생성자부분에 해당 코드를 추가 #if WITH_EDITOR #define LOCTEXT_NAMESPACE "Custom Detail" static const FName PropertyEditor("PropertyEditor"); FPropertyEditorModule& PropertyModule = FModuleManager::GetModuleChecked(PropertyEditor); // "Actor"는 클래스 타입에 맞게 변경 (예: Actor, Pawn, CharacterMovementComponent) // "MySection"은 원하는 섹션 이름으로 변경 TSharedRef Section = PropertyModule.FindOrCreateSection("Actor", "MySe..

언리얼 엔진/C++

언리얼엔진 C++ MovementYawOffset

const FRotator AimRotation = PlayerCharacter->GetBaseAimRotation(); const FRotator MovementRotation = UKismetMathLibrary::MakeRotFromX(PlayerCharacter->GetVelocity()); MovementOffsetYaw = UKismetMathLibrary::NormalizedDeltaRotator(MovementRotation,AimRotation).Yaw; if(PlayerCharacter>GetVelocity().Size() > 0.f) { LastMovementOffsetYaw = MovementOffsetYaw; }

mane
'언리얼 엔진' 카테고리의 글 목록 (7 Page)