Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 백준 dfs
- 백준 패션왕 신해빈
- c++ split
- 백준 10709
- 백준 14246번 K보다 큰 구간
- 백준 9375번 패션왕 신해빈
- 백준 14246번
- 서울사대부고 학원
- 백준 한국이 그리울 땐 서버에 접속하지
- 성북구 학원
- c++ 조합
- 백준 토마토
- 월곡중 학원
- 월곡역 학원
- C++ 9996
- 월곡중학교 학원추천
- OS
- 운영체제
- 상월곡동 학원
- 백준 1049번
- 백준 K보다 큰 구간
- 월곡동 학원추천
- DFS
- 백준 1049번 기타줄
- C# 병합정렬
- 상월곡역 학원
- C++ 문자열
- 고정 소수점
- 관리형 학원
- 백준 2309번 일곱 난쟁이
Archives
- Today
- Total
키베이루's diary
언리얼 Chapter 2 본문
액터의 설계
Actor : 월드의 특정 공간에서 자신에게 주어진 역할을 수행하는 물체
레벨 : 플레이어에게 주어지는 스테이지, 레벨을 설계한다 = 스테이지를 조립한다
컴포넌트 : 액터의 규격화된 기능
※액터가 두 개의 스태틱 메시 컴포넌트를 가지기 위해서는 UStaticMeshComponent 클래스 포인터 선언을 해줘야 한다.
Fountain.h 에서 UStaicMeshComponent *Body, UStaicMeshComponent *Water 선언
언리얼에서 객체를 자동으로 관리하도록 만들려면 UPROPERTY()를 사용해야 함
UPROPERTY(VisibleAnywhere) // 객체 자동관리(윈도우에서 컴포넌트 속성을 편집하기 위함)
UStaticMeshComponent* Body;
UPROPERTY(VisibleAnywhere)// 객체 자동관리(윈도우에서 컴포넌트 속성을 편집하기 위함)
UStaticMeshComponent* Water;
이후 선언이 끝나면 정의파일 Fountain.cpp로 이동 -> 액터의 구축
CreateDefaultSubobject 함수를 사용해 컴포넌트를 생성한다.
AFountain::AFountain()
{
// 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;
Body = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("BODY"));
Water = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("WATER"));
}
이후 대표를 담당할 컴포넌트로 보조할 컴포넌트의 루트를 지정한다.
RootComponent = Body;
Water->SetupAttachment(Body);
컴포넌트의 위치를 수동으로 설정하지 않도록 SetRelativeLocation을 사용하여 컴포넌트의 기본 위치 값을 설정한다.
RootComponent = Body;
Water->SetupAttachment(Body);
Water->SetRelativeLocation(FVector(0.0f, 0.0f, 135.0f));
조명 기능에는 UPointLightComponent, 이펙트에는 UParticleSystemComponent를 사용한다. 마찬가지로 Body에 상속하고 위치를 설정해준다.
RootComponent = Body;
Water->SetupAttachment(Body);
Light->SetupAttachment(Body);
Splash->SetupAttachment(Body);
Water->SetRelativeLocation(FVector(0.0f, 0.0f, 135.0f));
Light->SetRelativeLocation(FVector(0.0f, 0.0f, 195.0f));
Splash->SetRelativeLocation(FVector(0.0f, 0.0f, 195.0f));
언리얼 엔진에서의 자료형
바이트 : uint8
정수 : int32
실수 : float
문자열 : FString, FName
구조체 : FVector, FRotator, FTransform
언리얼에서 속성의 데이터를 변경하기 위해서는 EditAnywhere를 사용한다.
Fountain.h 에서 선언
UPROPERTY(EditAnywhere,Category=ID)
int32 ID;
'언리얼' 카테고리의 다른 글
언리얼 Chapter 1 (0) | 2022.06.22 |
---|
Comments