관리 메뉴

Mini

로그와 디버깅 본문

UE5

로그와 디버깅

Mini_96 2022. 8. 7. 15:12

* 빈 액터에 의자 매쉬 집어넣기

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor.generated.h"

UCLASS()
class TESTUNREALENGINE_API AMyActor : public AActor
{
	GENERATED_BODY()
	
public:	
	// Sets default values for this actor's properties
	AMyActor();

protected:
	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

private:
	UPROPERTY(VisibleAnywhere);	//포인터타입 : visible->밖의 그래픽으로 조정가능
	UStaticMeshComponent* Mesh;

	UPROPERTY(EditAnywhere, Category=BattleStat);//일반타입 edit->밖의 그래픽조정
	int32 Hp;

	UPROPERTY(EditAnywhere, Category = BattleStat);
	int32 Mp;
};

UPROPERTY(인자) => 밖의 UI에서 값조종가능

AMyActor::AMyActor()
{
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;

	Mesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MESH"));

	static ConstructorHelpers::FObjectFinder<UStaticMesh> SM(TEXT("StaticMesh'/Game/StarterContent/Props/SM_Couch.SM_Couch'"));

	if (SM.Succeeded())
		Mesh->SetStaticMesh(SM.Object);
}

 

 

 

* 로그와 디버깅

// Called when the game starts or when spawned
void AMyActor::BeginPlay()
{
	Super::BeginPlay();
	
	//로그찍기
	//카테고리,수준,형식,인자
	UE_LOG(LogTemp, Warning, TEXT("Begin Play %d"), 3);
	
}

// Called every frame
void AMyActor::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	UE_LOG(LogTemp, Error, TEXT("Tick %f"), DeltaTime);
}

UE_LOG => 디버깅용 로그 찍기.

 

 - vs에서 솔루션 종류 :

debug : .exe파일을 만들어준다. 최적화가장 안됨, 실행시 리소스없다는 에러(-)

debug editor : 에디터위에서 돌아가는 .dll을 만듬 리소스에러X

dev,

dev editor,

sihpping : 가장 최적화 된버전, 디버깅에는 안좋음

 

* 의자 회전시키기

UPROPERTY(EditAnywhere, Category = BattleStat);
	float RotateSpeed=30.f;
// Called every frame
void AMyActor::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	//UE_LOG(LogTemp, Error, TEXT("Tick %f"), DeltaTime);

	AddActorLocalRotation(FRotator(0.f, RotateSpeed*DeltaTime, 0.f));
}

Z축 기준으로 의자회전

 

'UE5' 카테고리의 다른 글

스테이트 머신  (0) 2022.08.14
애니메이션 기초  (0) 2022.08.14
블루프린트 클래스  (0) 2022.08.11
캐릭터 생성  (0) 2022.08.08
게임플레이 프레임워크  (0) 2022.08.07