애셋의 지정
- C++ 코드에서 해당 애셋을 가져오려면 애셋의 고유한 키 값으로 경로 값을 사용한다.
- 해당 애셋에서 우클릭 후 레퍼런스 복사를 하거나 애셋을 선택한 후 Ctrl+C 를 하여 레퍼런스를 가져올 수 있다.
ConstructorHelpers::FObjectFinder<UStaticMesh>
name(TEXT("StaticMesh'/Game/Soldier/Mesh/Weapon/SM_Pistol.SM_Pistol'"));
UStaticMeshComponent* Body;
Body = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Body"));
if (name.Succeeded())
{
Body->SetStaticMesh(name.Object);
}
- 내용이 길어서 엔터로 줄을 내려준 모습.
- name부분은 해당 스테틱메시의 이름으로 해주면 효과적이다.
- 변수의 Object 멤버 값을 사용하면 애셋에 대한 포인터를 가져올 수 있다.
- .Succeeded() 는 값이 있는지 확인하고 있으면 true를 리턴해준다.
출력 로그 윈도우
UE_LOG(카테고리, 로깅수준, 형식 문자열, 인자..)
//예시
UE_LOG(LogTemp, Log, TEXT("HI"));
형식 문자열
- FString으로 선언된 변수에서 문자열 정보를 얻어오려면 반드시 * 연산자를 앞에 지정해줘야 한다.
FString::Printf(TEXT("Actor Name : %s, ID : %d, Location X : %.3f"),
*GetName(), ID, GetActorLocation().X);
변수의 캡슐화
private:
UPROPERTY(EditeAnywhere, Category=Stat, Meta = (AllowPrivateAccess = true))
float RotateSpeed;
- UPROPERTY 매크로에 AllowPrivateAccess라는 META 키워드를 추가하면 에디터에서는 이를 편집가능하면서 변수데이터를 은닉할 수 있게 되어 프로그래밍 영역에서 캡슐화가 가능해진다.
'Game Programming > Unreal' 카테고리의 다른 글
[Unreal] 이득우의 언리얼 C++ 게임개발의 정석 4 (0) | 2022.02.28 |
---|---|
[Unreal] 이득우의 언리얼 C++ 게임개발의 정석 3 (0) | 2022.02.25 |
[Unreal] 이득우의 언리얼 C++ 게임개발의 정석 1 (0) | 2022.02.23 |
fps 각 방향별 다리 방향 애니메이션 (0) | 2021.11.30 |
캐릭터의 회전 (0) | 2021.11.22 |