데이터 테이블에 사용할 구조체 만들기
·
내배캠/Unreal Engine
Item 클래스의 데이터를 정리한다고 했을 때,어떤 아이템이 몇 %확률로 스폰되는지를 코드로 직접 하드 코딩하면 매번 수정할 때마다 빌드를 해줘야하는 번거로움이 있다. 언리얼 엔진의 데이터 테이블을 사용하면, 이를 엑셀(csv)나 JSON파일로 관리해서 엔진안으로 임포트하고, 코드나 블루프린트에서 쉽게 불러 쓸 수 있다.만약 데이터의 수정이 필요하다면 기획자나 디자이너도 엑셀에서 숫자만 바꾸어, 엔진에서 reimport만 해주면 되어 편리하게 수정할 수 있다.struct는 class가 아니기에 부모 클래스를 선택할 수 없다.따라서 None을 선택한다 #pragma once#include "CoreMinimal.h"class STRIKEZONE_API ItemSpawnRow{public: DefaultRo..
DataTable 만들기(CSV, Unreal)
·
내배캠/Unreal Engine
DataTable에 사용할 구조체 만들기https://dong-grae.tistory.com/135 데이터 테이블에 사용할 구조체 만들기Item 클래스의 데이터를 정리한다고 했을 때,어떤 아이템이 몇 %확률로 스폰되는지를 코드로 직접 하드 코딩하면 매번 수정할 때마다 빌드를 해줘야하는 번거로움이 있다. 언리얼 엔진의 데이터dong-grae.tistory.com       CSV파일 작성 및 언리얼 임포트 엑셀 시트에 1행 2열부터 Key값으로 사용할 값을 Column 이름으로 작성한다. 1행 1열은 언리얼 엔진에서 자동으로 "RowName"으로 인식하기 때문이다.2행부터 각 아이템의 정보를 한 줄씩 기록한다.경로는 각 클래스를 우클릭하여, "Copy Reference"를 눌러 경로를 복사할 수 있다.만약..
인터페이스 기반 아이템 클래스 구현_1_인터페이스 설계
·
내배캠/Unreal Engine
Item 인터페이스// ItemInterface.h#pragma once#include "CoreMinimal.h"#include "UObject/Interface.h"#include "ItemInterface.generated.h"UINTERFACE(MinimalAPI)class UItemInterface : public UInterface{ GENERATED_BODY()};class STRIKEZONE_API IItemInterface{ GENERATED_BODY()public: UFUNCTION() virtual void OnItemOverlap( UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponen..
Delegate
·
내배캠/Unreal Engine
Delegate 언리얼 엔진의 이벤트 시스템에서 사용되는 핵심 요소이다.다른 엔진이나 언어의 Call Back과 유사한 개념으로, 특정 이벤트가 발생했을 때, 호출할 함수를 미리 등록해놓는 메커니즘이다. Delegate에 바인딩할 때, AddDynamic으로 런타임에 동적으로 등록하려고 한다면 등록 함수가 엔진의 리플렉션 시스템을 사용하여 객체와 연결되어 있어야 하기 때문에, 반드시 UFUNCTION( ) 으로 선언되어야 한다.또한 AddDynamic은 UObject 기반의 클래스에서만 사용 가능하다. 그렇다면 왜 런타임에 동적으로 등록할까?객체는 게임이 시작하고나서 동적으로 생성될 수 있다. 이런 경우에 객체의 특정 이벤트를 처리하기 위해서는 Delegate를 동적으로 연결해야한다. AddDynamai..
UPrimitiveComponent
·
내배캠/Unreal Engine
UPrimitiveComponent 물리와 상호작용을 지원하는 컴포넌트 기반 클래스이다.모든 그래픽 객체(메시, 콜리전 박스 등)와 물리 관련 컴포넌트는 이 클래스를 기반으로 확장된 것이다.즉, 언리얼 엔진에서 물리적 동작, 충돌, 그리고 시각적 표현을 처리할 수 있는 컴포넌트를 위한 기본 클래스이다.또한 추상클래스이기 때문에 직접적으로 사용하기 보다는 이를 기반으로한 하위 클래스를 사용하게 된다.  특징:1. 렌더링:게임 화면에 표시될 수 있는 형상을 가지며, 모든 렌더링 가능한 컴포턴트의 기반 클래스ex: UStaticMeshComponent, USkeletalMeshComponent 등 2. 물리와 충돌 처리:물리적 상호작용(중력, 이동, 회전 등)과 충돌 이벤트를 처리하는 기능을 제공한다.ex: ..
Animation Blueprint로 캐릭터 애니메이션 구현
·
내배캠/Unreal Engine
Event Graph 먼저 캐릭터 애니메이션 동작을 결정하기 위해 EventGraph에서 CharacterMovementComponent에서 정보들을 가져와 저장하는 과정을 거쳤다.Event BlueprintInitialize Animation: ABP가 초기화 될 때, 딱 한 번 호출되는 Event 메서드Get Owning Actor를 통해 현재 애니메이션이 적용되고 있는 Actor를 가져와 Character로 CastingCharacter를 통해 CharacterMovementComponent를 가져옴Character와 Character Movement를 변수로 저장   캐릭터의 이동속도, 움직이고 있는지, 공중에 있는지에 대한 정보를 변수로 저장하였다.아래에서 각 정보를 어떻게 저장했는지 자세히 정..