분류 전체보기 516

[Unreal5] 데이터관리 (GameplayeTags, AssetManager, DataSet)

GameplayTags언리얼 엔진에서 게임 내에서 사용되는 태그 시스템입니다. 이는 게임 객체에 추가 정보를 부여하고 분류하는 데 사용됩니다. 예를 들어, 캐릭터, 아이템, 스킬 등에 대해 특정 기능이나 카테고리를 할당하고 식별하는 데 사용된다. 사용방법.Build.cs 파일에 GameplayeTags를 추가한다.PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "GameplayeTags" }); 헤더파일과 CPP파일 생성헤더파일#pragma once#include "NativeGameplayTags.h"namespace R1GameplayTags{ ..

Unreal 2024.06.05

[Unreal5] 입력 설정 함수

SetupInputComponentAPawn 클래스와 그 하위 클래스에서 사용되는 함수입니다. 이 함수는 Pawn에 대한 입력 설정을 처리합니다. AActor 클래스에서도 사용될 수 있습니다..hprotected: // Called to bind functionality to input virtual void SetupInputComponent() override; // Movement functions void MoveForward(float Value); void MoveRight(float Value);.cppvoid AMyPawn::SetupInputComponent(){ Super::SetupInputComponent(); InputComponent-..

Unreal 2024.06.05

[C++] && 오른 값 참조(move)와 보편 참조(forward)

1. 오른값 참조 (Rvalue reference)기본적으로 왼값(lvalue)은 메모리에 지속적으로 존재하는 객체를 가리키는 표현식이며, 오른값(rvalue)은 메모리에서 임시로 생성되거나 이동할 수 있는 객체를 가리키는 표현식입니다.오른값 참조는 기존의 왼값 참조와 구분하기 위해 Type&& 형태로 표기됩니다. 객체의 내용을 다른 객체로 이동하여 복사 비용을 최소화하고 성능을 향상시키는 기법입니다. 이를 통해 객체를 복사하는 대신 소유권을 이동시켜 효율적으로 작업할 수 있습니다.  Type&& 형태로 사용되며, Type은 임의의 타입을 나타냅니다. 오른값 참조는 오른값(임시 객체나 이동 가능한 객체)에만 바인딩됩니다.#include #include void process(int&& value) { ..

VisualStudio/C++ 2024.06.04

[VS]Visual Studio LNK1168: 쓰기용으로 열 수 없습니다. 오류

https://learn.microsoft.com/ko-kr/cpp/error-messages/tool-errors/linker-tools-error-lnk1168?view=msvc-170 링커 도구 오류 LNK1168자세한 정보: 링커 도구 오류 LNK1168learn.microsoft.com 링커 도구오류로 파일이 사용 중이고 파일 핸들이 다른 프로세스에 의해 잠겨 있거나 파일 또는 파일이 있는 디렉터리나 네트워크 공유에 대한 쓰기 권한이 없을 때 발생한다. 즉 프로세스가 종료되지 않고 계속 돌아가고 있기 때문에 발생한다.프로세스를 제거해주면 해결된다. 1. cmd창에 tasklist 입력2. cmd 창에 ctrl+f를 하여 찾기를 열어 프로세스 명을 입력하고 찾고자하는 프로세스 PID를 찾는다.3...

VisualStudio 2024.06.04

[Unreal5] Input Action와 Input Mapping Context 사용방법

Input Action 플레이어의 입력을 처리하기 위한 중요한 구성 요소로 게임 내에서 키보드, 마우스, 게임패드 등 다양한 입력 장치를 통해 발생하는 이벤트를 간편하게 관리하고 처리할 수 있습니다. Value TypeValue Type 설명Digital설명: 디지털 입력은 이진 입력입니다. 즉, 입력이 참(True) 또는 거짓(False)인 경우를 처리합니다. 키보드의 키 누름, 마우스 버튼 클릭, 게임패드 버튼 누름과 같은 입력에 사용됩니다.예: 스페이스바를 눌러 점프하는 동작, 마우스 왼쪽 버튼을 눌러 총을 쏘는 동작. UEnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Triggered, this, &AMyCharacter::Jump);..

Unreal 2024.06.03

[Unreal5] Component 추가 및 속성 변경

구조헤더 UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly) TObjectPtr CapsuleComponent; UPROPERTY(Category = Character, VisibleAnywhere, BlueprintReadOnly) TObjectPtr Mesh; UPROPERTY( VisibleAnywhere, BlueprintReadOnly) TObjectPtr SpringArm; UPROPERTY( VisibleAnywhere, BlueprintReadOnly) TObjectPtr Camera;CPPCreateDefaultSubobject는 클래스의 서브 오브젝트를 생성하는 데 사용되는 함수입니다. 이 함수는 주로 Actor나 ..

Unreal 2024.05.30

[Unreal5] 특정 조건에 맞는 액터를 찾기 및 이동

Pawn 찾기GetPawn()현재 컨트롤러가 소유하고 있는 Pawn에 대한 참조를 가져오는 역할을 합니다. APawn* ControlledPawn = GetPawn();조건에 맞는 액터 찾기UGameplayStatics::GetActorOfClassUGameplayStatics::GetActorOfClass는 월드 내에서 지정된 클래스의 첫 번째 인스턴스를 반환하는 함수입니다. 주로 특정 클래스의 액터가 하나만 존재하거나, 첫 번째로 발견된 액터만 필요할 때 사용됩니다.AMyActorClass* MyActor = Cast(UGameplayStatics::GetActorOfClass(GetWorld(), AMyActorClass::StaticClass()));if (MyActor){ // MyActo..

Unreal 2024.05.28

[Unreal5] 오브젝트 Load 방법 및 생성

TSubclassOf와 ObjectPtrTSubclassOf지정된 기본 클래스에서 파생된 클래스만 참조하는 걸 보장한다.ObjectPtrUnreal Engine 5에서 도입된 새로운 스마트 포인터 타입입니다. 이 포인터는 UObject 참조를 더 안전하고 효율적으로 관리하기 위해 설계되었습니다. TObjectPtr는 기존의 UObject* 대신 사용할 수 있다. UPROPERTY() TObjectPtr Actor; UPROPERTY() TSubclassOf ActorClass;//AR1Actor를 상속받은 모든걸 담을 수 있다. ConstructorHelpers::FClassFinder (초기화 시점 사용)ConstructorHelpers::FClassFinder는 주로 UClass 타입의 클래스를 로드..

Unreal 2024.05.28

[C#] is 와 as

C#에서 is와 as 키워드는 타입 검사를 수행하고 타입 변환을 안전하게 처리하는 데 사용됩니다. 이 키워드들은 특히 상속 관계에 있는 객체를 다룰 때 유용합니다.is 키워드is 키워드는 객체가 특정 타입인지 확인할 때 사용됩니다. 객체가 해당 타입이거나 해당 타입에서 파생된 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 또한, C# 7.0부터는 is 키워드를 사용하여 변환된 결과를 새로운 변수에 할당할 수도 있습니다.class Base { }class Derived : Base { }class Program{ static void Main() { Base b = new Derived(); if (b is Derived) { ..

VisualStudio/C# 2024.05.27

[C++서버] IOCP(Completion Port) 모델

Overlapped 콜백기반은 비동기 입출력 함수가 완료가 되면 스레드마다 있는 APC 큐에 일감이 쌓인다.Alertable Wait 상태로 들어가면 APC큐를 전체 비운다. (콜백 함수 호출)APC큐는 쓰레드마다있기 때문에 멀티 스레드 환경에서 적절하게 배분하는데 어려움이 있다.( Alertable Wait 상태로 들어가 APC큐를 비워야 하기 때문이다.)  또 한 Alertable Wait 계속 호출하는 부담이 있다. Overlapped  이벤트 방식으로는 소켓과 이벤트를 1대 1로 대응해야 하고 그리고 감시할 수 있는 수량도 64개 밖에 되지 않기 때문에 많은 수의 이벤트를 관찰하기 어렵다.  이런 문제를 보안하기 위해IOPC(Completion Port) 방식이 나오게 된다. IOPC모델은 Ove..