전체 글

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

Animation - 2

무기 발사 기능 InhancedInput을 사용하기 위해 InputAction을 생성해주고 IMC에 등록해 줍니다. 이후에 코드를 고쳐줍니다. ShooterCharacter.h protected: ... void FireWeapon(const FInputActionValue &Value); private: ... UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) class UInputAction *FireAction; ShooterCharacter.cpp void AShooterCharacter::FireWeapon(const FInputActionValue &Value) { U..

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

Animation

Animation Instance 새로운 cpp인 AnimInstance를 상속받는 ShooterAnimInstance를 생성해줍니다. ShooterAnimInstance.h // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "Animation/AnimInstance.h" #include "ShooterAnimInstance.generated.h" UCLASS() class SHOOTER_API UShooterAnimInstance : public UAnimInstance { GENERATED_BODY() public: UFUNCT..

Unreal 공부/UE5 GameDev

[UE5] 향상된 입력 사용하기, Enhanced Input

향상된 입력이란? 원래 언리얼에선 Project Settings에서 Engine > Input 탭에서 Mapping을 통해서 입력을 어떻게 받을지 결정하였다. 이후 SetupPlayerInputComponent 함수를 통해서 어떤 상호작용을 줄지 코딩하는 방법을 사용하였다. 하지만, 복잡한 입력 처리나 런타임 제어 리매핑 등, 보다 고급 입력 기능을 쓰는데 귀찮음이 있었고 이를 쓰기 쉽게 언리얼 5에서 새롭게 나온 Input 시스템이다. (개인적으로는 문자열에 의존성을 덜기 위해서이기도 한 것 같다.) 어떻게 보면 쉬운 로직은 더 귀찮아지긴 했지만, 멀리보면 좋은 기능인 거 같다... ※ 5.1 아래 버전의 주의사항 향상된 입력을 사용하기 위해서는 플러그인을 켜주어야 합니다. (5.1 이상은 Defaul..

Unreal 공부/Unreal Engine 4 C++ The Ultimate Shooter

[UE] C++에서 SpringArm과 Camera 구현하기

우선 헤더에 전방 선언을통해 포인터 변수를 생성해주고 ,Getter 함수를 UE INLINE 매크로로 선언해준다. ※ 전방 선언이란? include를 하면 코드의 양이 증가하는데, 헤더에서 변수 선언시 구현 부분(멤버 함수 및 변수)이 필요 없는 경우에는 [class USpringArmComponent] 처럼 사용하여 구현부의 링킹을 미룬다. 주로 CPP파일에서 구현 부분을 사용하기 때문에 헤더의 크기를 줄이는 기법이다. (하나의 헤더를 여러 cpp이 include할 때 필요한 구현 부분만 cpp가 include 할 수 있어 코드의 양을 줄여준다.) // ShooterCharacter.h class UCameraComponent; class USpringArmComponent; ... public: FO..

메카인
메카인의 지식창고