묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
bUseAccelerationForPaths를 C++로 활성화시키고 싶습니다.
안녕하세요. 섹션1의 캐릭터 컨트롤 설정 수업을 듣고 캐릭터를 wasd말고 NavMesh를 이용하여 클릭으로 캐릭터를 움직이고 싶어서 제작하고 있습니다.그런데 Nav Movement의 UseAccelerationForPaths를 true로 변경시켜야 캐릭터의 애니메이션이 움직인다는 것을 알게 되었습니다. blueprint로는 바꿀 수 있지만 C++로는 도저히 바꾸는 방법을 찾지 못하여 물어보게 되었습니다.어떻게 하면 C++코드를 이용하여 UCharacterMovementComponent클래스의 bool변수인 bUseAccelerationForPaths를 true로 변경시키고 ACharacter클래스에 변경된 UCharacterMovementComponent 클래스를 성공적으로 적용시킬 수 있을까요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
코드로 PlayerControllerClass 지정하는 과정에서 빌드 실패
안녕하세요 섹션1 언리얼 엔진 게임 제작 기초 강의 중 궁금한거 세가지가 생겨서 질문드립니다.1. PlayerControllerClass 지정하는 과정에서 빌드 실패AABGameMode::AABGameMode(){ PlayerControllerClass = AABPlayerController::StaticClass();}이렇게 게임모드 생성자에서 특정 컨트롤러 클래스를 지정하는 부분 따라가던 중 라이브 코딩에서 사진과 같이 build failed 가 발생하였습니다. 어찌어찌 비주얼 스튜디오에서 솔루션 프로젝트 정리 눌러보고 다시 빌드해보니까 성공적으로 돌아갔습니다. 근데 처음에는 왜 실패했는지 전혀 모르겠네요 ㅠ2. cpp 파일에서 inlude 자동 추가교수님 강의에서는 언리얼 에디터에서 GameMode 클래스를 생성하면 바로 cpp파일에서 #include "Game/ABGameMode.h"#include "ABGameMode.h"이 두가지 경로가 자동 추가되는데 제가 했을 때는 #include "Game/ABGameMode.h" 이거 하나만 추가되었습니다. 그냥 무시하고 넘어가도 되는 부분인가요? 3. 헤더파일이 디렉토리 또는 빌드 시스템 경로에 없습니다.ABGameMode 클래스를 만들면서 cpp 파일에 자동 추가 된 #include "Game/ABGameMode.h" 부분에서 F12를 누르면 이와 같은 에러가 발생합니다. 이 또한 무시해도 괜찮은 부분일까요?
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
Animation blending 관련
layered blend per bone의 blend pose 0번(슈팅모션)에 모든 weight를 준 상태 (1.0)에서도 base pose를 완전히 무시하고 재생되지는 않는건지요? idle 상태에서 총을 쏘게 되면 idle motion 방향에 따라 이리저리 몸을 돌리면서 총 쏘는 모션이 블렌딩 됩니다. 달리는 중에 총을 쏘게 되어도 달리는 팔 동작은 유지되면서 총을 쏘는 진동만 블렌딩 되고 있네요. (총구가 왔다갔다 합니다.)base pose를 완전히 무시하고 애니메이션을 블렌딩하는 방법이 있나요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
로드맵 관련
기존에 있던 강의랑 겹치는게 있고 안겹치는게 있는거 같은데 이 강의를 듣고 다음 강의는 어떤걸 들어야 할까요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
언리얼엔진 VisualStudio build 오류
안녕하세요. 유니티vs언리얼 강의를 들으며 이제 프로젝트 내에 C++ 코드를 처음 작성하고 있던 중이었습니다. 그런데 이제 코드를 동일하게 작성하고 빌드를 눌렀는데 아래와 같은 오류가 나옵니다. 코드를 잘못 따라친건가 싶어서 아예 새 C++ 파일을 생성해 빌드를 해봐도 위와 동일한 오류가 나옵니다. 구글에도 찾아보고 해결 방법을 찾아보고 있기는 한데 , 혹시 오류의 원인을 알 수 있을까 해서 질문을 올립니다. 언리얼 버전은 5.2입니다.비쥬얼스튜디오 버전은 2022 입니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
상위 레이어를 참조할땐 인터페이스를 이용하는 이유가 무엇인가요?
C++강의에 내용이 있을까요 아직 수강하기 전이라.. 간략하게라도 설명 해주시면 감사하겠습니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
실무에선 c++을 먼저 만들고 블플르 파생시키나요 아니면
언리얼 엔진에선 블프로 프로토타입을 만들고 c++로 구체화 한다고 하던데c++클래스를 먼저 만들고 블프로 자식 클래스를 만드는게 흔한가요, 아니면 블프를 먼저 만들고 c++을 자식으로 만드나요?c++을 먼저 만들고 블프를 자식으로 만들면 프로토타입 단계를 c++로 만들게 된다는말 아닌가요?
-
미해결언리얼 엔진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에 추가해줬을 때 별다른 문제가 없다면,해당 섹션의 강의 정보에 공유 해주실 수 있으신가요?!아무 생각 없이 코드만 생각하다가 여기서 쳇바퀴 열심히 돌렸습니다 ㅎㅎ;;
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
BP_PAWN 첫강의 시야 고정 관련
안녕하세요 루키스 강사님!BP_Pawn 강의를 듣고 따라하고있는데 마지막에 DesiredCamerHeights를 이용해 75높이로 카메라 높이를 고정하는 블루프린트를 따라했는데 실행하면 일어서도 Camera 높이가 계속 변경되고 75로 고정 되지않습니다. 그래서 BegincPlay 이벤트 문제인가 싶어서 Tick 이벤트에 넣었는데 그때는 이상하게 일어나거나 앉아도 Camera 값이 고정이 잘 됩니다.강사님은 BeginPlay에 연결하셔서 하시는데 Tick에 연결해서 해도 되는지 몰라서 질문 드립니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
UBTTask_Attack의 TickTask 함수 호출이 안되는 것 같습니다.
생성자에서 bNotifyTick = true;를 해주고틱테스크 함수에 디버깅 포인트를 찍고 디버깅을 해봤으나 함수에 들어오지 않는 것 같습니다.혹시 저 부분 외에 다른 작업도 해주어야 하나요? 그리고 람다를 사용해서 계속 델리게이트를 구독하는 것 같아서 bool값을 통해 초기 한 번만 등록되도록 바꿔봤는데 혹시 문제가 있을까요? 아직 델리게이트를 정확히 이해하지 못해 질문 드립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
무한맵의 제작에서 아이템 랜덤 생성 시 weapon은 배치되지 않는 문제 문의 드립니다.
안녕하세요무한맵의 제작 마지막 부분에 보상 상자 4개에 아이템 랜덤 배치 시potion과 scroll만 랜덤으로 배치되고 weapon은 배치되지 않습니다.혹시 어느 부분을 확인해 봐야 할까요~?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
비주얼 스튜디오 질문입니다.
루키스님께서 해주시는 강의 귀에 쏙쏙 들어와서 항상 감사의 말을 먼저 드립니다. 루키스님의 강의 중 터미널 창이 매우 깔끔하게 촘촘히 박혀있으신데 제 터미널창은 세로로 길쭉하여 결국 코드에 TILE뒤 << " "; 이런 식으로 억지로 띄워썼습니다.혹시 이 방법 말고도 다른 방법이 있으신지 견식을 여쭙고자 합니다.가르쳐 주신다면 정말 감사하겠습니다.
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Select와 Overlapped의 차이에 대해 좀 헷갈리는 부분이 있습니다.
Overlapped 방식은 비동기 + 논블로킹 이고 이전 예제 WSASelectEvent를 이용한 예제는 동기 + 논블로킹 으로 이해 했습니다.Overlapped의 로직 흐름은 while문 진입 후 Event방식의 경우 WSARecv의 반환값이 SOCKET_ERROR일때 WSAGetLastError()가 WSA_IO_PENDING이라면 Sleep 혹은 WSAWaitForMultipleEvents으로 대기하다가 콜백방식이면 깨워서 처리, 이벤트방식이면 시그널되었으므로 이후 다음 코드 실행Select의 로직 흐름은 while문 진입 후 WSAWaitForMultipleEvents로 대기 후 시그널되면 인덱스정보로 세션의 위치를 알아낸 후 해당 세션의 소켓을 통해 NetworkEvent를 확인해서 Accept인지 Recv플래그를 통해 적절한 처리이렇게 정리하고 나니 결국 Overlapped는 Recv를 먼저 실행한 후 대기하는 것이고 Select는 대기한 후 Recv하는 것이구나 라는 생각이 들었고, 처음에 보여주신 블로킹/논블로킹, 동기/비동기에 관한 그림으로 볼 때 Select와 Overlapped 모두 Sync-NonBlocking과 같이 동작하는게 아닌가 하는 생각이 들었습니다. 왜냐하면 INFINITE로 두면 반환할때까지 Blocking 방식처럼 동작할 것이라고 생각했고, INFINITE가 아닌 Timeout을 주면 주기적으로 확인한다는 것이므로 Sync-NonBloking처럼 동작한다고 생각했습니다. 제가 생각한 것이 맞는지 궁금합니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
자동완성 기능 사용법
선언 혹은 인클루드 입력하실 때 자동완성기능이 활성화되시는데 따로 설정할 것이 있는지 궁금합니다.예를들어 MyCharacter.cpp에서 #include "Components/WidgetComponent.h"를 전부 입력하는 반면선생님은 Comp로만 입력했을 때 자동완성으로 표기되셔서 다른 설정을 하신 것 같아 질문드립니다.
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
C++ 프로그램 관련
대중적으로 C++를 공부할 때 비주얼 스튜디오를 사용하기도 하지만 Rider 프로그램도 있는 것으로 알고 있습니다. 개인적으로 인텔리제이를 선호하는 터이기도 하고, 언리얼 공부를 위해 C++를 공부하고 있는데, Rider를 사용해서 수강해도 되는 부분일지 궁금합니다.
-
해결됨언리얼 엔진4 입문 (C++ 기반)
충돌체크 콜리젼 반응에 대한 질문입니다.
MyCharacter에서 Attack을 Overlap으로 설정했는데, 충돌판정이 되지 않고 block을 했을때만 충돌 판정이 됩니다. 혹시 오버랩으로 설정할 때 다른 옵션을 주어야 하나요?
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
언리얼 엔진 블루프린트의 상속에 대한 확인 질문입니다.
저는 이때까지 상위클래스-하위클래스의 관계를 가지고 있으면 상위 클래스의 변수와 로직을 하위클래스에서 끌어 쓸 수 있다고만 알고 있었는데요. 테스트를 해 보니 상위 클래스의 이벤트 그래프의 로직을 하위 클래스에 복사 붙여넣기 하지 않아도 하위클래스의 객체가 이 로직을 그대로 실행하더군요. 상위클래스의 이벤트 그래프의 로직을 하위클래스의 이벤트 그래프에 복사 붙여넣기 해주지 않아도 하위클래스로 만든 객체가 상위 클래스의 로직을 자동으로 실행하는게 맞는지 확인하고 싶습니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Stat외에 싱글톤 클래스는 어떻게 만드나요?
프로젝트세팅에 추가한 ABGameSingleton안에는스텟관련된것이 추가되있는데.. 다른 싱글톤을 만드려면 어떻게 해야하나요?? 스탯 관련된것은 빼고 ABGameSingleton을 상속받아 다른 클래스를 제작하면 될까요??