묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
추가해도되는 헤더인지 봐주세요.
안녕하세요.OnGateTriggerBeginOverlap함수에서 오버랩구조체를 간단히 사용됬는데, TArray<FOverlapResult> OverlapResults;어쩐일인지 정의가 안됬다고 자꾸 빌드실패해서,...어쩔수없이 그녀석 헤더 를 포함시켰는데요.#include "Engine/OverlapResult.h"문제가 찜찜하게 해결되서 여쭤봅니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
많이 어려운데, 한개씩 이해하고있는 중이라,질문입니다.
스탯,위젯컴포들의 초기화를 하려할때, 스탯정보를 갖고있는 컴포넌트는 postinitializer로 생성이되고, 스탯정보로 자신을 업데이트할 위젯컴포넌트는 비긴플레이에서 생성이되는데, 위젯이 스탯컴포넌트를 알기위해서 nativeconsturctor함수를 쓸때 자신의 오너정보를 가져와야하는데, 오너,즉 플레이어나 몬스터는 ,비긴플레이이후라면 이미 생성이 되있을텐데, (선생님도 알수없는 언리얼의 설계라서)둘을 연결하기위해선 1. PostInitializeComponents(스탯컴포넌트는 이시점에), BeginPlay(위젯은 이시점에) -> 이 과정은 이미 적용되었고,2. 클래스확장을 더할건데, 컴포넌트와 위젯의 파생클래스를 만들고, "인터페이스"를 추가하고, 컴포지션방식으로, 플레이어의 함수를 스탯에 등록시켜서 연결한다.->제가 이해한게 맞나요?-> 이 다음이 아직 머릿속에 정리가 안되는데, ..
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
GetWorld() 가 nullptr을 반환합니다
좋은 강의 감사드립니다. 9강 무한맵의 제작 파트 중 28:29초, 31:27초에 나오는 GetWorld() 관련 함수에 대해 질문드립니다. 아무리 캐릭터를 움직여 문쪽으로 다가가도 새로운 맵을 생성하지 않습니다. 떨어지지 않을 정도로 문 밖에 나갔다가 다시 맵 안으로 들어오면 에디터가 터지는 현상이 생겨 알아보니 SetFight에서 타이머를 설정하는 부분에서 GetWorld가 nullptr을 반환한다는 것을 로그로 확인했습니다.강사님의 깃허브에서 코드파일을 받아 실행했을 때에는 정상 작동되는 것을 확인하였고, 해당 파일의 ABStageGimmick 관련 헤더와 cpp만 그대로 복사하여 제 환경에서 실행해보았을 때에는 똑같이 GetWorld()가 nullptr을 반환하는 현상이 나타납니다.맵을 생성하지 않는 문제도 OnGateTriggerBeginOverlap에서 GetWorld()를 호출하는 코드 때문인 것 같은데, 해당 부분에 중단점을 찍어 살펴보니 중단점이 한 번 걸린 이후에는 정상적으로 맵도 생성되고, 이후 SetFight 코드도 정상실행됩니다. (중단점을 안 찍으면 맵이 생성되지 않으며 SetFight가 호출될 때 터집니다)강사님 코드를 그대로 사용하는데 왜 이런 문제가 생기는 걸까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
궁금한게 있어요!
안녕하세요 해당 강의 보면서 Sprite와 Unity에서의 Atlas 관련해서 궁금한게 있습니다. BitBlt을 사용해서 Sprite 하나씩 그려주고 있어서 나중에 CPU, GPU에게 부담이 갈 수 있는 상황이라 가정하면 Unity에서의 Atlas처럼 한번에 묶어서 처리하도록 만들게 될텐데 여기서 궁금한게 Atlas라는게 여러개의 Sprite들을 다시 하나의 Texture로 만드는 과정일까요?그리고 이렇게 Atlas같은 기능을 활용하면 CPU, GPU에게 덜 부담을 주게 되는건 알겠는데 메모리 상으로는 여러 Sprite로 묶은 Texture를 만들어야하니까 메모리적으로는 불이익을 볼 수 있는걸까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
매크로 지정자설정 질문입니다.
매크로 질문UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, Meta = (AllowPrivateAccess = "true"))BlueprintReadOnly는 블프에서 수정이 안되는것이고,AllowPrivateAccess = "true"는 레벨에디터>디테일패널에서만 수정되는데, 그러면,스폰해서 사용할땐 수정내용이 적용이 안될텐데, 담당자외에 수정못하게, 테스트용으로만 사용하란 의도일까요?비주얼스튜디오문제언리얼5.4를 사용중인데,어느순간부터 매크로 지정자들과 몇몇함수들이 자동완성이 안되던데, 혹시 해결책 아실까요? 타이핑도 느리고,명칭들을 정확히 알지않는데, 시간이 더 오래 걸려서요..비주얼어시스트는 너무 비싸구요.
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
BeHavior Tree 강의 중 AI가 움직이지 않습니다.
안녕하세요~ 5.4버전을 사용하고 있고강의를 따라했는데, 몬스터가 이동하지 않습니다.Print String으로 좌표를 출력해보면, 동일한 좌표만 출력하고 있습니다. 확인 부탁 드립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
5강 HitCheck문제
5강을 듣고 수행하면서 마지막 테스트할 때 점프를 하기 위해 스페이스바를 누를 시 점프는 수행되지 않고 hitcheck만 계속해서 수행되는 것 같습니다. 코드와 tag등 똑같이 따라하였는데 무엇이 문제일까요?위의 사진처럼 스페이스바를 꾹 누른 상태로 돌아다니면 점프 대신에 이렇게 나옵니다
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Mac visual studio -> vscode 대체
Mac visual studio가 지원중단되어서, 혹시 vscode로 대체하여 강의 수강이 가능할까요?
-
미해결언리얼 엔진4 입문 (C++ 기반)
RPG프로젝트
수업으로만 보고, 너무 공부하고싶은데, 다운받고보니, 비주얼스튜디오가 2017이더라구요. 엔진버전 스위칭하니, 빌드실패하고.결국 언4와 vs2017로 봐얄거같은데, 비주얼스튜디오 2개버전 설치해도 괜찮나요?요즘 언5.4쓰고있어서, 비주얼스튜디오에서,인텔리센스 이상하고, 자동완성에러,컴파일에러가 드글거려서 뒷목잡고 하거든요.행여,두버전 설정 꼬일까 걱정되서요.
-
미해결언리얼 엔진4 입문 (C++ 기반)
플레이어랑 적이랑 구분했던가요?
선생님 안녕하세요.우여곡적끝에.. takeDamage함수를 성공?해서 ,원점에 꽂힌 칼을 뽑아 레벨에 세워둔 다른 인스턴스를 때리러 갔습니다.바로 칼을 뺏겼습니다. 당황해서 다시 '오버랩이벤트'를 발생시켜 칼을 뺏고 재빨리 때려서 데미지입는건 확인했습니다. 그와중에 몇번더 뺏기고,다시뺏고를 반복했습니다.제가 뭘 실수한걸까요...?알려주세요 ㅠㅠ(버전5.4에서 헤더 폴더위치 바뀐거땜에 삽질좀하느라,멘탈이 털렸어요.ㅋㅋ ㅠ)//-----------------------------------------(추가)다음강의에서 npc처럼 랜덤배회하면서 오버랩될때마다 무기를 가져가요. 귀엽긴하지만, ... 의도는 아니니까... 간단히 방지할 방법 없을까요?
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
F8을 눌러도 게임 화면에서 나오질 못해요
강의를 보며 학습중인데, 강의 중 게임실행화면에서 F8을 눌러 실행과정을 살펴볼 때 저는 F8을 눌러도 게임실행화면에서 나오질 못합니다 ㅠㅠ검색도 해보고 찾아봤지만 해결을 못하고 있습니다 ㅠㅠ키세팅이 만진 적이 없는데, 언제 바뀐건지 해결이 안되고 있습니다.어디서 설정을 해야되는지 도와주세요 ㅠㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UPROPERTY() 사용 시 Category 지시자가 적용되지 않는 문제
안녕하세요 교수님, 교수님의 강의에서 많은 도움을 얻고 있습니다.양질의 강의에 언제나 감사드립니다. 간단한 토이 프로젝트를 만들던 중 제목과 같은 문제를 마주했습니다.AnimInstance 클래스 안에서 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Character)TObjectPtr<class UCharacterMovementComponent> Movement; 위와 같이 프로퍼티를 만든 후에 AnimInstance를 상속받은 블루프린트 클래스를 만들었습니다.하지만, 블루프린트 클래스의 디테일 패널에서 Character 카테고리를 찾아볼 수 없는 문제가 발생했습니다. 언리얼 에디터를 종료하고 빌드를 해봐도 고쳐지지 않고라이브 코딩을 시도해도 달라지지 않았습니다.어떻게 해결해야 하는지 알고 싶습니다.또 현재 프로젝트에 스켈레탈 메쉬를 적용하려 하는데, 구버전인 언리얼 4 버전과 언리얼 5 버전의 스켈레탈 메쉬가 있습니다.호환성이나 성능, 안정성 측면에서 무엇을 사용하는 것이 더 나은 방법인지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
ConstructorHelpers::FObjectFinder 사용하실때 static오 변수 선언해서 넣는 이유가 있나요?
ConstructorHelpers::FObjectFinder 사용하실때 static오 변수 선언해서 넣는 이유가 있나요?static 안쓰고 하면 어떤 문제가 있을까요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
안녕하세요 루키스님 메모리 릭 관련해서 질문드립니다.
마지막 업로드 파일 기준으로 메모리 릭이 발생되는데요. 서버가 열리지 않았을땐 발생하지 않아서 서버와 연결하는 부분인것 같았고 구글 프로토퍼프때문인가 싶어 검색하여 게임 소멸자에google::protobuf::ShutdownProtobufLibrary();이 구문을 추가했더니 조금 릭이 줄긴했지만 여전히 메모리 릭이 발생합니다. 게임세션이나 서비스가 상호참조되어 스마트 포인터가 해제가 안되나 해서 열심히 찾아봤지만 그부분 문제가 아닌것 같더라구요..어느 부분에서 발생하고 어떻게 고쳐야 하는지 알려주시면 감사하겠습니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
2-15강 적군을 처치한 score UI가 업데이트 X
안녕하세요 득우님, 2-15강에서 적군을 처치한 score UI가 제대로 업데이트 되지 않아서 질문을 남기게 되었습니다. 강의대로 따라한 결과, Controller 블루프린트에서 GameOver와 GameClear event는 제대로 동작하여서 게임의 승리와 죽음시 관련 UI들은 잘 spawn됩니다. 하지만, 적군 NPC 처리시 적군 처리 count가 업데이트가 안됩니다. 그러나 적군 처리시 text widget의 숫자의 색깔이 변하는 것으로 보아, WBP_PlayerScore의 custom event들은 잘 트리거 되지만, 아래 그림의 빨간 화살표가 가르키는 New Score 변수가 업데이트 되지 않는다는 것으로 유추해 보았습니다. 그래서 만약 제가 생각한 가정이 맞다면 다음과 같은 궁금증이 생겼습니다.1. WBP_PlayerScore의 custom event를 트리거하는 부분은 어디에 있는지2. 각 WBP_PlayerScore의 custom event에 Input으로 들어가는 "New Score"라는 변수는 어떻게 접근하는지3. Controller에서는 Custom event를 트리거할때 Kismet 접두사가 붙은 C++함수로 컨트롤 했는데, PlayerScore의 custom event도 같은 방식인건지 감사합니다!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
아이템과 캐릭터의 관계
현재 프로젝트의 아이템 시스템은 캐릭터가 아이템을 습득 -> 아이템 관련된 함수를 캐릭터에서 직접 구현 방식으로 되어있는데캐릭터에 스탯 컴포넌트 또는 무기 장착 함수 등을 public 형태로 두고 접촉한 아이템이 캐릭터의 함수를 호출하는 방식으로도 생각을 했습니다어떤 방법이 더 나은걸까요? 현재 프로젝트(게임이랑 성격이 조금 다릅니다)에서는 UI도 쓰이는데 이 때 레벨마다 UI를 사용할 때도 있고 아닐 때도 있어 캐릭터는 기본 함수 제공, UI에서 Delegate 또는 직접 접근으로 처리중인 상황입니다어떤 설계가 더 나은지 또 캐릭터에서 아이템 등을 직접 참조하고 아이템 등은 캐릭터를 모르게 설계하신 자세한 이유도 한 번 여쭤보고 싶네요~
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
AnimGraph를 c++로 구현할 수 있나요?
만약 가능하다면, 수업에서 다루지 않은 이유는 무엇인가요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
서버 허락 후 움직이는 모델로 만들 때 궁금한 것이 있습니다.
안녕하세요!이동할 때 서버에 움직여도 되는지 묻고, 대답이 오면 그때 움직이는 방식으로 만든다고 했을 때,SetDir, SetState같은 것들도 위와 같은 방식을 취하는 게 좋을까요?이동은 선 보고 후 허락이 오면 이동하는 방식,SetDir과 SetState는 강의에서처럼 먼저 Set하고 서버에 보고하는 방식으로 코드를 짰는데이게 뭔가 흐름이 꼬이는 부분이 있는 것 같아요.두 개를 하나의 방식으로 통일하는 게 좋을지,보통 선 보고 후 허락이 오면 이동하는 방식을 취할 때SetDir, SetState같은 것들도 똑같이 허락이 오면 바뀌는 방식으로 하는지 궁금합니다.감사합니다. 강의 잘 보고 있습니다!
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
나이트가 몬스터에 부딪힐 때 멈추지 않고 뛰어넘어요...
나이트를 조작해 몬스터쪽으로 돌진했을 때 몬스터에 막혀서 제자리 걸음을 하는게 아니라 몬스터를 뛰어넘어?(확인해보니 깊이인 y축의 좌표가 변합니다) 이동합니다. (아예 통과하는 것은 아닙니다)아마도 움직일때 x또는 z축 좌표만 바뀌는게 아니라 y축 좌표까지 바뀌는게 문제인것 같은데 해결방법을 모르겠습니다ㅠㅠ
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
TsubclassOf 오류 관한 질문
현재 저부분에서 AABCharacterNonPlayer을 찾지못한다고 UHT001 오류가 나서 혼자 반나절을 해결해보려했지만 잘 모르겠습니다 제가 어느부분을 체크해보는게 좋을까요 강사님의 파일은 Generate 해서 실행해보면 잘 실행됩니다. 심지어 같은 코드를 붙여넣기해도 같은 오류가 나옵니다.또한 cpp파일에서도헤더를 추가했음에도이러한 ABChracterNonPlayer에 관한 오류가 발생합니다..