Engine/Unreal

    [Unreal] TSet

    TSet 는 데이터 값 자체를 키로 사용하며, 이 때 엘리먼트를 값을 평가하는 오버라이드 가능 함수를 사용합니다. TSet 는 엘리먼트 추가, 검색, 제거가 매우 빠릅니다 (고정비). 기본적으로 TSet 는 중복 키를 지원하지 않지만, 템플릿 파라미터로 사용할 수는 있습니다. - TSet 는 순서가 중요치 않은 상황에서 고유 엘리먼트를 저장하는 데 사용되는 고속 컨테이너 클래스입니다. - DefaultKeyFuncs에서 파생된 구조체는 해시 함수 기능을 제공하도록 지정할 수 있을 뿐만 아니라, 한 세트에 값이 같은 키가 다수 존재할 수 있도록 할 수도 있습니다. - 세트는 인수가 하나인 생성자로만 엘리먼트를 emplace 할 수 있습니다. - TSet 는 소팅 가능합니다. 소팅 이후 세트를 반복처리하면 ..

    [Unreal] 블루프린트

    BlueprintNativeEvent - C++에서도 정의가능하고 블루프린트에서도 이벤트그래프로 재정의가 가능하다. 또한 C++에 있는 코드를 불러올 수 있도록 부모호출로 C++에 정의된 함수를 불러올 수 있다. 대신 cpp에서 함수명에 _Implementation를 추가해주어야한다. - BlueprintNativeEvent를 사용할 때 FString은 const FString&을 사용하여야한다. UFUNCTION(BlueprintNativeEvent) bool Hi(const FString& UID, bool abd); 순수함수 순수 함수는 일반적으로 값을 구해오거나 데이터 값을 출력하기만 하는 작업에 사용됩니다. - 데이터 핀으로 연결되며, 그에 관련된 데이터가 필요할 때 컴파일러가 자동으로 실행해 ..

    [Unreal] 리플리케이트

    리플리케이트 - 서버와 클라이언트 사이에서 데이터와 명령을 주고받는 프로세스 액터 업데이트 방식은 크게 두 가지입니다. 프로퍼티 업데이트 RPC (Remote Procedure Call). 프로퍼티 리플리케이션과 RPC 사이의 큰 차이점은, 프로퍼티는 변경될 때마다 자동으로 리플리케이트되는 반면, RPC 는 실행될 때만 리플리케이트된다는 점입니다. 컴포넌트 리플리케이트 - 액터의 그 게임플레이 로직이 리플리케이트되는 것이고, 그 결과가 가끔은 컴포넌트에 대한 호출/변화로 나타납니다. 그러나 가끔은 컴포넌트의 프로퍼티나 이벤트 자체적으로 직접 리플리케이트해야 할 때도 있습니다. - 액터가 리플리케이트되면, 그 컴포넌트도 리플리케이트시킬 수 있습니다. - 이 컴포넌트는 액터와 같은 방식으로 프로퍼티와 RPC..

    [Unreal] 유용한 언리얼 함수

    UE_LOG(LogTemp, Log, TEXT("Debug Log %d"), test); GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Blue, TEXT("Debug Log")); - 화면에 메시지 출력 FString으로 변환 변환 형식 변환 방법 float → FString FString::SanitizeFloat(FloatVariable); FString::printf(TEXT("%f", FloatVariable)); int → FString FString::FromInt(IntVariable); bool → FString InBool ? TEXT("true") : TEXT("false"); FVector → FString VectorVariable.To..

    [Unreal] 언리얼 아키텍처

    [Unreal] 언리얼 아키텍처

    Actor - 레벨에 배치할 수 있는 오브젝트를 말합니다. 액터는 이동, 회전, 스케일과 같은 3D 트랜스폼을 지원하는 범용 클래스입니다. - 트랜스폼 (위치, 회전, 스케일) 데이터를 직접 저장하지 않으며, 액터의 루트 컴포넌트에 트랜스폼 데이터가 존재하는 경우, 그 데이터를 사용합니다. - Component (컴포넌트) 라 불리는 특수 유형 Object (오브젝트)를 담는 그릇으로 생각해 볼 수 있습니다. - 플레이 도중 네트워크를 통한 프로퍼티 및 함수 호출의 리플리케이션 사용 가능. Component - 컴포넌트는 생성시 자신을 포함하고 있는 액터에 할당됩니다. Object - 모든 UE 객체의 기본 클래스입니다. Actor 라는 용어는 계층에서 AActor 에서 파생된 클래스의 인스턴스를 나타내..

    [Unreal] 이득우의 언리얼 C++ 게임개발의 정석 9

    새로운 모듈 추가 - 모듈 제작을 위한 필요한 요소 - 모듈 폴더와 빌드 설정 파일 : 모듈 폴더와 모듈명으로 된 Build.cs 파일 - 모듈의 정의 파일 : 모듈명으로 된 .cpp 파일 - TestEditor.Target.cs와 Test.Target.cs에 TestSetting을 추가해준다. - 새로운 DLL파일이 생성됐다면 언리얼 에디터가 이 DLL파일을 로딩하도록 명령해준다. - Test.uproject에서 새로운 모듈에 대한 정보를 기입해야 하는데 새로운 모듈을 다른 모듈보다 먼저 로딩하도록 LoadingPhase 값을 "PreDefault"로 설정하고 Test모듈이 TestSetting 모듈에 대해 의존성을 가지도록 설정한다. INI 설정과 애셋의 지연 로딩 #pragma once #inclu..

반응형