25.01.23 (목)
·
내배캠/TIL
https://dong-grae.tistory.com/127 Animation Blueprint로 캐릭터 애니메이션 구현Event Graph 먼저 캐릭터 애니메이션 동작을 결정하기 위해 EventGraph에서 CharacterMovementComponent에서 정보들을 가져와 저장하는 과정을 거쳤다.Event BlueprintInitialize Animation: ABP가 초기화 될 때, 딱 한 번dong-grae.tistory.com 애니메이션 Transition 조건으로 사용하기 위해 ChracterMovement의 데이터를 미리 EventGraph를 통해 저장해놓는 방법에 대해 알게 되었다. 그리고 캐릭터의 회전 값에 따라 애니메이션을 변경하길 원했는데, CharacterMovementCompone..
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를 변수로 저장   캐릭터의 이동속도, 움직이고 있는지, 공중에 있는지에 대한 정보를 변수로 저장하였다.아래에서 각 정보를 어떻게 저장했는지 자세히 정..
25.01.22 (수)
·
내배캠/TIL
https://dong-grae.tistory.com/123 Enhanced Input System인풋 액션의 연결 개념 1. PlayerController는 Enhanced Input Subsystem을 통해 IMC를 활성화한다.2. 이 IMC는 키보드/마우스/게임패드 등의 입력을 IA에 매핑한다.3. PlayerController가 유저의 Input을 받아 IA을 트dong-grae.tistory.com 강의에서 배웠던 Enhanced Input System을 정리하였다. 이전에도 공부했던 내용이었는데, 막상 혼자서 코드를 짰을 때 어떻게 했었는지 기억이 안날 때가 많았다.이번 강의에서는 사용자가 Input을 하였을 때 PlayerController가 IMC에 바인딩된 InputAction을 트리거되..
FMath::Sin 함수 사용해서 부유하는 느낌의 플랫폼 만들기
·
내배캠/Unreal Engine
* 헤더파일#pragma once#include "CoreMinimal.h"#include "MovingPlatform.h"#include "FloatingSinePlatform.generated.h"UCLASS()class STRIKEZONE_API AFloatingSinePlatform : public AMovingPlatform{ GENERATED_BODY()private: FVector StartLocation; float RunningTime;public: AFloatingSinePlatform(); virtual void MovePlatform(float DeltaTime) override;protected: UPROPERTY(EditInstanceOnly, BlueprintReadWrite,..