묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
액터를 C++로 생성하는 이유
강의를 듣다가 의문이 생겨 글 남깁니다.분수대를 만드는데 BP와 C++을 이용해서 각각 만들어봤는데BP를 통해서 만들때는 너무 쉽고 간단하지만 C++을 사용할때는 복잡하고 초기에 해줘야하는 세팅이 너무 많은것 같아서 굳이 왜 C++을 통해서 액터를 만들어야하는가? 라는 의문이 듭니다.가령 액터를 꾸미는? 작업은 BP로 하고 주요 로직은 C++로 작성하는게 맞지 않나 라는 생각이 드는거죠. 실제 현업에는 어떻게 사용하지는 모르겠지만, 프로그래머가 C++을 통해 맵에 배치할 모든 액터를 작성하지 않을 것 같아서 질문 드립니다.액터를 만들때에는 왜 C++을 사용해야하는지?만약 그렇다고 한다면 일련의 노가다와 같은 초기화 작업을 다 해야하는지?지금까지 강의를 들었을 때 제가 내린 스스로의 해결법?은 C++ A클래스를 만들고 헤더 파일에 UPROPERTY(VisibleAnywhere, BlueprintReadWrite)를 통해 프로퍼티를 열어둔 상태에서 B라는 블루프린트 클래스를 만들어서 A를 상속 받은 후 에디터를 통해 작업하는 것 입니다. 이것도 어떻게 생각하시는지 궁금합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
9강 30:13 에서 빌드 에러 부분입니다.
강의 내용에는 #include Engine/OverlapResult.h" 를 포함하지 않음에도 불구하고 빌드후 에디터 실행까지 이루어지지만, 현재 버전에서는 어째서인지 깃허브 파일에서 추가해놓은 위 헤더를 추가해야만 빌드가 실행이 되는 것으로 보입니다..
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
ABCollision.h
ABCollision.h 에서 CoreMinimal 헤더파일의 경로를 자꾸 못잡아주네요. 메모장에서 .h 바꿔서도 해보고, 깃허브에서 ABCollision.h 파일을 옴기고 generate 다시 해봐도 ABCollision.h 파일에서 CoreMinimal 경로를 못찾네요 어떻게 해줘야 할까요
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
재장전 관련 공부 중, 궁금한 점이 있어 질문 올립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요, 언리얼 블루프린트를 배우기 위해 강의 신청한 학생입니다.재장전 수업 관련 블루프린트를 배치하던 중에서 조건과 실행 내용의 배치 순서에 따라 결과 값이 다르게 나오던데 이유가 제가 생각하는 이유 때문인지 아니면 다른 이유 때문인지 궁금합니다.1) 각 블루프린트 이미지 1-1) 1번 블루프린트 : 브랜치(조건) -> 실행문 배치 1-2) 2번 블루프린트 : 실행문 -> 브랜치(조건) 배치2. 결과 값이 다른 이유 개인 추측 내용 2-1) a. 1번 블루프린트의 경우, 조건을 우선적으로 판단 -> 이후에 총알 감소 실행문 절차 진행 b. 위 과정에서 1발이 남았을 경우, 실행문보다 조건문이 더 빠르므로 아직 해당 조건의 'True'에 적합하지 않음 c. 그에 따라 'False' 절차 진행, 1-1 절차값이 0이므로 0을 출력 d. 이후, 추가적인 절차 진행 시, 조건의 'True'에 적합하여 '총알이 없습니다!' 텍스트 출력 2-2) a. 2번 블루프린트의 경우, 실행을 우선적으로 진행 -> 이후에 조건을 판단 b. 위 과정에서 1발이 남았을 경우, 실행문이 더 빠르므로 1-1 절차 진행 및 절차값 0 제공 c. 이후, 조건문의 조건에 적합함에 따라 'True' 절차인 '총알이 없습니다!' 텍스트 출력
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
OnHpChanged 델리게이트 관련하여 호출순서 질문 드립니다.
7강을 끝낸 시점에서UABHpBarWidget::NativeConstruct()는UABCharacterStatComponent::BeginPlay()보다 먼저 호출되어야만 하는 것으로 알고 있는데요,(위젯의 NativeConstruct() 호출을 통해 먼저 함수를 OnHpChanged 에 바인딩 한 후, BeginPlay()를 호출하여 내부의 SetHp(MaxHp)를 호출, 그 안에서 OnHpChanged.Broadcast(CurrentHp); 실행을 통해 바인딩된 함수를 호출하여 위젯의 HpProgressBar를 초기화.) 문제는 위 두개의 함수 내부에 로그를 찍어보니 위젯의 NativeConstruct() 보다 캐릭터스텟의 BeginPlay() 가 먼저 호출이 됩니다. 혹시 저만 그런것인지, 그리고 제가 겪고 있는 현재 이 호출 순서는 정상적인 흐름인 것인지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
31:19 위젯컴포넌트와 액터의 정보를 가져오는것과 관련한 질문입니다.
현재 궁금한 것이 두가지가 있습니다.위젯은 자신을 소유하고 있는 액터를 직접적으로 가져오는 함수가 유저 위젯에 기본적으로 존재하지 않는것인가요? 만약 이것이 불가능하다면, 위젯은 자신을 소유하고 있는 위젯 컴포넌트를 통해서 위젯 컴포넌트를 소유하고 있는 특정 액터의 포인터를 가져오는 함수가 유저위젯에 존재하지 않으며, 또한 해당 액터의 포인터를 저장하는 변수도 유저 위젯에 모두 구현되어있지 않기 때문에 임의로 확장해서 이것들을 전부 구현했다고 볼 수 있는건가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
OnOverlapBegin함수에 관하여 질문있습니다.
안녕하세요 교수님.OnOverlapBegin 함수를 선언할때 많은 매개변수들이 있는데, 이러한 매개변수들을 외우고 다니는게 아니라면 참조하여 갖고올만한 소스코드나 파일이 있어야할 것 같은데, 어떠한 경로를 통해 갖고올 수 있을까요?추가적으로, 박스 콜리전 크기를 코드에서 설정해주고 있는데 박스 크기의 경우에는 경우에 따라 에디터에서 계속해서 변경하면서 테스트 해보고 싶을 수 있을 것 같은데, Blueprint에서 변경할 수 없도록 코드에서만 사이즈를 설정가능하게 한 이유가 혹시 있을까요? (UPROPERTY(VisibleAnywhere, Category = Box)) 항상 강의 잘 듣고 있습니다. 감사합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
우선순위 관련 질문입니다.
34:49 에서, DeadSlot 가 최우선순위로 재생하도록 설정하셨다고 하였는데, 이 죽는모션이 최우선순위로 재생된다는 것이 어떤 의미인지 알고 싶습니다. defaultGroup 안에서의 2개의 슬롯 중 DeadSlot 이 다른 슬롯보다 우선순위로 재생된다는 의미인가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
c++파일의 삭제에 관하여 질문드립니다.
안녕하세요. 교수님 파일명 변경에 관하여 질문드리고 싶습니다. Character를 만들때 이름을 MyABCharacter로 잘못지은 바람에, MyABCharacter를 ABCharacter로 수정하고 싶어 visual studio에서 삭제를 했습니다. 그러나 언리얼 에디터의 C++ classes에서는 MyABCharacter가 사라지고 있지 않아 질문드립니다. 어떻게 해야할까요? 추가적으로 이런 상황에서 파일의 이름을 변경하고 싶을때는 어떻게 해야하는지 질문드립니다. 에디터에서 auto로 제공하고 있는 기능이 있는지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
ConstructorHelpers에서 찾고자 하는 것이 오브젝트인지, 클래스인지 보는 방법이 있나요??
안녕하세요, 생성자도우미에서 경로로 애셋을 찾을 때, 오브젝트인지 클래스인지 구별하는 어떻게 확인하는지 궁금합니다. 임의로 타입정보 같아서, 위 정보를 참조 해 왔는데 Object로 가져와 지는걸 보니 아닌 것 같습니다. 감사합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
2강 [14:38] 레퍼런스 경로 가져오기 질문드립니다.
안녕하세요,1강에서 ConstructorHelpers로 find class 할 때는, 에셋 경로 위치에서 /Game 전에 있는 경로는 지우고 데이터를 읽어 왔습니다.이번에 2강에선 find object할 때 는 따로 경로를 수정하지 않으시더라구요. 둘다 인자로 받는것도 TEXT 주소값이고, 컴파일 과정에서는 에러 안나는거보면 엔진이 초기화 되다가 일어나는 문제인데 '/Game' 앞에 있는 저 경로가 ConstructorHelpers에 find object / class를 사용 함에 있어서 어떤 영향을 주고 왜 다르게 써야 하는지 궁금합니다. 감사합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언제 public을 쓰고 언제 protected를 써야 하나요?
헤더함수에서 public과 protected를 각각 언제 써야하는지 헷갈립니다. 예를 들어 2강에서, ABFountain.h에서는 컴포넌트들을 public으로 선언했고 ABCharacterPlayer.h에서는 컴포넌트들을 protected로 선언했는데 차이가 궁금합니다. 그리고 항상 BeginPlay는 protected로, Tick은 public으로 선언되어 있는데 이 부분도 왜 그런지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
빌드오류가 계속 나옵니다
vs 도구를 추가로 설치하거나 generate를 계속해주거나일반 프로젝트를 생성하고 source랑 contents를 넣은 뒤 generate를 해줘도 동일합니다강의자료로 해도 깃헙에서 받아도 전부 그렇습니다
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
PlayerController가 생성되지 않는 것 같아요.
오류가 있는 것 같아 수업자료 다운 받아서 모두 똑같이 연결 했는데도캐릭터가 움직이지 않고 공격입력만 받아져서 controller의 event begin play에 print text를 찍어봐도 아무것도 출력되지 않네요. 혹시 뭐가 잘못된 건지 짐작이 가시나요?world setting도 이미지 입니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
12주차 스프라이트 강의 영상이 재생이 안 됩니다
다른 영상은 정상적으로 재생이 되는데 12주차 스프라이트 만 재생이 안 되고 무한로딩이 됩니다. 재부팅이나 새로고침해도 해결이 안 되는데 확인 해주실 수 있을까요
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
GA_AttackHitCheck 에서 ExecuteGameplayCue
안녕하세요. AttackHitCheck 어빌리티 안에서 ExecuteGameplayCue 호출할 때 태그를 하드코딩하는 것이 아니라, BP에서 설정한 GameplayCue를 그대로 쓰고싶은데, 어떻게 할 수 있을까요? 꽤 검색했는데 찾기 힘드네요ㅠ ㅠ.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
비주얼스튜디오에서 빌드할 때 CS0103 "'Catch2' 이름이 현재 컨텍스트에 없습니다." 라는 에러메시지에 함께 빌드가 안되는데 어떡해야 될까요..
구글링을 해도 도저히 찾을 수가 없어서 질문 남겨봅니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UE 5.4 에서 폴더에 직접 헤더파일 추가 시에 프로젝트가 해당 파일 인식 못함.
강의에서 ABCollision.h 를 추가할 때에는 5.1 버전으로 프로젝트를 진행했고Physics 폴더 생성 -> ABCollision.h 파일 생성ArenaBattle.uproject -> Generate Visual Studio project files 를 실행의 과정을 거친뒤 .sln 을 실행했을 때 프로젝트가 ABCollision.h 파일을 잘 인식하여 ABCollision.h 내에서 #inlcude 'CoreMinimal.h' 에 문제가 없었습니다.5.4 버전에서 위와 같은 과정으로 헤더 파일을 추가하는데 #include 'CoreMinimal.h' 를 프로젝트가 인식하지 못하고 빨간줄이 그어져 있습니다.다음은 제가 시도한 방법들 입니다.VS 킨 상태에서 .proj 의 generate .. 실행VS 닫은 상태에서 .proj 의 generate .. 실행Binaries, Intermediate, Saved 폴더를 삭제하고 Generated Visual Studio project files 실행Unreal Editor 에서 Tools -> Reflesh ..위의 과정들을 모두 해도 계속해서 추가 파일을 프로젝트가 인식하지 못합니다... 왜 이런 걸까요.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
showdebug abilitysystem 캐릭터 녹색 박스 오류
안녕하세요. 강의 참고해서 프로젝트 작업하고 있습니다.showdebug abilitysystem 를 사용했을 때 녹색 박스의 한 꼭지점이 원점에 고정되어있습니다.다른 곳에 배치한 NPC 또한 마찬가지입니다.혹시 해결방법을 알 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
마켓플레이스가 Fab으로 바뀌면서 더이상 Infinity Blade 에셋을 제공하지 않는것 같습니다.
8강의 infinity Blade: Weapons 에셋팩을 다운받으려 마켓 플레이스에 갔는데 Fab으로 바뀌어 있었습니다.Fab에서는 검색해도 해당 에셋팩이 뜨지 않고, 에픽게임즈 런처를 열어 Fab으로 바뀌기 전 받아놓았던 Infinity Blade: Warriors을 라이브러리에서 들어가도 Page not found가 뜹니다ㅠㅠ이런 경우에는 깃헙의 Content 폴더에 MaterialLibrary를 다운받아서 그대로 쓰면 될까요? 아니면 Fab에서 적당한 무료 weapon 에셋을 받아서 쓰면 될까요?