묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
스페이스바(공격키)를 누르면 공격이 두 번 되는게 정상인가요?
안녕하세요! 뒤늦게 게임개발에 빠져서 퇴근 후 틈틈히 루키즈님 강의 듣고 있는 직장인입니다! 현재 11강 State 패턴까지 들은 상태인데요. 캐릭터가 Idle 상태일 때, 스페이스바(공격키)를 누르면 공격 모션을 두 번 합니다. 원래 이게 정상인가요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
컴포지션 구현 방법에 대한 질문
컴포지션을 만드는 방식 중에서 생성자에서 미리 언리얼 오브젝트를 생성해 조합하는 방법은 실습을 통해 알았지만, 빈 포인터만 넣고 런타임에서 언리얼 오브젝트를 생성해 조합하는 방법은 어떤 식으로 하는 건지 모르겠습니다. 이 부분도 알려주세요!!
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
인코딩 관련
현재 설정이 UTF-8로 되어있는데 소스코드 최초 실행시 주석이 다 깨져서 나와서 무슨 문제인지 모르겠네요 ㅠ
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
ABP의 skeleton 오류
Git에서 https://github.com/ideugu/UnrealGAS1/tree/main다운받아서 실행하는데 에디터 실행을 누르면 Anim Blueprint 'ABP_ABCharacter'의 skeleton을 찾을 수 없다고 나오면서 실행이 안 됩니다.
-
해결됨[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
섹션 4. 근접 콤보 스킬에서 콤보 동작이 안되네요
강의 내용대로 파일 복사, 코드 수정하고 빌드 정상 완료되어 실행까지 잘 됩니다. 아래 NotifyBegin 부분에 브레이크 포인트를 걸어 보았는데 이 부분이 실행이 되지 않습니다.void UD1AnimNotifyState_SendGameplayEvent::NotifyBegin(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, float TotalDuration, const FAnimNotifyEventReference& EventReference){ Super::NotifyBegin(MeshComp, Animation, TotalDuration, EventReference); if (BeginEventTag.IsValid()) { UAbilitySystemBlueprintLibrary::SendGameplayEventToActor(MeshComp->GetOwner(), BeginEventTag, EventData); }} 어느 부분을 확인해 봐야 할까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
인풋시스템 코드설명
코드설명이 부족한거같은데 이후에 자세히알려주시는지요.서브시스템이라던가
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
클래스 상속
첫번째 질문강의에서는 새로운 클래스 3개를 만들어서 Visual studio 안에서 상속을 해주셨는데, 이런식으로 Child Class를 만들어도 똑같은지, 혹은 차이점이 있다면 어떠한 차이점이 있는지 궁금합니다. 두번째 질문DoLesson함수 같은 경우 UFUNCTION() 매크로를 지정해주셨는데 getter 함수와 setter 함수에는 UFUNCTION() 매크로를 지정을 안해도 되는지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 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.3021>ScriptGeneratorUbtPlugin.ubtplugin -> C:\Program Files\Epic Games\UE_5.4\Engine\Binaries\DotNET\UnrealBuildTool\Plugins\ScriptGeneratorUbtPlugin\ScriptGeneratorUbtPlugin.dll4>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" ArenaBattleEditor Win64 DebugGame -Project="D:\Unreal Projects\inflearn\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild -architecture=x644>Log file: C:\Users\ljy57\AppData\Local\UnrealBuildTool\Log.txt4>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 core4>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-hmgj3>Done building project "EpicGames.Oodle.csproj".3>UE5Rules -> C:\Program Files\Epic Games\UE_5.4\Engine\Intermediate\Build\BuildRulesProjects\UE5Rules\bin\Development\UE5Rules.dll5>------ 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.dll4>[1/5] Compile [x64] ABCharacterBase.cpp4>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> with4> [4> T=UABCharacterControlData4> ]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 called4>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> with4> [4> T=UABCharacterControlData4> ]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) is4>D:\Unreal Projects\inflearn\ArenaBattle\Source\ArenaBattle\Character\ABCharacterBase.cpp(49): note: see reference to class template instantiation 'ConstructorHelpers::FObjectFinder<UABCharacterControlData>' being compiled4>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.cpp4>Total time in Parallel executor: 12.07 seconds4>Total execution time: 13.25 seconds4>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 ==========코드는 틀린게 없고 오류도 안뜨는데 빌드가 되지 않습니다.
-
해결됨[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
프로젝트 파일 생성은 됐는데 .vcxproj 파일들이 없어요
안녕하세요! 환경설정에서 받은 Lyra 기반 프로젝트 실행에 대해서 질문이 있어요.제가 D1.uproject 기준으로 VS 프로젝트 파일을 생성하고 D1.sln을 켜서 빌드하려고 했는데 몇 가지 막히는 부분이 있어서 도움을 받고 싶습니다!.sln 파일을 열면 D1.vcxproj, LyraGameEOS.vcxproj, LyraServerEOS.vcxproj, UE5.vcxproj 파일들을 못 찾는다고 에러가 납니다.실제로 Intermediate/ProjectFiles 폴더를 확인해보면 해당 .vcxproj 파일들이 존재하지 않고요.Source/ 폴더에 LyraGameEOS.Target.cs나 LyraServerEOS.Target.cs 같은 파일은 있는데, 정작 Source/LyraGameEOS/, Source/LyraServerEOS/ 폴더랑 .Build.cs 파일은 없어요.제가 뭔가 빼먹은 세팅이 있는 걸까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
ConstructorHelpers::FObjectFinder 컴파일 오류
예제에 30분 경에 등장한 ConstructorHelpers::FObjectFinder 를 따라해보고 있습니다.ACollidingPawn::ACollidingPawn(){...static ConstructorHelpers::FObjectFinder<UStaticMesh> SphereVisualAsset(TEXT("/Game/StarterContent/Shapes/Shape_Sphere.Shape_Sphere"));...}와 같이 사용했는데 다음과 같은 컴파일 오류가 나옵니다. >C:\Program Files\Epic Games\UE_5.5\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<UStaticMesh>' to 'UObject *'1>C:\Program Files\Epic Games\UE_5.5\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 called1>C:\Program Files\Epic Games\UE_5.5\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(193): note: see declaration of 'ConstructorHelpers::ValidateObject'1>C:\Program Files\Epic Games\UE_5.5\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(91): note: while trying to match the argument list '(TObjectPtr<UStaticMesh>, FString, const TCHAR *)'1>C:\Program Files\Epic Games\UE_5.5\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(91): note: the template instantiation context (the oldest one first) is1>C:\projects\unreal4sample\Unreal5Project\Example\UdnTutorial\HowTo_Components\Source\HowTo_Components\CollidingPawn.cpp(32): note: see reference to class template instantiation 'ConstructorHelpers::FObjectFinder<UStaticMesh>' being compiled1>C:\Program Files\Epic Games\UE_5.5\Engine\Source\Runtime\CoreUObject\Public\UObject\ConstructorHelpers.h(84): note: while compiling class template member function 'ConstructorHelpers::FObjectFinder<UStaticMesh>::FObjectFinder(const TCHAR *,uint32)'1>C:\projects\unreal4sample\Unreal5Project\Example\UdnTutorial\HowTo_Components\Source\HowTo_Components\CollidingPawn.cpp(32): note: see the first reference to 'ConstructorHelpers::FObjectFinder<UStaticMesh>::FObjectFinder' in 'ACollidingPawn::ACollidingPawn' TObjectPtr 와 UObject* 와 관련된형변환 문제로 나오는데, 어떤 차이로 인해 예제와 달리 오류가 나는 걸까요?
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
MaxWalkSpeed가 0으로 고정되는 문제 관련 질문드립니다
Interaction1, 또는 2 코드 이주 후 캐릭터가 움직이지 않는 문제가 있어서 원인을 쭉 분석해보니 CharacterMovementComponent의 MaxWalkSpeed가 0으로 세팅되어 있는 것을 발견했습니다.게임 실행 후 에디터에서 직접 값을 올려서 움직여보면, 클라에서 잠시 움직이려다가 서버에서 검증로직이 돌아가 다시 제자리로 돌아가는 듯한 모습이 보여서 서버 사이드에서 정상적으로 초기화하지 않거나 replication되지 않은 것 같았습니다.추가로 발견한 특이 사항으로는 UPackageMapClient::SerializeNewActor 함수에서 Actor = World->SpawnActorAbsolute 를 진행할 B_HeroCharacter_Base_C의 생성자 자체에서는 600이란 값으로 잘 초기화되지만 SpawnInfo.Template (FActorSpawnParameters) 에 들어간 애의 MaxWalkSpeed 값은 0으로 되어있는 바람에 최종적으로 0으로 세팅되는 것까지 확인했습니다.뭔가 저 값이 0으로 오는 원인이 있을 것 같은데, attribute set이 잘못되었는지 관련 값을 세팅해주는 초기 GameplayEffect를 지정해주지 않은 것인지 정확한 원인을 찾는데 난항을 겪고 있어서, 혹시 관련하여 어느 부분을 보는 것이 좋을지 질문 드립니다.
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
캐릭터 possess 문제인지 질문 드립니다
에디터에서 play 버튼을 누를 시 캐릭터 anim montage가 잠깐 실행되다가 중간에 멈추고 그 이후부터 입력은 들어가지만 애니메이션은 재생되지 않습니다.다만 월드에 스폰된 B_Hero_Gladiator를 에디터에서 클릭하면, 그때부턴 정상적으로 애니메이션이 재생됩니다.혹시 이러한 현상을 수정하기 위해서는, 어느 부분을 살펴보면 좋을까요?문제 상황 영상 링크 드립니다.https://drive.google.com/file/d/1aoWAUmri52KgmVs6AH1FgmRFLBeNbH7x/view?usp=drive_link
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
람다식 [] 안에 &를 넣는 이유를 잘 모르겠습니다.
아직 제가 람다식에 대한 개념이 잡혀있지 않은 상태입니다.34분 58초 여기 부분에서 필요한 값으로 TFunction<void()>가 되어있어서 람다식이 필요하구나 라는것은 이해하였고, 그 전에 사용했던 방식으로 () 안에는 매개변수를 넣는구나 그런거는 이해하고 있습니다만 []안에 & 레퍼런스 기호를 사용하는 이유를 잘 모르겠습니다.혹시 이유와 또 다른 기호가 어떤게 들어가는 지 알 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
GetRandomPointInNavigableRadius
GetRandomPointInNavigableRadius(Origin, PatrolRadius, NextPatrolPos)이 코드에서 Origin이 중심점이라는 것은 이해를 했는데 PatrolRadius과는 무슨 관계인건지 모르겠습니다..중심점을 기준으로 PatrolRadius 반경 내에 랜덤한 위치를 NextPatrolPos에 넣는다고 이해를 했는데 제가 이해한 게 맞는 건가요? Origin을 기준으로 반지름 내에서만 랜덤하게 이동을 한다라는 말인지 궁금합니다.그리고 AI가 플레이어를 쫓아다니다가 놓치면, PatrolRadius를 벗어난 위치에 있을 수도 있는데 이러한 경우에서도 Origin을 기준으로 랜덤한 위치를 찾는 건가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Capsule의 HalfHeight에 관하여
안녕하세요.강의 잘 듣고 있습니다.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
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
예습용 프로젝트는 원래 빌드가 안되나요?
내용 없음
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
조건식 프로퍼티 리플리케이션 질문
안녕하세요. 조건식 프로퍼티 리플리케이션 실습하는 부분인 강의 28분30초 쯤에서 질문 있습니다.강의 내용을 보면, GetLifetimeReplicatedProps함수내부에서 DOREPLIFETIME(AABFountain, ServerRotationYaw); DOREPLIFETIME_CONDITION(AABFountain, ServerLightColor, COND_InitialOnly);위와 같이 설정을 해 주고 있습니다.그래서 저의 예상으로는 ServerLightColor 값은 최초 초기값만 리플리케이션되어 라이트의 색상은 초기 색상으로 고정되고, ServerRotationYaw 속성은 정상적으로 계속 리플리케이션 되어서 분수대가 계속 회전은 될 것으로 생각했습니다. 하지만 에디터에서 실행하는 부분인 29분45초경을 보니 회전과 색상변화 둘 다 되지 않고 있는데, 회전은 왜 되지 않는 것인가요?
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.
타 프로젝트에서 동일하게 사용하기 위해서 LOG-NETMODEINFO를 #define LOG_NETMODEINFO ( (GetNetMode() == NM_Client) ? *FString::Printf(TEXT("CLIENT %d"), GPlayInEditorID) : ((GetNetMode() == ENetMode::NM_Standalone) ? TEXT("STANDALONE") : TEXT("SERVER")))다음과 같이 강의 그대로 사용을 하면 static_assert failed : 'invalid argument(s) passed to printf'라는 에러가 나옵니다.하지만 다음과 같이 작성하면 에러가 나타나지 않습니다. 이유를 아직까지 잘 모르겠어서 질문 남깁니다.#define LOG_NETMODEINFO ((GetNetMode() == ENetMode::NM_Client) ? TEXT("Client") : ((GetNetMode() == ENetMode::NM_Standalone) ? TEXT("StandAlone") : TEXT("Server")))
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
장판스킬을 만들때 콜리전설정
수업내용은 아니장판 스킬을 만들고싶은데 구상한바로는 액터를 생성하고 capsuleComponent를 붙여서 Overlap이 발생할때 데미지를 주는 방식으로 만들려고하는데요 Collision부분에서 걸리는게 있습니다.지금 이 장판액터는 몬스터나 플레이어들만 Overlap이 되고 나머지는 무시를 해야하는데요 이러면 장판액터가 바닥에고정되어있지않고 땅으로 꺼지는현상이 발생합니다. PhysicsSimulate를 꺼도 이런현상이 발생합니다 바닥이랑만 Block되게 만드는 방법도 있지만 혹시 다른방법이 있을까요?