블프 에디터 사용 관련해서 질문있어요
미해결
[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
혹시 블루프린트 창 내 이벤트 그래프 / 뷰포트 창이 있잖아요? 단축키로 최대화 <-> 원상태로 토글 관련 단축키가 있을까요?
- unreal-engine
- ue-blueprint
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
혹시 블루프린트 창 내 이벤트 그래프 / 뷰포트 창이 있잖아요? 단축키로 최대화 <-> 원상태로 토글 관련 단축키가 있을까요?
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 유익한 강의 감사합니다. TSoftObjectPtr 통한 약참조된 객체의 경우 비동기 로딩 코드 문의 드립니다. UABWeaponItemData* WeaponItemData = Cast<UABWeaponItemData>(InItemData); if (WeaponItemData) { if (WeaponItemData->WeaponMesh.IsPending()) { WeaponItemData->WeaponMesh.LoadSynchronous(); } Weapon->SetSkeletalMesh(WeaponItemData->WeaponMesh.Get()); } 위에 것이 원래 코드인데, 소프트 참조를 적극 활용할 경우, 런타임에 지연된 로딩을 많이 사용하게 되면 hitch 가 많이 발생할까 싶어 비동기로딩 방법을 찾아보았습니다 ( 제가 짠 건 아니고, 코파일럿 도움 ) if (WeaponItemData->WeaponMesh.IsPending()) { // 비동기 로드 시작 WeaponItemData->WeaponMesh.LoadAsync([this](UObject* LoadedObject) { // 로드 완료 후 처리 USkeletalMesh* LoadedMesh = Cast<USkeletalMesh>(LoadedObject); if (LoadedMesh) { Weapon->SetSkeletalMesh(LoadedMesh); } }); } else { // 이미 로드된 경우 바로 설정 Weapon->SetSkeletalMesh(WeaponItemData->WeaponMesh.Get()); } 언리얼이 내부적으로 LoadAsync 를 처리하는 방법까지 분석해보진 못했습니다만, 여러 틱에 나눠 시분할로 나눠서 로딩하는 방법인가? 짐작만 하고 있습니다. 이런 경우 비동기 로딩을 하는 게 일반적으로 더 나은 방법일 지 문의 드립니다.
미해결
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
안녕하세요 stack empty 함수에 return size() > 0으로 하게되면 비어있으면 false가 나올텐데 의미가 반대로 사용된 것 아닌가요?? 🙃
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 컴보키 입력을 위한 시간 계산할 때, Effect Frame Count 를 아래와 같이 입력하셨는데요. 각 Section 에서 컴보 공격(마우스 좌클릭) 입력을 받을 수 있는 시간을 계산하기 위해 Section 에서 입력을 받을 수 있는 마지막 Frame 값을 넣으신 것으로 생각했습니다. 강의 영상에서는 임의로 넣으신 것처럼 보이는데요. 실제 Frame 은 각 섹션 애니메이션 클립의 최대 Frame 카운트 개수를 넘어가면 안되는 것이겠지요? 그리고 각 애니메이션의 최대 Frame 개수는 어떻게 확인할 수 있을까요? 애니메이션 시퀀스 파일에서 아래와 같이 확인하면 되나요?
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언리얼엔진 5.4버전을 사용하며 따라하면서 30:00경 Selector의 데코레이터로 AttackInRange를 추가 후 NodeName = TEXT("CanAttack"); 을 하였지만, 블루프린트 내에서는 정상적으로 변경이 안되는 이슈가 있습니다. 찾아본 결과, 5.1버전 이후는 헤더에서 UCLASS(DisplayName = "블루프린트 내 표시명") 이런식으로 작성해야 블루프린트 내에서 정상적으로 설정한 이름으로 보이고, 보인 이름을 눌러서 추가하면, NodeName으로 설정한 이름이 표시가 되는데요. 이의 경우에도 기존에 만약 AttackInRange를 추가한 상태이면 ATtackInRange의 이름이 변경이 되진 않습니다. 혹시 제가 놓친 부분이 있거나 실수한 부분 때문에 이런 이슈가 생겼는지 확인차 질문 드립니다.
미해결
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
배열을 통해 콘솔에 5x5 맵을 표현하는 부분에서 while (true) { HANDLE output = ::GetStdHandle(STD_OUTPUT_HANDLE); COORD pos = { 0, 0 }; ::SetConsoleCursorPosition(output, pos); for (int y = 0; y < MAP_SIZE; y++) { for (int x = 0; x < MAP_SIZE; x++) { switch (GMap2D[y][x]) { case 0: cout << " □ "; break; case 1: cout << " ■ "; break; case 2: cout << " ● "; break; } } cout << endl; } } 위와 같이 메인에 함수에 축약해서 코드를 짜놓았습니다. (실제로 헤더와 추가 cpp에서 도는것을 질문하기 쉽게 축약한것이라 실제 구동에는 차이가 없는것 같습니다.) 위 코드에서 궁금한 부분이 2가지 생겼습니다. 위 부분에서 while true로 돌고 있는데 무엇때문에 한번만 출력되는지 궁금합니다. 위 코드를 작성하게 되면 다른 코드를 작성했을 때 콘솔창에 나타나는 "~~~~ 코드와 함게 종료되었습니다.... ~~~ 이 창을 닫으려면 아무 키나 누르세요.." 와 같은 프로그램의 끝을 알리는 자동 구문도 안뜨더군요. 위 두 가지가 궁금합니다.
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
여기서 주석 처리한 부분들을 활성화 시키면 테스트 하자마자 튕깁니다..코드를 잘못 작성했나 생각하여 선생님의 코드를 복사 붙여넣기로 옮겼는데도 튕겨서 질문 남깁니다.
미해결
[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다음과 같이 BP_TileMap을 만들고 연 뒤에 Render Component에 TileMap을 추가하였는데도 강의와는 다르게 타일맵이 나오지 않는 증상이 있어 문의드립니다. 이전 강자 마지막에 저장된 파일을 열어서 타일맵을 만들어도 동일하게 보이지 않는 증상이 있고, 해당 강의의 파일을 열어보면 지금과는 다르게 타일맵이 잘 보이는듯합니다. 이 증상이 왜 생기는것인지 강의를 따라가는 중에서는 잘 모르겠어 문의드립니다.
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
혼자 게임을 만들어 보고 있는데 오늘 플레이어와 npc의 preset을 다르게 설정해주었습니다. npc는 기본적으로 제공되는 Pawn을 사용했고 플레이어는 제가 새로 생성하여 설정해주었습니다. 체력 포션을 플레이어만 오버랩하기 위해서 저렇게 해주었는데요.. 갑자기 preset을 설정한 후에 ai가 움직이지 않습니다.. 단순히 preset의 문제인지는 모르겠는데 플레이 중 행동 트리를 확인해보면 행동트리는 정상적으로 움직이는데 ai만 안 움직입니다..
해결됨
1. [언리얼 노베이스/입문] UE5 스파르타 클래스: 실전편
먼저, Endless Runner에 대한 강의를 잘 들었습니다. 질문) 좌/우키를 연타하면 전진 속도가 느려지는 현상은 어떻게 해결하나요?
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
교수님이 기존에 다른 분의 질문에서 답변해주신 내용처럼 ABStageGimmick.cpp에 #include "GameFramework/GameModeBase.h"를 넣었으나, 다음과 같이 오류 로그가 발생합니다. 그래서 다른 방법을 찾아서 시도해보던 중 ABGameInterface.h에 "GameFramework/GameModeBase.h"을 선언 했더니 해결이 됐습니다. 사용 중인 언리얼 버전은 5.4.3 버전입니다. 위와 같이 해결한 경우에도 의존성 문제와 관련해서도 괜찮을까요?
미해결
[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
하라는대로 meta quest link 프로그램 다운로드하고 계정 가입하고 기본으로 설정했는데 vr프리뷰가 안돼요 제발........
미해결
[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
안녕하세요! 뒤늦게 게임개발에 빠져서 퇴근 후 틈틈히 루키즈님 강의 듣고 있는 직장인입니다! 현재 11강 State 패턴까지 들은 상태인데요. 캐릭터가 Idle 상태일 때, 스페이스바(공격키)를 누르면 공격 모션을 두 번 합니다. 원래 이게 정상인가요?
미해결
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Helper.h 헤더파일에서 void Test, void Test2 는 선언만 하고 Helper.cpp에서 초기화 한 뒤 GameCoding.cpp 메인에서 바로 사용이 가능했는데, int GTest 는 왜 extern을 붙여줘야하는건가요?? 실험해보니 extern 안붙여주니 사용이 안되던데 함수형과 변수형에서 차이가 나는건가요?
미해결
이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
Git에서 https://github.com/ideugu/UnrealGAS1/tree/main 다운받아서 실행하는데 에디터 실행을 누르면 Anim Blueprint 'ABP_ABCharacter'의 skeleton을 찾을 수 없다고 나오면서 실행이 안 됩니다.
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
코드설명이 부족한거같은데 이후에 자세히알려주시는지요. 서브시스템이라던가
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
15분 35초쯤 PublicIncludePaths.AddRange로 주모듈인 ArenaBattle을 추가해주셨는데 라이브 코딩에서 어떠한 이유로 경로가 안맞는지 궁금하고, 이를 위해서 왜 모듈을 추가하셨는지 자세하게 알고싶습니다.
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Build started at 오전 3:06... 1>------ Build started: Project: ScriptGeneratorUbtPlugin.ubtplugin, Configuration: Development Any CPU ------ 2>------ Skipped Build: Project: UE5, Configuration: BuiltWithUnrealBuildTool Win64 ------ 2>Project not selected to build for this solution configuration 3>------ Build started: Project: UE5Rules, Configuration: Development Any CPU ------ 4>------ Build started: Project: ArenaBattle, Configuration: DebugGame_Editor x64 ------ 4>Using bundled DotNet SDK version: 6.0.302 1>ScriptGeneratorUbtPlugin.ubtplugin -> C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\Plugins\ScriptGeneratorUbtPlugin\ScriptGeneratorUbtPlugin.dll 4>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" ArenaBattleEditor Win64 DebugGame -Project="D:\Unreal Projects\inflearn\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild -architecture=x64 4>Log file: C:\Users\ljy57\AppData\Local\UnrealBuildTool\Log.txt 4>Using 'git status' to determine working set for adaptive non-unity build (D:\Unreal Projects\inflearn\ArenaBattle). 4>Building ArenaBattleEditor... 4>Using Visual Studio 2022 14.38.33144 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10). 4>Determining max actions to execute in parallel (8 physical cores, 16 logical cores) 4> Executing up to 8 processes, one per physical core 4>Using Parallel executor to run 5 action(s) 4>------ Building 5 action(s) started ------ 3>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Programs\Shared\EpicGames.Horde\EpicGames.Horde.csproj : warning NU1903: Package 'Microsoft.Extensions.Caching.Memory' 6.0.1 has a known high severity vulnerability, https://github.com/advisories/GHSA-qj66-m88j-hmgj 3>Done building project "EpicGames.Oodle.csproj". 3>UE5Rules -> C:\Program Files\Epic Games\UE_5.4\Engine\Intermediate\Build\BuildRulesProjects\UE5Rules\bin\Development\UE5Rules.dll 5>------ Build started: Project: UE5ProgramRules, Configuration: Development Any CPU ------ 5>UE5ProgramRules -> C:\Program Files\Epic Games\UE_5.4\Engine\Intermediate\Build\BuildRulesProjects\UE5ProgramRules\bin\Development\UE5ProgramRules.dll 4>[1/5] Compile [x64] ABCharacterBase.cpp 4>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(91): error C2664: 'void ConstructorHelpers::ValidateObject(UObject ,const FString &,const TCHAR )': cannot convert argument 1 from 'TObjectPtr<T>' to 'UObject *' 4> with 4> [ 4> T=UABCharacterControlData 4> ] 4>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(91): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called 4>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(193): note: see declaration of 'ConstructorHelpers::ValidateObject' 4>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(91): note: while trying to match the argument list '(TObjectPtr<T>, FString, const TCHAR *)' 4> with 4> [ 4> T=UABCharacterControlData 4> ] 4>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(91): note: the template instantiation context (the oldest one first) is 4>D:\Unreal Projects\inflearn\ArenaBattle\Source\ArenaBattle\Character\ABCharacterBase.cpp(49): note: see reference to class template instantiation 'ConstructorHelpers::FObjectFinder<UABCharacterControlData>' being compiled 4>C:\Program Files\Epic Games\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(84): note: while compiling class template member function 'ConstructorHelpers::FObjectFinder<UABCharacterControlData>::FObjectFinder(const TCHAR *,uint32)' 4>D:\Unreal Projects\inflearn\ArenaBattle\Source\ArenaBattle\Character\ABCharacterBase.cpp(49): note: see the first reference to 'ConstructorHelpers::FObjectFinder<UABCharacterControlData>::FObjectFinder' in 'AABCharacterBase::AABCharacterBase' 4>[2/5] Compile [x64] ABCharacterPlayer.cpp 4>Total time in Parallel executor: 12.07 seconds 4>Total execution time: 13.25 seconds 4>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command ""C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 DebugGame -Project="D:\Unreal Projects\inflearn\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild -architecture=x64" exited with code 6. 4>Done building project "ArenaBattle.vcxproj" -- FAILED. ========== Build: 3 succeeded, 1 failed, 45 up-to-date, 1 skipped ========== ========== Build completed at 오전 3:06 and took 13.983 seconds ========== 코드는 틀린게 없고 오류도 안뜨는데 빌드가 되지 않습니다.
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
GetRandomPointInNavigableRadius(Origin, PatrolRadius, NextPatrolPos) 이 코드에서 Origin이 중심점이라는 것은 이해를 했는데 PatrolRadius 과는 무슨 관계인건지 모르겠습니다.. 중심점을 기준으로 PatrolRadius 반경 내에 랜덤한 위치를 NextPatrolPos에 넣는다고 이해를 했는데 제가 이해한 게 맞는 건가요? Origin을 기준으로 반지름 내에서만 랜덤하게 이동을 한다라는 말인지 궁금합니다. 그리고 AI가 플레이어를 쫓아다니다가 놓치면, PatrolRadius를 벗어난 위치에 있을 수도 있는데 이러한 경우에서도 Origin을 기준으로 랜덤한 위치를 찾는 건가요?
미해결
이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 강의 잘 듣고 있습니다. 6강 캐릭터 공격 판정 강의에서 공격 트레이스를 시각적으로 보기 위해 DrawDebugCapsule을 사용하는 부분에서 HalfHeight가 반구를 제외한 원기둥 절반 높이라고 하셨던것 같은데, 제가 10강에서 무기를 얻었을 때 공격범위가 분명 증가하였는데도 DrawDebugCapsule로 보이는 범위는 차이가 없어 디버깅 및 여러 테스트를 해본 결과 HalfHeight는 반구를 포함한 캡슐의 세로 전체 높이의 절반인것 같습니다. 따라서 AttackRadius보다 작은 HalfHeight가 들어오면 그냥 무시되고 캡슐이 구 형태를 띄게 됩니다. 아래와 같이 고치니까 범위가 제대로 보이는것 같습니다. #if ENABLE_DRAW_DEBUG FVector CapsuleOrigin = Start + (End - Start) * 0.5f; float CapsuleHalfHeight = AttackRange * 0.5f + AttackRadius; FColor DrawColor = HitDetected ? FColor::Green : FColor::Red; DrawDebugCapsule(GetWorld(), CapsuleOrigin, CapsuleHalfHeight, AttackRadius, FRotationMatrix::MakeFromZ(GetActorForwardVector()).ToQuat(), DrawColor, false, 0.5f); #endif