묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
동적배열 Vector의 push_back 함수에서 조건문 질문
void push_back(const T& data){ //TODO if (_size == _capacity) { //증설작업 int newCapacity = static_cast<int>(_capacity * 1.5); if (newCapacity == _capacity) newCapacity++; reserve(newCapacity);이런식으로 흘러가는데 if (newCapacity == _capacity)이 조건문이 왜 필요한지 잘 모르겠습니다. Main함수에서 vector를 처음 만들때 2개짜리를 만들면 애초에 저 조건문을 절대 거치지도않을텐데 굳이 필요한 이유가 뭔가요?지피티는 저 경우가 벡터의 크기가 0또는1일때 1.5배를 해도 크기가 증설되지 않으니까 그렇다고 말하고있는데 음 벡터를 0이나 1로 만들거면 애초에 그냥 변수로만들지않을까요..? 저 조건문이 왜 필요한지 궁금합니다..
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
강의내용중 언리얼 2D게임 플리커현상질문입니다.
UE5 part2 타일 단위 이동부분을 듣고있는데요. 강사님하고 똑같은 구조로 만들어 나갔는데 완성하니 플리커현상처럼 깜빡이고 타일맵 레이어1에 해당하는 곳에서는 체력바가 뒤로 가는 현상이 계속 발생되더라고요 해결한거는 그냥 BP_Knight의 콜리전, hp바 위젯, 스프라이트를 각각 Y축으로 10씩 따로 놓는 방법뿐인데요 이게 뭐때문인지 알수있을까요 버전은 5.6쓰고있는데 혹 그 문제인건지 알고싶습니다.
-
해결됨2. [언리얼 시스템 연구 과정] UE5 스파르타 클래스: 심화편
척추라인 제어에서 spine control들을 root에 children하는 이유?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 척추라인 제어에서 bone 계층구조에서는 spine들은 pelvis에 붙어있는데 왜 control들을 root아래에 두는지 이유가 있나요?
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
BehaviorTree 강의 최신 버전(5.7) 해결법
최신 버전으로 강의 듣는 분들 중에서 혹시나 막히시는 분이 있을 것 같아서 공유드립니다. 저는 이렇게 해결했습니다.(여기서 블랙보드에 패트롤 로케이션의 값이 랜덤으로 잘 바뀌고 있다면, 실린더 콜리전 문제일 가능성이 높습니다.)추가로 위 처럼 세팅했는데 움직이지 않으면, BP_Monster에서 실린더 콜리전 세팅을 변경해보시기 바랍니다.노콜리전 또는 캐릭터 메시로 변경해보시고 테스트해보시기 바랍니다.
-
미해결[나 혼자 레벨업] UE5 멀티플레이 게임 제작 Lv. 1 (Listen 서버 입문)
Event Destroyed와 차이
Event Destroyed에 Refresh Lobby UI를 연결해서 실행해봤더니 OnDestroyed_Event랑 동일하게 동작하던데 둘의 차이는 뭔가요??
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
디버깅할때 메모리보는법 단축키가 뭐죠??
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 02:57부분 Exercise1번 k2디버깅할때강사님은 cpp/h 파일위에 메모리1창이 뜨면서메모리 볼 수있었는데이렇게 보려면 단축키가 뭘까요 ..?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
OnInterruptedCallback()으로 몽타주가 중간에 취소될 경우 CancelAbility를 호출하는게 맞을까요 ?
지금 OnInterruptedCallback()에서 EndAbility를 호출 하고 마지막 인자만 true로 넣어서 취소 표시만 해주는거 같은데 이렇게 했더니 어빌리티에서 활성화로 넣어준 태그가 중간에 공격을 받거나 다른 상태에 빠져서 애니메이션이 취소가 되면 태그가 사라지지 않는 문제가 생기더라고요. Cancel을 호출하는 식으로 변경해야 되는게 맞을지 궁금해서 남겨둡니다 .
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
5.7버전 move to 작동 안함
5.7버전으로 진행해보고 있는데, pawn이 움직이지 않습니다. 랜덤 좌표를 제대로 출력하는 것 까지는 되었는데 움직이지가 않네요 ㅜㅜ 다른 qna 참고해서 character bp를 새로 생성한 후 ai controller를 배치해서 동일하게 해봐도 작동이 안됩니다.. 혹시 이 문제를 어떻게 해결할 수 있을지 궁금합니다. 여기저기 인터넷에 검색해보니, pawn이 더이상 move to 로 움직이지 않는다는 인터넷 게시글은 몇 개 있는데 명확한 해결방법은 없네요 ㅜㅜ
-
미해결[나 혼자 레벨업] UE5 멀티플레이 게임 제작 Lv. 1 (Listen 서버 입문)
C++ 로 포팅
안녕하세요! 항상 잘 보고 있습니다. 아직 강의를 다 끝내지는 못했지만 C++로 포팅하는 강의도 나오나요? 감사합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
12강 행동트리에서 질문이 있습니다.
다회차 복습 중에 궁금점이 생겼습니다.1) 강의에서 AttackInRange 데코레이터 노드는 UBTDecorator 를 상속받은 것으로 보이며, UBTDecorator_Blackboard 를 상속받지 않은 탓인지 Observer aborts 를 Both 로 했음에도 불구하고 관찰자 중단이 제대로 작동하지 않고 있는 것 같습니다.CalculateRawConditionValue 함수는 위의 노드에서 중단이 아니라 진입 시에만 평가로 쓰이는 듯 합니다.(Enemy 의 기존 속도로는 Hero가 Enemy를 속도로 따돌릴 수 없어서 Enemy 의 MaxWalkSpeed 를 의도적으로 줄인 후 Enemy가 느리게 쫒아오게 만드는 상황을 만든 다음 Hero를 Detect 범위 밖으로 내보냈음에도 불구하고 Enemy는 Move to를 중단하지 않고 계속 쫒아옵니다. ) 2)Attack 분기에 달려있는 Can Attack 데코레이터는 DistanceToTarget 값이 AttackRange 값인 140 이하가 되었음에도 불구하고 즉시 하위 분기(Move To)를 중단하지 않으며, Move To 성공까지 더욱 바짝 붙은 후에야 공격을 진행하는 듯 합니다. 아무래도 Oberver aborts 가 None 이므로 Move to 중단이 적용되지 않은 듯 하나, 이것 또한 Both 로 설정하였어도 위의 1) 상황과 같으므로 중단을 수행하지 않을 듯 합니다. 다음은 테스트를 수행한 코드입니다.https://github.com/jaebyoungPark/ArenaBattle
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
HasMatchingGameplayTag 역활이 조금 이해가 안갑니다.
1,2 강을 마무리 하며, HasMatchingGameplayTag 는 해당 게임플레이 테그가 현재 ASC 에 등록이 되어 있는지 체크하는 것으로 이해했는데요.HasMatchingGameplayTag 없다면 TryActivateAbilitiesByTag 를 통해 ABTAG_ACTOR_ROTATE 테그를 실행함으로서, ABTAG_ACTOR_ISROTATING 도 같이 asc 에 등록이 되고 CancelAbilities 를 통해 해체가 되면 ABTAG_ACTOR_ROTATE, ABTAG_ACTOR_ISROTATING 둘다 asc 의 테그 목록에서 사라진다. 이렇게 이해해야 하나요?
-
미해결언리얼 엔진 5 with AI, 대화형 NPC 제작
12강 TimeAPI 접속불가
어제 (2026/01/16) 12강에 나오는 TimeAPI (https://timeapi.io/) 에 접속하려고 했는데,접속을 시도할 때마다 사이트가 응답하지 않는다는 메시지만 떴고,다른 비슷한 사이트에서도 같은 결과가 나왔습니다.Powershell을 이용한 자체검사를 시도해 보니 제 쪽에서는 문제가 없고 TimeAPI 쪽에서 응답하지 않는 것이라는 결과가 나왔으며,오늘 아침에도 접속을 시도해 봤는데 결과가 같았습니다.그래서 TimeAPI를 사용하지 못하는 지금, TimeAPI 접속 문제를 해결할 수 있는 방법을 알고 싶고, 강의에서 소개된 코드 및 작업과정을 거의 수정하지 않고도 TimeAPI를 깔끔하게 대체할 수 있는 사이트가 필요합니다. 도와주실 수 있나요?
-
미해결4. [언리얼 전문가 과정] UE5 스파르타 클래스: 더블 프로젝트 (BP & C++)
안녕하세요. 5개월전에 실전편, 심화편, 모작편, 코딩테스트 유료강의를 결제해서 공부하고 있습니다.
5개월동안 추가적으로 언리얼xAI 통합 C++ 개발편과 C++스파르타 클래스 까지 전부 보고나서 앞으로 강의하시는데 도움이 되실까해서 적어봅니다.저는 참고로 2년동안 언리얼엔진을 공부하기 위해서 수많은 유료강의와 무료강의를 공부했습니다.(노동x, 최은x 강사님, 박종x 강사님, 취미로언리x등등)보통 언리얼엔진의 유료강의는 게임의 전반적인 시스템을 구축한 상태에서 강의를 시작합니다. 게임 템플릿을 먼저 제공한다음 월드맵, 이동수단, 캐릭터, 포션, 무기종류, 모션등등 이미 만들어진 시스템을 이용해 추가하거나 변경 또는 삭제하는 방법위주로 강의를 합니다. 그와 반대로 스파르타 클래스 강사님은 게임의 전반적인 시스템을 구축하는 과정을 강의합니다.(모작편 98강 기준) 각각 장단점이 있습니다.예를들어 노동x , 최은x 강사님 강의는 내가 원하는 모든 게임을 만들 수 있습니다만, 언리얼엔진 버전5.2와 5.3버전 까지만 가능합니다. C++로 전반적인 시스템을 구축한거라 그 이상버전(5.4이상)에서는 사용할 수 없습니다.(예 : Foot ik기능을 강사님이 직접 C++로 구현) 스파르타 클래스 강사님의 강의는 현재 ''모작편 98강 기준'' 게임의 전반적인 시스템을 구축한 상태라고 하기엔 부족한 점이 많습니다.------------------------------------------------------------------------게임의 메뉴설정 옵션 ui, 총기종류, 무기종류, 건물을 올라가거나 높은곳에서 활강, 다양한 전투 스킬(잡거나 때리기, 마법등), 돌맹이나 캔종류를 들거나 AI에게 던져서 데미지를 줄수 있는방법, 체력아이템이나 마나아이템, 다양한 캐릭터(맨손, 총, 칼, 마법등등), 공중콤보나 잡기콤보(철권), 포탈이나 이벤트시작시 다음 챕터 이동하기, 저장 불러오기등등------------------------------------------------------------------------액션게임이나 RPG게임의 기본적인 부분의 강의가 없습니다. 제가 5개월전에 스파르타 클래스 강사님께 유료구매를 구입하기전에 유튜브에 댓글을 달았었습니다.제가 2년동안 수많은 유료강의를 들었음에도 게임개발을 못하는 이유는 강사님들 각각 같은 강의라도 개발하는 방식이 다르기 때문에 내가 배운걸 응용하는게 불가능했기때문입니다. 그래서 답답한 마음에...제가 개발하고 싶은 게임의 구체적인 설명을 드리고, 실전편, 심화편, 모작편의 공부를 하고 마스터를 한다는 가정하에 제가 원하는 게임을 만들수 있을까요?라는 물음에 ''강의 내용중 없는부분도 있지만 기초적인걸 배우는 과정이라 강의내용을 잘 따라오신다면 가능합니다.'' 라고 답변을 하셨어요. 그래서 5개월동안 꾸준하게 공부를 했습니다만, 초보자 입장에서는 직접 게임만드는 과정을 보여주셔야 그걸 기준으로 잡고 응용할 수 있습니다.기준이 없는상태에서 부분부분C++를 공부해도 응용하는게 어렵습니다. 현재 ''UE5 스파르타 클래스: 오픈월드 도시형 게임 98강''마지막부분을 기준으로 게임만드는 과정을 이어서 강의를 해주시면(-----부분) 공부하는데 많은 도움이 될것 같습니다. 부탁드립니다.(꾸벅~) 현제 AI를 이용해 게임개발을 하는 언리얼엔진 강의는 대부분 5.6버전 이상인걸 고려한다면 5.6버전이나 5.7버전이 좋을거 같습니다.
-
해결됨1. [언리얼 노베이스/입문] 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로 랜덤 위치를 찍어주는것도 확인했습니다. 넘 답답합니당 고수님들 도와주세요
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
일단 왼손이 움직이긴 합니다.
강의를 따라왔다면, 다음과 같이 애니메이션 블루프린트를 수정해주면 됩니다.왼손, 오른손 애니메이션 모두 작동합니다. Animation 기초 강의를 끝내고 생각해보니, 오른손 애니메이션밖에 안만들었는데 왼손이 작동하는것부터가 문제 아닌가? 라는 생각이 들었습니다. 대체 어떻게 작동하나 템플릿을 살펴보니, 미러링 기능을 사용했네요. 어떻게 사용하는건지 몰라서 일단 비슷하게 만들기까진 했습니다.답답한 마음이 어느정도 해소되길 바랍니다. 파이팅입니다!!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
위젯 사이즈랑 위치 질문드려요.
안녕하세요. 선생님. 궁금한게 있어서 질문드립니다.수업내용과 똑같이 CharacterBase에 위젯 정보가 있고, 그걸 플레이어랑 NPC가 사용하고 있는데, 코드에서 위치값이랑 사이즈를 바꾸면, 플레이어는 바뀌지 않고, 엔피씨만 바뀌는데 왜그러는걸까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
113-충돌처리 강의에서 22:26 부근의 SetPos()를 적용해도 충돌되지 않고 뚫고 지나가게 됩니다.
ㅤㅤㅤ
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
행동트리의 데코레이션 관련하여 질문이 있습니다.
강의를 들은 후에 임시로 하나의 Decorator 를 만들어서 기능을 테스트 중인데. 혹시 잠깐 봐주실 수 있을까요? (길어서 죄송합니다..ㅠ)우선,1) Set TargetActor 1, 22) TargetToNull3) Print 1,2,3,4,5노드 전부 무조건 Failed 를 반환하도록 구성하였습니다. 위 로직에서 질문점)우선 'Set TargetActor' 노드를 통해 데코레이터에 설정된 Blackboard Key 인 'TargetActor' 에 'Actor 1' 를 Set 한 후 'About Target' 데코레이터 로직으로 진입할 때, 'TargetActor' Is Set==True 이므로 진입에 성공한 후, 'Set TargetActor 2' 노드에서 TargetActor' 에 넣은 'Actor1' 을 'Actor2' 로 바꾸었을 때, Abort(Self) 는 작동하는가? 입니다.Is Set 은 평가 결과가 True->False 일 때, 예를 들면 TargetActor(Actor1) -> TargetActor(Null) 로 변경되었을 때 Abort 를 발동시키는 것으로 알고 있었는데요, 근데 만약 TargetActor(Actor1) 처럼 유효한 값이 들어 있는 상태에서, 데코레이터의 하위 노드를 실행하는 과정에서 TargetActor(Actor2) 처럼 Null이 아닌 다른 유효한 값으로 변경할 때, 평가 결과는 결국 전후가 똑같이 Is Set ==True 일텐데 이것 또한 데코레이터의 Abort(Self) 를 트리거하는지 알고 싶습니다. 클로드와 Gpt, germini 는 전부 발동시키지 않는다고 설명하는데 아무리 봐도 미심쩍고 실제로 테스트해보면 Abort 가 발동하는 것 같아서 뭐가 맞는건지 혼동이 옵니다. 참고로 위 로직이 담긴 소스는https://github.com/jaebyoungPark/ArenaBattle입니다. 참고용) 다음 로직은 위와 비슷한 상황에서 Abort 가 실제로 발생하는 것으로 보이는 로직입니다.(위 로직은 제가 맨 처음 올린 로직의 바로 옆에 구현하였으며, 첨부한 깃허브 소스에 존재합니다.) Set TargetActor 실행 으로 인해 TargetActor(Actor1) 설정Set TargetActor 2 실행으로 인해 TargetActor(Actor2) 설정값은 변경되었으나, 평가 결과는 True->False 가 아니므로 Abort(Self) 는 실행하지 않고 Print3 를 출력하게 될 것으로 예상하였지만, 결과는즉시 중단하고 재평가(True) 후 Sequence로 가서 Print 2 실행.그리하여 Print2 가 연속으로 2번 찍힘. 아무래도 Abort가 동작한 탓인 듯 한데. 평가 결과는 분명 True->True 인데 Abort가 발동한 이유를 모르겠습니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
VS 2026 의 문제일까요?
아래는 변경후 적용해봄(그래도 같은 오류 발생) (아래는 현재 구성하고 있는 요소들) (SDK) 어제까지만 해도 2022 쓰다가 (이땐 문제가 없었습니다.) 포멧 이후에 VS 재설치 중에 2022이 없고 2026밖에 없어서 왠지 불안한 마음으로 설치를 했는데 결국 이런 에러가 뜨네요. 클로드가 하라는데로 왠만한 건 다 해본거같은데 그래도 뭘 또 놓치고 있는건지 알 수가 없습니다. (언리얼 5.4버전으로 시도함) 그래서 2026 으로 5.6 버전을 새프로젝트로 간단하게 만든 후 빌드 시도해보니까 에디터가 정상적으로 켜집니다. 일단은 우선 ai가 알려주는 MSVC 나 SDK 를 x64과 관련한 것들을 받아보라는 것들을 다 받아본거 같은데 도 이상하네요... 그럼에도 제가 놓치고 있는 부분이 있는걸까요?매번 binary 나 saved, immeditate 등 전부 지우고 다시 generate 를 하여도 똑같습니다. 다시 컴퓨터를 초기화해야 해봐야 할까 싶기도 할 정도네요. 참 어렵군요..