묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
Input Subsystem 에서 오류가 발생합니다
해결 방법 부탁드려요
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
HasMatchingGameplayTag 역활이 조금 이해가 안갑니다.
1,2 강을 마무리 하며, HasMatchingGameplayTag 는 해당 게임플레이 테그가 현재 ASC 에 등록이 되어 있는지 체크하는 것으로 이해했는데요.HasMatchingGameplayTag 없다면 TryActivateAbilitiesByTag 를 통해 ABTAG_ACTOR_ROTATE 테그를 실행함으로서, ABTAG_ACTOR_ISROTATING 도 같이 asc 에 등록이 되고 CancelAbilities 를 통해 해체가 되면 ABTAG_ACTOR_ROTATE, ABTAG_ACTOR_ISROTATING 둘다 asc 의 테그 목록에서 사라진다. 이렇게 이해해야 하나요?
-
미해결Creating 3D Environments with Blender, 3ds Max or Maya, and Unreal Engine 5- (2026)
작동하는 캐릭터 생성방법.
안녕하세요,맵을 생성하고 플레이를누르면 선생님은 로봇이 생성되어 움직이실 수 있는데요,제가 플레이를 누르면 캐릭터가 생성되지않고,3d 프린트 캐릭터를 생성할경우, 맵에 서있지못하고 아래로 추락? 을 해버리네요. 방법이 있을까요?
-
미해결언리얼 엔진 5 with AI, 대화형 NPC 제작
12강 TimeAPI 접속불가
어제 (2026/01/16) 12강에 나오는 TimeAPI (https://timeapi.io/) 에 접속하려고 했는데,접속을 시도할 때마다 사이트가 응답하지 않는다는 메시지만 떴고,다른 비슷한 사이트에서도 같은 결과가 나왔습니다.Powershell을 이용한 자체검사를 시도해 보니 제 쪽에서는 문제가 없고 TimeAPI 쪽에서 응답하지 않는 것이라는 결과가 나왔으며,오늘 아침에도 접속을 시도해 봤는데 결과가 같았습니다.그래서 TimeAPI를 사용하지 못하는 지금, TimeAPI 접속 문제를 해결할 수 있는 방법을 알고 싶고, 강의에서 소개된 코드 및 작업과정을 거의 수정하지 않고도 TimeAPI를 깔끔하게 대체할 수 있는 사이트가 필요합니다. 도와주실 수 있나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
recv 할게 없어도 무한 while문을 도는데 괜찮은건가요?
uint32 RecvWorker::Run() { while (Running) { TArray<uint8> Packet; if (ReceivePacket(OUT Packet)) { /*패킷을 큐에 등록*/ } } return 0; } bool RecvWorker::ReceivePacket(TArray<uint8>& OutPacket) { // 패킷 헤더 파싱 const int32 HeaderSize = sizeof(FPacketHeader); TArray<uint8> HeaderBuffer; HeaderBuffer.AddZeroed(HeaderSize); if (ReceiveDesireBytes(HeaderBuffer.GetData(), HeaderSize) == false) return false; /*...*/ } bool RecvWorker::ReceiveDesireBytes(uint8* Results, int32 Size) { uint32 PendingDataSize; //연결 종료되면 packetrecvsize 0으로 옴 -> 연결 끊겼으면 종료. if (Socket->HasPendingData(PendingDataSize) == false || PendingDataSize <= 0) return false; /*...*/ }recvworker 쓰레드를 만들고 run이 실행됐는데 커널의 recv버퍼에 읽을게 없을 때헤더확인을 위한 ReceiveDesireBytes 호출Socket->HasPendingdata() 에서 return falseReceiveDesireBytes 에서 return falseRun에서 ReceivePacket return false로 recv할게 올때까지 while문 무한반복이렇게 되는데 while문이 의미없이 무한반복하고 있는게 좀 걸려서 질문합니다.recv가 계속 올거라 상관이 없어서 이렇게 처리해도 큰 상관이 없는건가요?그게 아니면 혹시 Socket->Recv 에서 블로킹이 걸리게 만들어놓고 쓰레드는 대기하다가 서버로부터 읽을게 오면 알아서 블로킹이 풀리고 일을 하도록 하는건 별로인가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
MySQL 연동
DB 연동은 어떻게하면 좋을까요 ㅜㅜ 강의에 DB에 대한 내용이 없네요
-
해결됨Creating Post-Apocalyptic 3D Game Environments in Unreal Engine 5- (2026)
Questions on topology cleanliness and beveling during the detailing stage
After doing the blockout and moving into the stage where you refine/cut in details, why doesn’t the topology need to be strictly quads (or have very clean edge/vertex flow)? From what I’ve learned and experienced, faces that aren’t quads or triangles (n-gons) can cause issues during UV unwrapping or texturing, sometimes leading to errors. Is this simply because it’s still an early/blockout-to-detail stage?Also, when adding bevels, I understood that having a supporting “center” edge (or more controlled edge structure) helps prevent texture stretching. If so, is there a reason you often finish a bevel with just two edge loops?Lastly, I’m wondering whether my understanding is coming from a character-modeling mindset, or if this will be covered later in the course.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
7강 GameMode와 Modules관련 질문드립니다.
안녕하세요. 강의 잘 듣고 있으며 좋은 강의를 해주셔서 감사드립니다.7강에서 GameMode는 무겁기 때문에 하나의 GameMode를 사용하고 GameMode 변경 대신 모듈을 이용하여 이러한 무거움의 단점을 보완 했다고 설명 하는 것으로 이해 했습니다.Level 변경 시, GameMode는 World에 종속되어 있고 Level 별로 동일한 GameMode 클래스를 이용하더라도 World가 바뀌기 때문에 GameMode도 Actor에 해당하고 GC되고 새로운 GameMode 인스턴스를 사용하기 때문에 설명 하신 부분과 상이하다는 생각입니다.즉, '생성 비용'이 아니라 '유연성과 확장성'을 위해 이 러한 방식을 택한 것이 아닐까요?
-
해결됨[언리얼 노베이스/입문] UE5 스파르타 클래스: 실전편
퀵셀 이제 다 유료네요
강의에서 사용한 에셋은 사용이 안되네요 ㅠㅠ
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
Move to가 동작하지 않습니다.
강의를 다시 복습하고 있었는데요.이번에는 버전 안맞추고 5.7버전으로 복습했거든요.Behavior Tree 강의를 듣는데, BT를 맞게 설정한 것 같은데 몬스터가 움직이지 않습니다 ㅜㅜ 일단 Get Random Point Location in 어쩌구 함수가 최신 버전에는 없어져서Get Random Location in Navigable Radius를 사용했는데요.이 차이 때문인지 모르겠는데 Move To가 실행되도, 실제 몬스터는 움직이지 않는 현상이 있습니다.의심가는 세팅은 다 체크해봤습니다.아래는 체크한 내용들입니다.BP_Monster에 컨트롤러 세팅, movement 컴퍼넌트 세팅, pocess 세팅BT에서 Move to, FindPatrolLocation의 vector 변수 일치시키기NavMesh 확인 (초록색 바닥 확인함) 실행중에 BT를 확인해봤는데 Wait -> BTTASK -> Move To 모두 다 실행되는데,task와 move to가 엄청 빨리 실행되고 돌아가더라고요. 몬스터는 움직이지 않고요..PatrolLocation에 랜덤값이 잘 담기는 것과, print text로 랜덤 위치를 찍어주는것도 확인했습니다. 넘 답답합니당 고수님들 도와주세요
-
미해결UI 디자이너를 위한 엔진강의, 언리얼 UMG 요리법 (입문)
언리얼 버전 문의드립니다!
안녕하세요.언리얼을 처음 접하게 되면서 강의를 수강하게 된 학생입니다. UIUX쪽으로 언리얼 강의가 없어서 막막했는데 이렇게 강의 준비해주셔서 감사합니다.다름이 아니라 제가 지금 언리얼 버전을 최신으로 설치해놓은 상황인데 강의에서는 4.27.2버전을 설치하라고 하셔서 혹시 4와 5의 차이가 있는지, 5버전으로 수강을 해도 수업을 따라갈 수 있을지 궁금합니다..!
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
잡큐단위 내부에서 잡큐호출
이미 잡큐로 넘긴 일감안에서 함수호출을 일감으로 넘기는 구조에 대해서 의문이 생겼습니다( Enter를 DoAsync로 호출했는데, 내부에서 다시 room함수를 DoAsync로 호출한 상황 ) 제가 먼저 고민해본 결과는 어차피 일감으로 넘겼으니 동기로 바로 호출해서 순서도 지키고 괜찮을 것 같다.-> 다만, 동기 호출이 내부에서 반복되어 오래 걸릴경우 스레드가 잡혀있을 수 있음( 실행시간을 정해줬다 하지만 동기호출이 반복될 경우 ) 내부 함수 호출도 잡큐단위로 넘기면 GlobalQueue로 스레드 일감 분배되고 좋을 거 같다.-> 다만, 바로바로 처리하지 않을 수 있기에 순서(?) 문제가 생길 것 같다.엄청 무거운 뭐 길찾기라던지의 작업이 아닌이상 그냥 동기 호출하고, 무거운것만 다시 잡큐로 넘기는게 좋은 방법이라는 생각도 들기도 하고 그냥 에라 모르겠다 싹다 동기 or 잡큐로 넘기기 방식도 있을거 같은데 강사님의 의견이 궁금합니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
LyraFrontEnd 에서 로딩화면에서 넘어가지 않는 원인이 뭔지 질문드립니다.
안녕하세요 Lyra 클론 코딩 강의를 보면서 Lyra 의 이것저것을 살펴보던 중lyra 코드를 살펴보니 L_LyraFrontEnd 라는 Level 이 있는 것을 발견하고 강의에서 다룬 L_DefaultEditor 에 추가로 L_LyraFrontEnd 라는 것을 클론하면서 시작화면을 구성해보는 공부를 하고 있었습니다. 클론 작업을 하다가 로딩화면에서 다음으로 넘어가지 않는 문제가 있어서 혹시 제가 어느 부분을 놓치고 있는지 조언을 얻을 수 있을까 하여 질문드립니다. 해당 질문이 현재 강의 내용을 벗어나기에 대답이 어려울 수 있으나 혹시나 하여 질문드립니다. 요약 :void ULyraFrontendStateComponent::FlowStep_TryShowPressStartScreen(FControlFlowNodeRef SubFlow)함수의 if (!UserSubsystem->ShouldWaitForStartInput()) 에서 if 문을 타지 않는데 ShouldWaitForStartInput 를 설정하는 부분은 lyra 에서 어디일까요? 자세히 설명 : 흐름은 다음과 같습니다. Lyra 에서는 L_LyraFrontEnd 를 실행하면서 B_LoadRandomLobbyBackground 가 실행되면서 로딩화면이 나오고 로딩 화면 다음으로 넘어가면서 B_LyraFrontEndExperience 에서 Add Component 를 통해 추가한 B_LyraFrontendStateComponent 가 실행되면서 메뉴창 이 나옵니다.동일한 내용을 Clone 하다보니 1. 번의 로딩화면에서 그다음으로 넘어가지 않는 문제가 발생하였습니다.로그를 살펴보면LogLyraExperience: EXPERIENCE: OnExperienceLoadComplete(CurrentExperience = LyraExperienceDefinition:B_LyraFrontEnd_Experience, Server)LogCommonSession: Session state is NoSessionLogBlueprintUserMessages: [B_LoadLobby_C_3] Lobby background loadedLogBlueprintUserMessages: [B_LoadLobby_C_3] Lobby background shownLogBlueprintUserMessages: [B_LoadLobby_C_3] UnknownLogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start ScreenLogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start ScreenLogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start ScreenLogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen LogLoadingScreen: Loading screen showing: 1. Reason: Try Show Press Start Screen 이라는 로그가 주기적으로 찍히면서 로딩 화면에서 넘어가지 않았고 코드를 살펴보니 void ULyraFrontendStateComponent::FlowStep_TryShowPressStartScreen(FControlFlowNodeRef SubFlow) 에서 if (!UserSubsystem->ShouldWaitForStartInput()) 해당 if 문 내부로 들어가야하는데 들어가지 못하고 있었습니다.그렇다면 press start 라는 입력을 대기하고 있다는 것 같은데 lyra 프로젝트에서는 따른 키 입력 없이 자동으로 로딩화면이 넘어갔기에 어디선가 설정을 빼먹은 것 같습니다. 혹시 해당 설정 관련하여 놓친 부분이 어디인지 알 수 있을까요? 감사합니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
리소스 이주했는데 안보이는데 어떻게 해야하나요?
실제 경로에 가보면 파일이 이주되서 존재하는데 엔진에서만 안보입니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
포트폴리오 작성 후 확장 방향에 대해 질문이 있어서 글을 남깁니다
안녕하세요저는 C# C++ 등 서버 강의를 수강해왔고 꽤 오랜 시간이 지났지만 올해 집중적으로 준비를 했습니다. 결론부터 말씀을 드리자면포트폴리오를 작성 중 향후 확장 설계에 관해 궁금한 점이 생겨서 질문 글을 남깁니다. 현재 제 PC 사양에서 로컬 테스트와 분산 환경 테스트정도 진행했습니다. 하지만 AWS나 Azure 같은 로드밸런서를 사용하지 않아서 제한된 환경이었구요 워커 분배 모델에서 Idle 상태의 시간에 따라 워커를 분배하는 방식이 다르다고 알고있습니다.게임 로직을 처리하는 워커는 상대적으로 바쁘기 때문에 코어 수만큼, IO 를 처리하는 워커는 idle 타임이 대부분이기에 코어 x 2를 배치한다라고 알고있습니다. 현재 저는 IO , Logic , Send 총 3가지의 워커를 나눠서 사용하고있고 추후 DB 등록에 대한것도 추가될 수 있다고 생각하는데요. 수평 확장으로 수백개의 Room이 돌아가게되면 busy-wait (현재 Logic 워커) Loop를 돌고 있는데 이게 cpu를 놓아주지 않는 경우가 생길 수 있을까요?이렇게 될경우 IO Stall 현상이 나타나면 Server에선 치명적으로 다가올 수 있다고 생각합니다. 그렇다면 Logic 워커에서 Sleep, 또는 OS로 CPU 제어를 명시적으로 반환을 하도록 설계를 해야할까요? 지금 하고있는 고민이 맞는지 의심스러워 질문을 남기게 됐습니다. 그리고 JobQueue (Update가 들어갈)에 IO Job이 쌓여있을경우 fixed tick 기반의 서버 프레임에 변동이 발생하는데 이걸 어떻게 해결할 수 있을까요?Timer를 통한 재귀적 등록이냐, Timer에 Push하는 전용 워커를 두고 fixed tick 마다 깨어나 전체 Room에 대한 Timer 등록이냐 너무 복잡해서 질문을 남기게 됐습니다.그리고 신입으로 상채 지원해서 서류, 과제 통과 후 면접이 잡혔는데 공채와는 사뭇 다른 면접일 것 같은데 혹시 조언은 구할 수 있을까요?여기는 플랫폼 서비스를 제공하는 C# 서버를 주로 다룬다고 해서 준비해야 할 개념적인 부분이 있을까요?제가 준비하면서 고민했던 굉장히 추상적인 내용들이라 모호한 부분이 많습니다.항상 좋은 강의를 남겨주셔서 감사합니다. 시간이 지나도 계속 찾아보게 만드는 강의여서 갑자기 찾아와 질문을 남기게 됐습니다.
-
해결됨[Rookiss R&D Lab] UE5 Framework Insight (Liu)
혹시 후속강의 제작 계획은 없으신가요?
혹시 후속강의 제작 계획은 없으신가요? 좋은강의라 생각해서요 혹시 후속 강의 제작 계획은 따로 없으실까요?
-
해결됨UI 디자이너를 위한 엔진강의, 언리얼 UMG 요리법 (입문)
아직 강의를 시청중이긴 한데 혹시 다음 강의도 준비하고 계신가요?
혹시 다음 레벨의 강의도 준비하고 계신지 궁금합니다.
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
3d game 리소스 추출하는 방법
안녕하세요 루키스님 언제나 강의 잘 보고 있습니다. 다름이 아니라 제가 이제 강의를 다 봐서 3d게임(다크소울) 모작 포트폴리오를 만드려고 하는데 리소스들을 어떻게 구하면 될지 고민입니다. 텍스쳐, 모델링, 애니메이션 등등 많은 리소스들이 있을 텐데 루키스님께서는 3d 게임 포트폴리오를 만드실때 리소스를 어떤 방식으로 얻으셨는지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
if (NameProp) 은 if (NameProp != nullptr)이랑 같은 의미인가요?
제목의 내용과 같습니다.if문에 true/false만 익숙한터라, 낯설어서 질문드립니다. FProperty* NameProp = UTeacher::StaticClass()->FindPropertyByName(TEXT("Name")); if (NameProp){ ... }
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
TakeFromAbilitySystem 함수에서 Array 에 대한 remove 는 수행하지 않나요?
TakeFromAbilitySystem 는 protected 여서다른 객체에서 AbilitySpecHandles 에 대해 직접 정리를 수행하지는 않을 것 같은데요.함수 내에서 AbilitySpecHandles 에 대한 정리는 수행하지 않는 이유가 있나요?