일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 도선생님 신경론
- 한글 가운뎃점
- 롤에 돈얼마나썼지
- 롤 현질얼마나 했는지보기
- 앤드류 테이트
- 자바스크립트 defer
- 비주얼스튜디오 코드 글꼴
- 롤 현질금액보기
- 백준
- 자바메모
- 스팀 돈얼마나 썼는지보기
- 어도비플래시서비스종료
- c++
- 티스토리전체글수
- 도파 신경론
- 스팀 사용 금액
- 티스토리 코드블록
- Class1
- 언리얼
- 티스토리 전체글수표시
- 게임 네트워킹
- 스팀에 돈 얼마나 썼지
- 어도비플래시삭제
- 가운뎃점 입력
- 쿠르츠 게작트
- 티스토리사진
- 신경론
- 티스토리사진한줄에 여러개
- 비주얼스튜디오 코드 폰트
- 명언
- Today
- Total
Small Step
[언리얼,C++] 언리얼 C++ 프로그래밍 입문(베르 유튜브 0) 본문
언리얼에서 C++ 프로그래밍을 공부한 것을 정리해놓은 글이다.
https://www.youtube.com/channel/UC9j37A2ACL9ooSbsT4mtGww
베르라는 한국 유튜브중 언리얼 강좌가 있어 이걸 입문용으로 공부하려 한다.
이분 강좌를 쭉 한번 봐보고 그 뒤 배터리 콜렉터 강좌를 봐봐야겠다.
언리얼 엔진은 공식 문서들은 다양한 버전으로 정리가 잘 안 되어 있는데 이걸 정리한 강좌이다.
언리얼 4와 5강의 둘다 있어서 서로 비교하면서 봐야겠다.
액터를 상속받은 C++ 클래스 생성 ( MyActor01 )
액터 : 레벨에 배치할 수 있는 오브젝트
콘텐츠 브라우저에서
C++ 클래스 - 프로젝트 이름 폴더내의 존재
MyActor01.cpp 파일과 MyActor01.h파일이 생성됨
//MyActor01.cpp
// Fill out your copyright notice in the Description page of Project Settings.
#include "MyActor01.h"
// Sets default values
AMyActor01::AMyActor01()
{
// 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;
}
// Called when the game starts or when spawned
void AMyActor01::BeginPlay()
{
Super::BeginPlay();
}
// Called every frame
void AMyActor01::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}
헤더파일
헤더파일 : 클래스를 선언하고 클래스에 속하는 변수와 함수의 원형을 선언하는 용도.
//MyActor01.h
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MyActor01.generated.h"
UCLASS()
class BERL02_API AMyActor01 : public AActor
{
GENERATED_BODY()
public:
// Sets default values for this actor's properties
AMyActor01(); // 생성자
protected:
// Called when the game starts or when spawned
virtual void BeginPlay() override;
public:
// Called every frame
virtual void Tick(float DeltaTime) override;
};
생성자는 클래스의 이름과 같다.
헤더파일에는 생성자와 BeginPlay()함수와 Tick() 함수가 존재.
BeginPlay() : 엑터가 배치된 월드에서 게임이 시작되거나 액터가 월드에 스폰되었을 때 한번 호출됨
Tick() : 매 프레임마다 호출됨. 매개변수 DeltaTime을 이용하여 Tick 함수가 지난 번에 호출된 이후로
얼마의 시간이 경과한 뒤에 다시 Tick 함수가 호출되었느지에 대한 시간을 전달받을 수 있음.
틱 함수는 엑터가 존재하는한 계속 실행됨
틱함수를 줄여서 최적화 가능.
틱 함수 비활성화
헤더파일과 소스파일에서 Tick함수를 제거하고
PrimaryActorTick.bCanEverTick = true;
소스파일의 생성자에 있는 이 코드를 삭제해줌.
UE_LOG(LogTemp, Log, TEXT() ) : 로그를 출력해줌.
컴파일
언리얼 5부터는 메인툴에서 컴파일 버튼이 사라지게 됨.
콘솔 명령창에
LiveCoding.Compile 명령어를 입력하거나
Ctrl + Alt + F11 단축키를 이용
비주얼 스튜디오에서 빌드 - 솔루션 다시 빌드 이용
'언리얼' 카테고리의 다른 글
[언리얼, 블루프린트] 공부 정리 - [공식 튜토리얼] 블루프린트 핵심 개념 (0) | 2022.08.08 |
---|---|
[언리얼, 머티리얼] 공부 정리 - [공식 튜토리얼] 머티리얼 핵심 개념 (0) | 2022.08.08 |
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 함수, 블루프린트, 입력) (0) | 2022.08.06 |
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 함수) (0) | 2022.08.06 |
[언리얼,C++] 언리얼 C++ 공부 정리(베르 - 1.변수, UPROPERTY) (0) | 2022.08.06 |