본문 바로가기
반응형

Unreal/Manual132

Unreal C++ CreateWidget과 AddToViewport() [Unreal/C++] CreateWidget과 AddToViewport() C++ 클래스 코드를 이용하여 화면에 Widget띄우기 1. 위젯 클래스 생성2. 위젯 클래스 기반 블루프린트 생성3. 위젯 디자인4. 코드 작성 먼저 UserWidget을 상속받는 C++ 클래스를 하나 만들어 줍니다.별다른 코드 없이 디자인 기능만 갖춘 위젯을 화면에 띄울 예정입니다. 콘텐츠 폴더에서 위젯 블루프린트를 하나 생성합니다.(클래스 우클릭 후 기반 블루프린트 만들기를 하면 디자이너 탭이 보이지 않는 문제가 있습니다.)생성한 클래스를 상속받아 위젯 블루프린트를 만듭니다.위젯 블루프린트의 접두사는 WBP로 시작합니다. 위젯 블루프린트를 디자인 합니다.똑같이 만들 필요는 없으며 캔버스 패널위에 이미지 하나만 올려두셔도 됩.. 2023. 11. 26.
Unreal 캐릭터 AimOffset 구현하기 [Unreal] 캐릭터 AimOffset 구현하기에임 오프셋은 캐릭터의 무기 조준시 도움이 되는 블렌딩가능 포즈 시리즈가 저장된 애셋입니다.여러가지 면에서 에임 오프셋은 BLend Space(블렌드 스페이스)와 똑같습니다. 캐릭터를 구현할 때 이동 기능과 회전 기능이 있다면 상향 가운데, 가운데, 하향 가운데 3개의 AimOffset만으로 충분합니다. 한 장소에 멈춰 있는 경우에만 9방향이나 15방향 AimOffset 기능 구현을 고려하는 것이 좋습니다. 준비1. 사용하려는 캐릭터의 스켈레탈 메시와 기본 애니메이션2. 에임 오프셋으로 만들 최소 9방향 애니메이션 본 글에서는 15방향 에임 오프셋을 제작할 예정입니다. 에임 오프셋은 애디티브 에임 타입의 메시 스페이스를 가진 애니메이션만 받습니다! 에임 오.. 2023. 11. 24.
Unreal 캐릭터 걷기, 뛰기, 전력질주 Blend Space 구현 [Unreal] 캐릭터 걷기, 뛰기, 전력질주 Blend Space 구현 블렌드 스페이스는 다수의 애니메이션 또는 포즈를 1차원 또는 2차원 그래프로 구성하여 블렌딩할 수 있는 에셋입니다. 그런 다음 게임플레이 입력 또는 다른 변수를 통해 블렌딩을 제어할 수 있는 애니메이션 블루프린트 내에서 이 그래프를 레퍼런스할 수 있습니다. 블렌드 스페이스를 사용하면 거의 모든 유형의 블렌딩 배열을 애니메이션에 사용할 수 있습니다. 프로젝트에 다양한 방향의 스켈레탈 메시(Skeletal Mesh) 또는 유사한 애니메이션 시퀀스(Animation Sequence) 를 임포트한 상태여야 합니다.블렌드 스페이스는 여러 포인트에서 그래프를 따라 애니메이션을 지정하는 에셋입니다. 이 포인트를 샘플(sample) 이라고 합니다.. 2023. 11. 22.
Unreal C++ AnimInstance 구현 [Unreal/C++] AnimInstance 구현 AnimInstance를 상속받는 클래스 생성 코드 작성// MyAnimInstance.h#pragma once#include "CoreMinimal.h"#include "Animation/AnimInstance.h"#include "DefaultCharacterAnimInstance.generated.h"UCLASS()class MAINPROJECT_API UDefaultCharacterAnimInstance : public UAnimInstance{ GENERATED_BODY() // UAnimInstance에 작성된 BeginPlay와 update를 오버라이드public : virtual void NativeBeginPlay() override; .. 2023. 11. 22.
Unreal C++ 기본 캐릭터 움직임, 설정 구현 [Unreal/C++] 기본 캐릭터 움직임, 설정 구현 캐릭터에1. SpringArmComponent, CameraComponent를 추가한다.2. SkeletalMesh를 변경한다.3. 키보드의 W, S, A, D키를 받아 X, Y축 이동을 구현한다.4. 마우스의 움직임을 받아 카메라의 X,Y 축 회전을 구현한다. 먼저 캐릭터를 상속받는 클래스를 만든다.  생성시 기본 형태는 생성자와 BeginPlay, Tick, SetupPlayerInputComponent 함수가 있습니다.하단에 입력을 받을 함수와 컴포넌트 변수를 선언해줍니다.// MyCharacter.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include .. 2023. 11. 22.
Unreal C++ DefaultPawnClass 변경 하기 [Unreal/C++] DefaultPawnClass 변경 하기 1. GameModeBase를 상속받는 클래스 생성2. 생성자에서 Pawn Class 가져오기3. DefaultPawnClass 지정 GameModeBase를 상속받는 클래스 생성코드 작성// MyGameModeBase.h에서는 별다른 작업이 필요 없다.// MyGameModeBase.cpp#include "MainProjectGameModeBase.h"#include "MyCharacter.h" // 내 클래스 가져오기AMyGameModeBase::AMyGameModeBase(){ // Character나 Actor나 Pawn을 상속받기 때문에 APawn으로 받아도 무관 ConstructorHelpers::FClassFinder pawn(.. 2023. 11. 22.
Unreal C++ 캐릭터 SkeletalMesh 변경하기 [Unreal/C++] 캐릭터 SkeletalMesh 변경하기 C++ 코드를 이용해서 캐릭터의 SkeletalMesh와  Location, Rotation을 변경 하겠습니다. 이 글에서는 SpringArm 과 Camera 컴포넌트를 포함하지 않습니다. 준비사항1. 캐릭터를 상속받는 C++ 클래스를2. 기본으로 지정하고자 하는 SkeletalMesh  // MyCharacter.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Character.h"#include "MyCharacter.generated.h"UCLASS()class MAINPROJECT_API MyCharacter : public ACharacter{ GENERATED_BODY().. 2023. 11. 22.
Unreal C++ UCameraComponent 컴포넌트 추가 [Unreal/C++] UCameraComponent 컴포넌트 추가 Camera는 보통 SpringArm과 함께 쓰이기 때문에 추가 했습니다.USpringArmComponent과 UCameraComponent를 사용하기 위해 헤더를 추가합니다. #include "GameFramework/SpringArmComponent.h"#include "Camera/CameraComponent.h" CreateDefaultSubobject는 생성자에서 사용이 가능하다.// actor.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "MyActor.generated.h"UCLASS()class CPP_AIMOVE_API AMyA.. 2023. 11. 22.
Unreal C++ USpringArmComponent 컴포넌트 추가 [Unreal/C++] USpringArmComponent 컴포넌트 추가 USpringArmComponent의 헤더파일#include "GameFramework/SpringArmComponent.h" CreateDefaultSubobject는 생성자에서 사용이 가능하다.// actor.h#pragma once#include "CoreMinimal.h"#include "GameFramework/Actor.h"#include "MyActor.generated.h"UCLASS()class CPP_AIMOVE_API AMyActor : public AActor{ GENERATED_BODY()public: AMyActor();public: UPROPERTY(VisibleAnywhere) class USpringA.. 2023. 11. 22.
Unreal 애니메이션 스켈레톤 변경 [Unreal] 애니메이션 스켈레톤 변경 애니메이션의 스켈레톤이 다른 에셋으로 잡혀있을 경우 변경하는 방법을 찾기가 어렵다. 이 방법은 파라곤 에셋을 사용하면서 나타나는 문제점?을 해결한 것 입니다.스켈레톤 구조가 같고 다른점이 거의 없기 때문에 가능한 것인지 다른 에셋들도 가능한 것인지 확실하지 않습니다.이미 작업을 완료한 상태라 방법만을 기재합니다. 작업 전 주의*이 방법은 참조하는 에셋들을 모두 대체하고 삭제하는 방법입니다.기존 스켈레톤을 참조하고있는 애니메이션이 다수인 경우 사용 합니다. 1. 변경이나 대체하고자하는 스켈레톤을 우클릭하여 에셋 액션 -> 레퍼런스 대체를 클릭합니다. 2. 레퍼런스 대체창이 나오면 다른 스켈레톤을 드래그드롭해서 추가합니다.3. 남겨질 에셋에 체크를합니다. (체크를 하.. 2023. 11. 20.
Unreal 캐릭터 Skeletal Mesh 스켈레톤 변경 [Unreal] 캐릭터 Skeletal Mesh 스켈레톤 변경 스켈레톤 변경이 막혀있는 경우Skeletal Mesh에서 우클릭 후 스켈레톤->스켈레톤 할당피직스 에셋 등은 드롭다운 목록에서 변경할 수 있다.  나머지 스켈레톤이나 피직스 에셋에서 보이는 모습을 변경하고 싶다면 프리뷰 메시를 바꿔준다. 2023. 11. 20.
Unreal The Game has crashed and will close [Unreal] The Game has crashed and will closeFatal error.[File:F:\UnrealEngine-5.0\Engine\Source\Runtime\CoreUObject\Private\UObject\Obj.cpp] [Line:117]No object initializer found during construction. 생성 중에 개체 이니셜라이저를 찾을 수 없습니다.  생성자에서 CreateDefaultSubobject를 해줬어야 했는데 다른 곳에서 사용해서 오류가 났다.CreateDefaultSubobject는 생성자에서만 사용할 수 있다. 2023. 11. 20.
반응형