언리얼 C++ VOD 듣기

주소리·2026년 8월 11일

TIL

목록 보기
40/48

이번은 강의 주간이라 해당 강의를 읽고 작성한 각주 및 코드를 AI에 넣은 뒤, 퀴즈를 산출해 내 퀴즈를 풀어 복습했습니다.

1단계 — 코드 읽기

Q1. 생성자 찾기

다음 중 AItem 클래스의 생성자는 무엇입니까?

A. BeginPlay()
B. AItem::AItem()
C. Tick()
D. PostInitializeComponents()


Q2. 루트 컴포넌트

SceneRoot = CreateDefaultSubobject<USceneComponent>(TEXT("SceneRoot"));
SetRootComponent(SceneRoot);

위 코드에서 SceneRoot가 하는 역할을 가장 잘 설명한 것은?

A. 액터의 부모 클래스를 지정한다.
B. 액터에 붙는 컴포넌트들의 기준점이 된다.
C. 메시를 화면에 그린다.
D. 매 프레임 위치를 계산한다.


Q3. CreateDefaultSubobject

StaticMeshComp =
    CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMesh"));

이 코드를 일상적인 말로 가장 자연스럽게 바꿔보십시오.

UStaticMeshComponent 타입의 ____을 만들고, 그것을 ____에 저장한다.


Q4. 컴포넌트 연결

StaticMeshComp->SetupAttachment(SceneRoot);

이 코드의 의미는 무엇입니까?

A. StaticMeshComp를 삭제한다.
B. SceneRoot를 StaticMeshComp에 붙인다.
C. StaticMeshComp를 SceneRoot 아래에 붙인다.
D. StaticMeshComp와 SceneRoot를 같은 객체로 만든다.


2단계 — 에셋 불러오기

Q5. 메시를 찾는 코드

static ConstructorHelpers::FObjectFinder<UStaticMesh> MeshAsset(
    TEXT("/Game/Resources/Props/SM_Chair.SM_Chair"));

이 코드에서 실제로 찾으려는 것은 무엇입니까?

A. 액터
B. 머티리얼
C. 스태틱 메시 에셋
D. SceneComponent


Q6. 왜 Succeeded()를 확인할까요?

if (MeshAsset.Succeeded())
{
    StaticMeshComp->SetStaticMesh(MeshAsset.Object);
}

만약 Succeeded() 확인 없이 바로 MeshAsset.Object를 사용한다면 어떤 문제가 생길 수 있을까요?

짧게 한 문장으로 답해보십시오.


Q7. 머티리얼의 0

StaticMeshComp->SetMaterial(0, MaterialAsset.Object);

여기서 0은 무엇을 의미할까요?

A. 투명도
B. 머티리얼 슬롯 번호
C. 메시 번호
D. 액터 ID


3단계 — 로그

Q8. 로그 카테고리

DEFINE_LOG_CATEGORY(LogJun);

그리고

UE_LOG(LogJun, Warning, TEXT("Hello"));

가 있다면 LogJun은 무엇입니까?

A. 출력할 문자열
B. 로그의 분류용 카테고리
C. 함수 이름
D. 액터 이름


Q9. 로그 등급 연결

다음을 연결하십시오.

Display
Warning
Error

① 일반적인 정보 출력
② 경고
③ 오류


Q10. %sGetName()

UE_LOG(LogJun, Warning, TEXT("%s BeginPlay"), *GetName());

여기서 %s 자리에는 무엇이 들어갑니까?

A. RotationSpeed
B. 현재 액터의 이름
C. 현재 프레임
D. 메시 파일 경로


제가 쓴 답입니다.
주관식을 처참히 틀렸군요.

profile
게임개발 및 아트, TA

0개의 댓글