반응형
[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 AMyActor : public AActor
{
GENERATED_BODY()
public:
AMyActor();
public:
UPROPERTY(VisibleAnywhere)
class USpringArmComponent* SpringArm; // class를 앞에 붙여 전방 선언
UPROPERTY(VisibleAnywhere)
class UCameraComponent* Camera; // class를 앞에 붙여 전방 선언
};
// actor.cpp
#include "MyActor.h"
// Class를 사용하기 위해 헤더를 추가한다.
#include "GameFramework/SpringArmComponent.h"
#include "Camera/CameraComponent.h"
// CreateDefaultSubobject를 사용하기 위해 생성자에서 작업
AMyActor::AMyActor()
{
// 생성
SpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("SpringArm"));
Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));
// RootComponent를 부모로 한다.
SpringArm->SetupAttachment(RootComponent);
Camera->SetupAttachment(SpringArm); // 스프링 암에 고정시킨다.
// Arm의 길이와 Pawn회전을 사용
SpringArm->TargetArmLength = 500.0f;
SpringArm->bUsePawnControlRotation = true;
}
클래스 기반 블루프린트를 만들어 열어보면
액터에서 500만큼 떨어진 스프링암과 붙어있는 카메라를 확인할 수 있습니다.
반응형
'Unreal > Manual' 카테고리의 다른 글
Unreal C++ DefaultPawnClass 변경 하기 (1) | 2023.11.22 |
---|---|
Unreal C++ 캐릭터 SkeletalMesh 변경하기 (1) | 2023.11.22 |
Unreal C++ USpringArmComponent 컴포넌트 추가 (1) | 2023.11.22 |
Unreal 애니메이션 스켈레톤 변경 (0) | 2023.11.20 |
Unreal 캐릭터 Skeletal Mesh 스켈레톤 변경 (0) | 2023.11.20 |