본문 바로가기

cpp17

[언리얼5] CPP 프로젝트에서 자주 사용되는 컴포넌트 정리 언리얼5엔진과 CPP언어를 사용하여 프로젝트를 진행하며 자주 사용하였던 컴포넌트들에대한 정리 입니다.자주 사용되는 컴포넌트1 UActorComponent 필요한 헤더: #include "Components/ActorComponent.h" 설명: 모든 컴포넌트의 기본 클래스입니다. 다른 모든 컴포넌트는 이 클래스를 상속받아 확장됩니다.2 USceneComponent 필요한 헤더: #include "Components/SceneComponent.h" 설명: 트랜스폼 정보(위치, 회전, 스케일)를 가지는 모든 컴포넌트의 기본 클래스입니다.3 UPrimitiveComponent 필요한 헤더: #include "Components/PrimitiveComponent.h" 설명: 렌더링 및 물리 시뮬레이션이 가능한 .. 2024. 6. 10.
[언리얼5] 언리얼 CPP 연산자 오버로딩 언리얼 CPP에서 연산자 오버로딩을 활용하면 클래스를 더 직관적으로 사용 할 수 있습니다.연산자 오버로딩은 클래스나 구조체에서 특정 연산자를 정의하여 객체 간의 연산이 가능합니다.기본 연산자 오버로딩의 종류대입 연산자 (=)산술 연산자 (+, -, *, /, %)비교 연산자 (==, !=, , =)논리 연산자 (&&, ||, !)비트 연산자 (&, |, ^, ~, >)증감 연산자 (++, --)배열 인덱스 연산자 ([])함수 호출 연산자 (())포인터 연산자 (*, ->)사용 예시1. 대입 연산자 (=) 대입 연산자는 객체를 다른 객체에 복사할 때 사용됩니다.class MyClass {public: int Value; MyClass& operator=(const MyClass& Other) {.. 2024. 6. 5.
[언리얼5] 클래스별 주로 구현하는 인터페이스 기능 인터페이스는 객체 간의 상호 작용을 위한 명확한 계약을 제공.특정 기능을 강제하는 방법으로 사용. 언리얼 엔진에서 CPP로 게임 개발을 진행할때 대략적인 클래스별로 자주 구현하는 인터페이스 기능.(네이밍은 프로그래머에의해 정해지며, 예시 네이밍은 기능과관련하여 알아보기위한 예/접두사는I) 플레이어 클래스에 주로 구현하는 인터페이스IInteractable플레이어가 상호작용할 수 있는 객체들(예: 아이템을 줍거나, 문을 여는 등)과의 인터페이스입니다. Interact 메소드를 포함할 수 있습니다.IMovable플레이어의 움직임을 처리하는 인터페이스입니다. Move, Jump 등의 메소드를 포함할 수 있습니다.IHealth플레이어의 생명력을 관리하는 인터페이스입니다. TakeDamage, Heal 등의 메소드.. 2024. 5. 27.
[언리얼5] 언리얼 CPP 자주쓰는 헤더 정리 컴포넌트 관련 헤더 파일 기본 컴포넌트PrimitiveComponent: #include "Components/PrimitiveComponent.h"StaticMeshComponent: #include "Components/StaticMeshComponent.h"SkeletalMeshComponent: #include "Components/SkeletalMeshComponent.h"SceneComponent: #include "Components/SceneComponent.h"카메라와 입력CameraComponent: #include "Camera/CameraComponent.h"SpringArmComponent: #include "GameFramework/SpringArmComponent.h"Input.. 2024. 5. 16.
[언리얼] 델리게이트 & 이벤트 특징 및 차이 델리게이트(Delegate)델리게이트는 함수 포인터의 일종함수를 캡슐화하여 저장하고 호출 할 수 있게 한다.콜백 매커니즘을 사용델리게이트는 클래스 내부와 외부에서 모두 바인딩 할 수 있다.런타임중 호출 대상을 변경 할 수 있다.1. A 클래스에서 매개변수(int32형)1개의 델리게이트를 선언// A.h#pragma once#include "CoreMinimal.h"class A : public UObject{ GENERATED_BODY()public: DECLARE_DELEGATE_OneParam(FMyDelegate, int32); // 정수형 매개변수를 가지는 델리게이트 선언 void DoSomething(int32 Value) { // A 클래스의 기능 구현 .. 2024. 5. 9.
[언리얼5] 동적 크로스 헤어 사격하기위한 위치를 표시하는 CrossHair를 HUD를 통하여 화면에 그린다. 이때 플레이어의 다양한 움직임의 조건에 의하여 화면에 그려지는 크로스헤어는 벌어지거나 화면의 중심으로 모이는 움직임을 구현. 게임모드에 사용될 HUD 클래스를 생성 이때 크로스헤어는 동적으로(벌어지는 모션)움직여야 하기때문에 한장의 텍스처가아닌 크로스헤어의 중심, 상, 하, 좌, 우 5개의 변수로 나누고 텍스처를 적용 한다. HUD 클래스에 구조체를 만들어 각각 Center, Left, Right, Top, Bottom 멤버 변수로 생성 HUD 클래스는 Tick이아닌 DrawHUD를 통하여 매프레임 화면에 텍스처를 그린다. 화면에 텍스처를 그릴때에 주의해야할 점은 텍스처의 좌표체계는 UV 좌측상단이 0,0 우측하단이 1,1의.. 2024. 3. 6.