호경

Unreal Engine 4 : (2) 변수, 접근지정자, 프로퍼티, 생성자 본문

캡스톤 졸업작품/언리얼 엔진 4

Unreal Engine 4 : (2) 변수, 접근지정자, 프로퍼티, 생성자

rlaghrud1234 2022. 3. 2. 02:03

시작에 앞서...

학부 연구생으로 활동하고 있는 도중에

교수님께 새로운 IC-PBL 강좌로 언리얼 엔진 관련해서 개설한다고 하셨다.

 

이전부터 게임 개발 관련해서도 관심이 많았었는데, 이번 기회에 언리얼 엔진에 대해 제대로 배울 수 있을 것 같아, 강의 개설에 참여한다고 말씀드렸다.

 

블로그에서 다룰 툴은 언리얼 엔진 4이며,

모든 내용은 유튜브 채널 "베르의 게임 개발 유튜브"에서 참고했다.

https://www.youtube.com/channel/UC9j37A2ACL9ooSbsT4mtGww/featured : 베르의 게임 개발 유튜브

 


목차

- 정리

- C++ 코드 및 결과 사진


정리

 

코드가 들어가지 않은 포스팅이라

필기한 내용이 포스팅 내용이다.

 

 

 


C++코드 및 결과 사진

 

헤더 파일에 작성한 코드는 다음과 같다.

 

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

#pragma once

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

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

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Damage")
		int32 TotalDamage; //32비트 int형 TotalDamage 변수

	UPROPERTY(EditAnyWhere, BlueprintReadWrite, Category = "Damage")
		float DamageTimeInSeconds; //float형 DamageTimeInSeconds 변수

	UPROPERTY(BlueprintReadOnly, VisibleAnywhere, Transient, Category = "Damage")
		float DamagePerSeconds; //float형 DamagePerSeconds 변수

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
		FString CharacterName; //문자열형 CharacterName 변수

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
		bool battleenable; //논리형 battleenable 변수

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

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

};

 

그리고 다음과 같이 소스파일의 AMyActor1 생성자에 기본값을 다음과 같이 작성했다.

AMyActor1::AMyActor1()
{
 	// 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;

	TotalDamage = 200;
	DamageTimeInSeconds = 2.0f;
	DamagePerSeconds = 3.0f;
	CharacterName = TEXT("HoKyung");
	battleenable = true;
}

 

이와 같이 MyActor 클래스의 헤더파일과 소스 파일을 다음과 같이 작성하고 컴파일 한 뒤,

MyActor1 인스턴스를 화면에 배치하고, 디테일을 확인해보면 다음과 같이 나옴을 확인할 수 있다.

 

 

MyActor 인스턴스 디테일 창

 

앞으로, 기초적인 자습 내용은 "베르"님 유튜브를 참고하면서 할 예정이며, 포스팅 할 예정이다.

더 나아가 자신만의 게임을 만들어 보는 것을 개인 프로젝트로 해볼 것이며,

IC-PBL 강좌 개설 때는 VR/AR과 연동하실 계획이시라고 하니, 그 부분에 대해서도 자습 후 포스팅 할 예정이다.

 

졸업 작품도 이 쪽으로 해보면 굉장한 경험이 될 것이라고 생각한다.

Comments