묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    미해결언리얼 엔진4 입문 (C++ 기반)
언리얼엔진 VisualStudio build 오류
안녕하세요. 유니티vs언리얼 강의를 들으며 이제 프로젝트 내에 C++ 코드를 처음 작성하고 있던 중이었습니다. 그런데 이제 코드를 동일하게 작성하고 빌드를 눌렀는데 아래와 같은 오류가 나옵니다. 코드를 잘못 따라친건가 싶어서 아예 새 C++ 파일을 생성해 빌드를 해봐도 위와 동일한 오류가 나옵니다. 구글에도 찾아보고 해결 방법을 찾아보고 있기는 한데 , 혹시 오류의 원인을 알 수 있을까 해서 질문을 올립니다. 언리얼 버전은 5.2입니다.비쥬얼스튜디오 버전은 2022 입니다.
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
상위 레이어를 참조할땐 인터페이스를 이용하는 이유가 무엇인가요?
C++강의에 내용이 있을까요 아직 수강하기 전이라.. 간략하게라도 설명 해주시면 감사하겠습니다.
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
실무에선 c++을 먼저 만들고 블플르 파생시키나요 아니면
언리얼 엔진에선 블프로 프로토타입을 만들고 c++로 구체화 한다고 하던데c++클래스를 먼저 만들고 블프로 자식 클래스를 만드는게 흔한가요, 아니면 블프를 먼저 만들고 c++을 자식으로 만드나요?c++을 먼저 만들고 블프를 자식으로 만들면 프로토타입 단계를 c++로 만들게 된다는말 아닌가요?
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
인코딩 질문입니다
강의 중 한글 '와'를 포함한 소스코드를 utf-8 인코딩으로 변경해서 저장하고 컴파일하면 '와'로 잘 출력되었는데요...근데 Unreal 에서는 스트링 저장시 UTF-16 format을 쓴다고 되어있는데 그럼에도 불구하고 UTF-8로 인코딩된 영어랑 " <-요런 (기호)문자들이 잘 호환된 이유는 뭘까요?Character Encoding in Unreal Engine 문서에 When serializing to packages to/from disk or during networking, strings with all TCHAR characters less than 0xff are stored as a series of 8-bit bytes, and otherwise as 2-byte UTF-16 strings. The serialization code can deal with any endian conversion as necessary.이 내용 때문인가요? 시리얼라이징에만 해당하는 것 같아 보이는데요.. 인코딩 정말 헷갈리는군요..
 - 
      
        
    미해결언리얼 엔진4 입문 (C++ 기반)
UI실습 강의 질문
UI로 체력을 띄우는 부분에서 블루프린트로 객체를 만들면 체력이 나오는데 C++객체로 생성하면 체력이 나오지 않는 현상이 발생합니다 혹시 이유가 무엇인지 알 수 있을까요?
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
블루트린트 말고 c++ 로 액터를 생성하는 이유가 뭔가요?
언리얼 입문을 블프 튜토리얼로 입문하고나서이득우님의 강의를 보고 있는데요, 블프로 하면 시각적인 환경에서 간단한 클릭들로 액터를 만들고 메쉬를 지정할수 있는데, 액터를 c++로 만드는 이유가 궁금합니다. 단순히 c++에서의 원리도 알겸 하는건지, c++로 액터를 생성하는게 실무적인 측면에서 더 좋은건지 궁금합니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
섹션1 캐릭터 컨트롤 설정의 IMC 관련 질문입니다.
섹션1의 캐릭터 컨트롤 설정 파트에서 궁금한 부분이 있어 질문 드립니다.강의 영상에서는 DataAsset 부분(15:15 ~ 16:10)에서 IMC 설정을 하지 않고 생략 되는 것으로 알고 있습니다.(때문에 Github 소스 자체에는 문제가 없습니다. 다만 영상과 같이 DataAsset의 IMC를 None으로 두면=영상 내용을 그대로 따라한다면 질문1 질문2 과 같은 문제가 발생합니다.)이를 해결하기 위해서 위의 링크들과 같이 에디터 상에서 DataAsset에 직접 IMC를 지정하는 방법도 있지만, DataAsset을 불러오는 김에 IMC도 코드를 이용해서 추가 하는 것이 좋지 않을까? 싶어 코드를 약간 변형해봤습니다.아래는 ABCharacterBase.cpp의 소스코드 일부 입니다. 기존 소스코드에 헤더를 추가한 상태를 기준으로 48번 Line부터 내용을 추가 했습니다.#include "InputMappingContext.h" // 헤더 파일 추가 (중간 생략...) // DataAsset 탐색 static ConstructorHelpers::FObjectFinder<UABCharacterControlData> ShoulderDataRef(TEXT("/Script/ArenaBattle.ABCharacterControlData'/Game/ArenaBattle/CharacterControl/ABC_Shoulder.ABC_Shoulder'")); if (ShoulderDataRef.Succeeded()) { // DataAsset에 IMC 삽입 static ConstructorHelpers::FObjectFinder<UInputMappingContext>ShoulderInputMappingContextRef(TEXT("/Script/EnhancedInput.InputMappingContext'/Game/ArenaBattle/Input/IMC_Shoulder.IMC_Shoulder'")); if(ShoulderInputMappingContextRef.Succeeded()) { UInputMappingContext* ShoulderInputMappingContext = ShoulderInputMappingContextRef.Object; ShoulderDataRef.Object->InputMappingContext = ShoulderInputMappingContext; } CharacterControlManager.Add(ECharacterControlType::Shoulder, ShoulderDataRef.Object); // 기존 DataRef의 InputMappingContext는 Default = None으로 설정되어 있었음 } // DataAsset 탐색. Quarter <-> Quater 오타 주의 static ConstructorHelpers::FObjectFinder<UABCharacterControlData> QuarterDataRef(TEXT("/Script/ArenaBattle.ABCharacterControlData'/Game/ArenaBattle/CharacterControl/ABC_Quarter.ABC_Quarter'")); if (QuarterDataRef.Succeeded()) { // DataAsset에 IMC 삽입하는 과정 static ConstructorHelpers::FObjectFinder<UInputMappingContext>QuarterInputMappingContextRef(TEXT("/Script/EnhancedInput.InputMappingContext'/Game/ArenaBattle/Input/IMC_Quarter.IMC_Quarter'")); if(QuarterInputMappingContextRef.Succeeded()) { UInputMappingContext* QuarterInputMappingContext = QuarterInputMappingContextRef.Object; QuarterDataRef.Object->InputMappingContext = QuarterInputMappingContext; } CharacterControlManager.Add(ECharacterControlType::Quarter, QuarterDataRef.Object); }위와 같은 방식들로 IMC를 DataAsset에 추가해줬을 때 별다른 문제가 없다면,해당 섹션의 강의 정보에 공유 해주실 수 있으신가요?!아무 생각 없이 코드만 생각하다가 여기서 쳇바퀴 열심히 돌렸습니다 ㅎㅎ;;
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
패키지 강의에서 서브 오브젝트 질문
강의에 나온 코드를 보다 보니Student 패키지를 만들고 그걸 로드 해보는 다양한 방법을 배웠습니다.그런데 TopStudent 에셋 저장 시 함께 입력된 SubObject 학생 1~10 에 대한 정보는 입력만 되고 따로 불러서 확인해 보는 부분이 없어서 이렇게 저렇게 해보다 질문 드립니다.이 에셋 속에 있는 서브 오브젝트는 어떻게 불러 올 수 있을까요?
 - 
      
        
    미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
BP_PAWN 첫강의 시야 고정 관련
안녕하세요 루키스 강사님!BP_Pawn 강의를 듣고 따라하고있는데 마지막에 DesiredCamerHeights를 이용해 75높이로 카메라 높이를 고정하는 블루프린트를 따라했는데 실행하면 일어서도 Camera 높이가 계속 변경되고 75로 고정 되지않습니다. 그래서 BegincPlay 이벤트 문제인가 싶어서 Tick 이벤트에 넣었는데 그때는 이상하게 일어나거나 앉아도 Camera 값이 고정이 잘 됩니다.강사님은 BeginPlay에 연결하셔서 하시는데 Tick에 연결해서 해도 되는지 몰라서 질문 드립니다.
 - 
      
        
    미해결언리얼 엔진4 입문 (C++ 기반)
UBTTask_Attack의 TickTask 함수 호출이 안되는 것 같습니다.
생성자에서 bNotifyTick = true;를 해주고틱테스크 함수에 디버깅 포인트를 찍고 디버깅을 해봤으나 함수에 들어오지 않는 것 같습니다.혹시 저 부분 외에 다른 작업도 해주어야 하나요? 그리고 람다를 사용해서 계속 델리게이트를 구독하는 것 같아서 bool값을 통해 초기 한 번만 등록되도록 바꿔봤는데 혹시 문제가 있을까요? 아직 델리게이트를 정확히 이해하지 못해 질문 드립니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
델리게이트에서 구독 등록 부분
어떤 경우에는 AddUObject로 등록하고, 어떤 경우에는 AddDynamic로 등록하는데 이 둘의 차이는 무엇인가요?그리고 만약 맨처음에만 등록하는게 아니라 틱마다 Add함수를 사용해서 등록한다면 등록된 만큼 콜백함수가 호출되나요?델리게이트가 무엇인지는 이해했지만 정확한 원리를 이해하기가 힘듭니다..ㅠㅠ
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
무한맵의 제작에서 아이템 랜덤 생성 시 weapon은 배치되지 않는 문제 문의 드립니다.
안녕하세요무한맵의 제작 마지막 부분에 보상 상자 4개에 아이템 랜덤 배치 시potion과 scroll만 랜덤으로 배치되고 weapon은 배치되지 않습니다.혹시 어느 부분을 확인해 봐야 할까요~?
 - 
      
        
    미해결언리얼 엔진4 입문 (C++ 기반)
자동완성 기능 사용법
선언 혹은 인클루드 입력하실 때 자동완성기능이 활성화되시는데 따로 설정할 것이 있는지 궁금합니다.예를들어 MyCharacter.cpp에서 #include "Components/WidgetComponent.h"를 전부 입력하는 반면선생님은 Comp로만 입력했을 때 자동완성으로 표기되셔서 다른 설정을 하신 것 같아 질문드립니다.
 - 
      
        
    해결됨언리얼 엔진4 입문 (C++ 기반)
충돌체크 콜리젼 반응에 대한 질문입니다.
MyCharacter에서 Attack을 Overlap으로 설정했는데, 충돌판정이 되지 않고 block을 했을때만 충돌 판정이 됩니다. 혹시 오버랩으로 설정할 때 다른 옵션을 주어야 하나요?
 - 
      
        
    미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
언리얼 엔진 블루프린트의 상속에 대한 확인 질문입니다.
저는 이때까지 상위클래스-하위클래스의 관계를 가지고 있으면 상위 클래스의 변수와 로직을 하위클래스에서 끌어 쓸 수 있다고만 알고 있었는데요. 테스트를 해 보니 상위 클래스의 이벤트 그래프의 로직을 하위 클래스에 복사 붙여넣기 하지 않아도 하위클래스의 객체가 이 로직을 그대로 실행하더군요. 상위클래스의 이벤트 그래프의 로직을 하위클래스의 이벤트 그래프에 복사 붙여넣기 해주지 않아도 하위클래스로 만든 객체가 상위 클래스의 로직을 자동으로 실행하는게 맞는지 확인하고 싶습니다.
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
메모리 관련 부분에서 질문입니다.
UPROPERTY 로 선언한 PropStudent 와그냥 선언한 NonPropStudent 가 있을때출력된 로그에서 Shutdown 시에 PropStudent 는 유효한 오브젝트NonPropStudent 는 유효하지 않은 오브젝트라고 나왔습니다.이때 UPROPERTY 로 선언하지 않은 NonPropStudent 는 가비지 콜렉터에 의해 관리 받지 않는 것으로 이해를 했는데 관리 받지 않는다는 것이 메모리 회수(Sweep) 시 레퍼런스를 체크하지 않고 바로 지워버린다는 뜻인가요?관리 받지 않으니 아에 지워지지도 않고 누수가 생기는걸까 생각했는데 Sweep 시에 바로 유효하지 않은 오브젝트로 바뀌기에 질문 올려봅니다.
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Stat외에 싱글톤 클래스는 어떻게 만드나요?
프로젝트세팅에 추가한 ABGameSingleton안에는스텟관련된것이 추가되있는데.. 다른 싱글톤을 만드려면 어떻게 해야하나요?? 스탯 관련된것은 빼고 ABGameSingleton을 상속받아 다른 클래스를 제작하면 될까요??
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
다른 스켈레탈 메쉬를 가진 적을소환하려고 하면
스켈레탈 메쉬도 동일한방법으로 불러와 세팅해야 할까요?
 - 
      
        
    해결됨[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
Set 함수의 기능에 대한 질문입니다. (초보 질문 죄송..)
State 패턴 강의 중 궁금한게 생겨 질문 드립니다.Set(Skill) 노드는 Attack을 변수 설정하기 위한 노드,뒷 부분의 Set(Move) 노드는 공격 애니메이션을 해제, 즉 액션을 위한 노드로 이해하고 있습니다.제 가정이 맞다면 Set 노드의 기능은 변수 설정, 액션 2가지로 나눌 수 있다는 것인데,만약 같은 set 노드라도 변수 설정을 위한 노드와 액션을 하는 노드는 어떻게 구분하며 써야하는지 그 기준이 궁금합니다.
 - 
      
        
    해결됨[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
블루프린트로는 연결 리스트, 이진 탐색 트리 사용이 불가능 한가요?
강의 잘 듣고 있습니다!블루프린트에서 Array 타입은 STL의 vector로 동적 배열로 구현이 되고, Set과 Map은 STL의 unordered_set, unordered_map으로 해시 테이블로 구현이 되어있다고 이해했습니다.그렇다면 궁금한게 STL의 list나 set, map인 연결 리스트, 이진 탐색 트리는 사용하지 못하나요?못한다면 이유가 뭔지 궁금합니다!