inflearn logo
강의

Course

Instructor

Hands-On! Unreal Souls-Like Development: A to Z

Input System and Character Movement

C++ 생성자 값 관련 질문입니다.

70

cssrex2002

2 asked

0

 

2장 강의에서 생성자에서 이것저것 값을 변경했었는데 (bUseController 등) 이게 적용이 안 됩니다.

 

우선순위가
C++ 생성자 값 < 블루프린트 디테일 패널 설정값

인 건지 블루프린트 디테일 패널에서 직접 체크 표시가 되어 있는 기본값이 유지가 됩니다.

 

막상 카메라 위치 조절 같은 건 적용이 되는데 뭐가 문제인지 잘 모르겠습니다.

 

첨부한 사진입니다.

LOG를 띄워서 확인을 해봤는데, 생성자에서는 분명 false로 들어간 값이, BeginPlay가 실행되니까 블루프린트 디테일 기본 값인 true로 자동으로 바뀝니다.

11.png.webp

 

22.png.webp

 

c++ unreal-engine 언리얼-c++

Answer 1

0

Spector

안녕하세요.

질문 하신 생성자에서 프로퍼티값을 변경했는데 블루프린트에 설정된 값으로 적용되는 문제는 버그나 오류가 아닙니다. 이것은 언리얼 엔진의 의도된 설계입니다.

언리얼 엔진은 객체를 생성할 때 대략적으로 다음과 같은 순서를 거칩니다

C++ 생성자 호출: 엔진이 실행될 때 해당 클래스의 CDO를 생성하며 생성자 코드를 실행합니다.

블루프린트 데이터 로드: C++ 클래스를 상속받은 블루프린트 에셋이 로드됩니다. 이때, 에디터에서 사용자가 수정한 값들이 C++에서 설정한 기본값 위에 덮어씌워집니다.

인스턴스 생성: 게임 월드에 캐릭터를 배치하면, 블루프린트에 저장된 최종 값을 가지고 인스턴스가 생성됩니다.

즉, 간단하게 설명하면 생성자에서 설정한 프로퍼티값은 기본값 입니다.

실제 값은 블루프린트에서 설정한 값이라고 생각하시면 됩니다.

 

참고로 블루프린트에서 해당 프로퍼티 값 옆에 보시면 C++ 클래스에서 설정한 기본값으로 리셋하는 버튼이 있습니다.

이 버튼이 있는 경우는 C++ 클래스의 기본값과 블루프린트의 값이 다르다는 뜻입니다.

 

그럼 좋은 하루 되세요^^

 

 

 

맵핑부분..

0

24

2

ABP "스테이트의 시퀀스 플레이어에 따른 자동 규칙"질문드립니다.

0

32

1

사용하시는 툴 질문 드립니다.

0

30

2

빠른 헤더파일 추가 관련 질문입니다.

0

75

2

각 섹셕별로 수업 자료가 제공된다고 했는데 어디에서 받을 수 있는지 모르겠습니다.

0

84

2

프로젝트 생성 및 설정 첫 강의를 보면서 들었던 궁금한 점

0

119

2

안녕하세요. 입문자입니다.

0

65

1

GAS 관련

0

85

1

폴암 무기 집을때 크러쉬

0

89

2

Tick 컴포넌트에서 락온 함수

0

64

2

카메라를 적에게 고정시키는 로직 부분

0

72

2

강의 자료

0

105

3

방어구 시스템 구현 질문

0

84

3

블로킹 시 피격 이펙트 오류?

0

55

2

AlreadyHitActor들을 TArray로 처리하는 것에 질문있습니다.

0

57

2

무기 콜리전 시스템에 대해

0

101

1

Hit Reaction 설계

0

113

3

FindClosestTarget CheckValue 절댓값 처리

0

65

2

FindClosestTarget 노멀 벡터 방향

0

56

2

44분26초 동일하게 코드를 작성한것같은데 빌드에러가 뜹니다ㅠ

0

83

2

파티클 깨짐

0

54

1

Geneal Action 의미

0

47

0

2강 32분18초 Generate definition 하는 방법이 뭘까요?

0

80

1

UUserWidget 생성자 선언하는 이유

0

59

2