묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결이득우의 언리얼 프로그래밍 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 ==========코드는 틀린게 없고 오류도 안뜨는데 빌드가 되지 않습니다.
-
미해결이득우의 언리얼 프로그래밍 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
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
장판스킬을 만들때 콜리전설정
수업내용은 아니장판 스킬을 만들고싶은데 구상한바로는 액터를 생성하고 capsuleComponent를 붙여서 Overlap이 발생할때 데미지를 주는 방식으로 만들려고하는데요 Collision부분에서 걸리는게 있습니다.지금 이 장판액터는 몬스터나 플레이어들만 Overlap이 되고 나머지는 무시를 해야하는데요 이러면 장판액터가 바닥에고정되어있지않고 땅으로 꺼지는현상이 발생합니다. PhysicsSimulate를 꺼도 이런현상이 발생합니다 바닥이랑만 Block되게 만드는 방법도 있지만 혹시 다른방법이 있을까요?
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
질문은 아니고 강의자 님이 해당 글을 꼭 보시길 바랍니다.
강의 너무 잘 듣고 있습니다.강의 설명중 참고하셨으면 하는 내용이 있어서 글 올립니다.1. ' ~ 이러한 내용이니 여러분들이 문제를 잠깐 멈추고 풀어보세요 ' 의 방식보다 아예 게임의 사용 예시를 들며 문제를 내는게 좋을것같습니다. 노드의 기능 역활만 알려주고 알아서 문제를 내라는 말이 좀 아쉬웠습니다. 강의를 빨리 끝내려는 강사의 느낌이랄까요. 2. 7:50 에서 ' 바꿔치기 해서 저장을 해야한다는건 어쨌든 set 을 등장시켜야 한다는 얘기가 되는거고..' 이부분도 설명이 좀더 있으면 좋겠습니다. 어떤걸 의도하시는지는 이해가 되었습니다만 마찬가지로 시간에 쫒기고 귀찮아서 빨리 수업을 끝내려는 강의 같다는 느낌이 듭니다..
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
어빌리티의 쿨다운 GameEffect에 대하여
안녕하세요. GAS Ability 의 Cooldown GameplayEffect (이하 GE) 를 등록하는 부분에 대해 질문이 있습니다. 먼저 실습을 5.4 버전으로 진행하고 있음을 알립니다. 강의 내용에서는 Cooldown GE 적용 시 Cooldown GE BP 를 생성하여 HasDuration 옵션으로 GameplayTag 를 설정Cooldown을 적용하려는 GA의 Ability Block Tag 에 Cooldown GE에 설정한 GameplayTag를 추가위와 같이 진행을 해주셨는데, 5.4에서는 2번 과정이 불필요했습니다.엔진 코드 내부에서는 CheckCooldown 함수 내부에서 Cooldown GE 의 GrantedTag로 직접 쿨다운 체크를 하는걸로 보입니다.이 부분이 5.4가 되면서 개선된 부분일까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언리얼 프로젝트 용량과 Git의 관하여
안녕하세요 강의 잘 듣고 있습니다.Unreal 프로젝트를 Git에 업로드하면서,Unreal Asset의 용량이 커서 무료 Git 용량을 초과하는 경험을 몇 번 했습니다.이런 문제의 해결법으로 gitignore에서 에셋 폴더를 제외해서 불필요한 에셋이 업로드되는 걸 막고,ArenaBattle 폴더에는 사용할 에셋 파일만 복사해놓고 git에 업로드하는 방식을 사용해도 좋을지 궁금합니다.그리고 실제 협업을 할 때 에셋을 git에 업로드할 때 용량관리를 어떻게 하는지 궁금합니다!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
C++ 클래스를 생성할 때, Class Type 지정에 대하여
강의 잘 보고 있습니다.C++ 클래스를 생성할 때 Class Type을 public이나 private를 눌러서 따로 지정하지 않는 이유가 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
bool
25:40초 쯤 HasNextComboCommand 변수를 bool로 선언하였는데요.헤더파일의 bool은 비트필드를 사용하는것 아니었나요? bool자료형을 사용하신 이유가 궁금합니다
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
블루프린트 클래스 없음
안녕하세요.10:33초 쯤에 BP_AB_CharacterPlayer 로 작업하시는데제 프로젝트에는 그런 클래스가 보이지 않네요 제가 뭘 놓치면서 진행하고있었나요?뿐만아니라 BP_ABGameMode, ABPlayer_Controller이런것들이 안보입니다.파일 탐색기에서 봤을땐 Controller, GameMode,Congratulation이런 파일들이 있는데 에디터에선 저렇게 3개 밖에 보이지않네요... 물론 BP_AB_CharacterPlayer는 파일에도 없습니ㅏㄷ.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Defines.h의 DECLARE_SINGLE관련 질문입니다.
모든 싱글톤 객체들을 DECLARE_SINGLE와 같은 형태로 define하여 편하게 작업하고 있는데 이는 cpp파일에 전역에 TimeManager* TimeManager::s_instance = nullptr;와 같은 형태로 정의 해놓지 않으면 작동이 되지 않습니다.하지만 영상속엔 이런 내용이 없는데 따로 설정 방법이 있는건가요 ?
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
GAS 구조로 멀티 플레이 게임을 제작할려고 하는데요
현재 파트1부터 4까지 강의를 다 마친 상태입니다.GAS 구조의 멀티 RPG게임을 제작할려는데파트3 네트워크 내용들 만으로도 GAS 멀티 게임 구현이 가능할까요?아니면 더 배워야 할 것들이 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
강의 외 질문입니다..!
지금 AI가 플레이어가 공격할 때 플레이어가 움직이거나 또는 AI 뒤쪽으로 이동하면 AI가 플레이어를 향해 회전을 해야 하는데 회전을 하지 않습니다.. 강의 코드와 한 줄 정도 다른데 왜 안되는 것인지 모르겠습니다..EBTNodeResult::Type UBTTask_Turn::ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) { Super::ExecuteTask(OwnerComp, NodeMemory); APawn* NPC = OwnerComp.GetAIOwner()->GetPawn(); // NPC 가져오기 if (NPC == nullptr) { return EBTNodeResult::Failed; } FName PlayerName = TEXT("Target"); APawn* Player = Cast<APawn>(OwnerComp.GetBlackboardComponent()->GetValueAsObject(PlayerName)); // Target 가져오기 if (Player == nullptr) { return EBTNodeResult::Failed; } float TurnSpeed = 1.0f; FVector LookTargetVector = Player->GetActorLocation() - NPC->GetActorLocation(); FRotator LookTarget = FRotator(0.0f, LookTargetVector.Rotation().Yaw, 0.0f); // 회전 값 NPC->SetActorRotation(FMath::RInterpTo(NPC->GetActorRotation(), LookTarget, GetWorld()->GetDeltaSeconds(), TurnSpeed)); return EBTNodeResult::Succeeded; }그리고 갑자기 루트 노드에서 멈춥니다.. 하위 노드들을 실행을 해야 하는데 루트노드에만 노란색으로 고정되어있는데 뭐를 확인해야 하나요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
5.4버전 기준으로 Remove Gameplay Effect With Tags가 안 보입니다.
tag는 안되지만 GE를 중지시키는 건 옵션이 있네요Tag로 중지하는 건 5.4에는 없는걸까요?
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
디버깅 할 때 Keyboard event 1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Keyboard event 1 로 계산식을 작성하고 과정을 보려고 레벨을 플레이 해서 봤더니 키보드로 1번 버튼을 누르기 전까지는 계산식이 실행되지 않아서 계산식 중간에 값이 어떻게 나오는지 확인이 되지 않습니다. 플레이를 시작하면 마우스가 플레이 화면 밖으로는 나가지 않아서 식을 확인할 수가 없습니다.계산식 결과를 확인하려면 event beginplay 로 먼저 확인한 다음에 keyboard event 1 로 바꿔주어야 하나요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
8강의 수업 내용들 중 이해가 잘 안가는 부분들이 있습니다.
1 . RegisterGameplayTagEvent 델리게이트 질문 ASC->RegisterGameplayTagEvent(ABTAG_CHARACTER_INVINSIBLE, EGameplayTagEventType::NewOrRemoved).AddUObject(this, &UABGASHpBarUserWidget::OnInvisibleTagChanged); 다음 코드를 다음과 같이 이해했는데 맞을까요?INVINSIBLE 태그가 GE에 부착(count+1)되거나 탈착(count-1)될때 알림을 주는 델리게이트. 기본 count=0 2.Pre/PostGameplayEffectExecute 함수 질문저는 이 함수가 ApplyGameplayEffectSpecTo~함수로 GE를 실행시키기 직전이랑 직후에 호출되는 걸로 알고 있습니다.PreGameplayEffectExecute 함수는 게임 플레이 이팩트 적용 전에 호출된다고 들었는데요. 하지만 확인해본 결과 ,공격할 때 게임 플레이 이팩트가 실행되어 DamageAttritbute값이 Modifier연산을 통해 30으로 변경된 이후에PreGameplayEffectExecute 함수가 호출되었습니다. "게임 플레이 이팩트 적용 전" 이란 말이 GE를 실행하기 직전, 즉 Modifier연산이 아직 되기 전으로 이해하고 있었는데 이게 아닌가요? PreGameplayEffectExecute와 PostGameplayEffectExecute의 정확한 차이가 뭔지 햇갈립니다. 그리고 GE_AttackHitBuff 가 발동하면 Pre/PostGameplayEffectExecute 함수가 호출되는지 테스트를 해봤는데 제 생각과는 다르게 호출이 안됩니다. (Data.EvaluatedData.Attribute == GetAttackRadiusAttribute()) 이런식으로 조건문을 넣어서 디버깅을 했는데 전혀 들어오지를 않네요.GE_AttackHitBuff도 다른 GE와 마찬가지로 Pre/PostGameplayEffectExecute 함수에 들어와야 정상아닌가요? 3 . 중첩 버프 질문instant는 Base값을 변경하지만, 기간형은 Current값을 변경한다고 들었는데요. AttackRaius의 Base값이 50이고 Current값은 0 으로 시작해서, 공격할수록 Current에 +15씩 증가해 Base값을 직접 수정하지 않고 Current 값만 증가시켜서 어떻게 범위를 키우는 거죠? Base값은 아예 안쓰고 하나요? 내부적으로 어떻게 돌아가는지 좀 햇갈립니다. 그리고 Duration과 Stack 에 대해 다음과 같이 이해했는데 이게 맞을까요?Duration을 2초로 했을 때, 2초가 지나기 전에 공격해서 다시 한번 GE를 동작시키면 2초로 다시 리셋되고 스택이 쌓이는데, 2초를 놓칠경우 Current값이 처음으로 돌아와서 범위가 기본으로 리셋된다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
7강 GE로 NonPlayer의 어트리뷰트셋 값을 초기화시키는 것에 질문이 있습니다.
GE만 단독으로 동작시킬 때는 컨텍스트 핸들을 따로 만들어주고서 , 스팩핸들을 제작해주는데, 그에 반해 GA에서 GE를 동작시킬때는 스팩핸들만 제작해주는데, 그 이유가 GA가 이미 컨텍스트 핸들을 만들어줬기 때문일까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
강의 외 질문입니다
InitCapsuleSize(0.5, 1.2) 정도의 크기에 Character 작업을 하면 언리얼에서는 부작합 할까요??
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
레벨 블루프린트 제작 후 실행 시 메시지 로그- 맵체크 창 뜨는 경우
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 레벨 블루프린트 제작 후에 실행 을 눌렀는데 메시지 로그 -맵체크가 뜨고 창을 닫으니까 레벨에 화면이 검은색으로 보입니다. 블루프린트로 print text 작성한 부분은 화면에 잘 뜨는데 레벨이 아예 검은색으로 보이는데 혹시 레벨 제작 과정에서 문제가 있었던 걸까요?
주간 인기글
순위 정보를
불러오고 있어요