묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
LoL 스킬 사용할 때 바닥에 공격범위가 나오는 기능을 추가로 구현하고 싶습니다.
5.1 버전의 강의를 다 듣고, 5.4 깃허브 업데이트 되어서 다시 복습하다가 제목과 같이 스킬 사용할 때 범위 시각화(배포용) 기능을 구현해보고 싶더라구요. 일단, 캐스캐이드가 Legacy 기능이다보니 나이아가라로 다른 스킬 구현은 완료했고, 스킬의 범위를 바닥에 표현하고 싶은데 GAS 프레임워크에서 스킬 범위를 표기할 때 좋은 class가 따로 구현되어 있을까요? 현재 나이아가라 데칼을 써서 해볼까 실험은 하고있는데, 정석적인 방법(?)이 있다면 먼저 그런 방법으로 해보고 싶어서 질문드려요.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
4장 UABAT_JumpAndWaitForLanding* CreateTask 에 대한 질문
선생님 안녕하세요.C++ 코드로는 UABGA_Jump::ActivateAbility(); UABAT_JumpAndWaitForLanding::CreateTask(); JumpAndWaitForLanding->ReadyForActivation(); UABAT_JumpAndWaitForLanding::Activate();와 같은 일련의 코드 흐름이 이해가 가는데, UFUNCTION(BlueprintCallable, Category = "Ability|Tasks", meta = (DisplayName = "JumpAndWaitForLanding", HidePin = "OwningAbility", DefaultToSelf = "OwningAbility", BlueprintInternalUseOnly = "TRUE")) static UABAT_JumpAndWaitForLanding* CreateTask(UGameplayAbility* OwningAbility);UABAT_JumpAndWaitForLanding* CreateTask()를 Blueprintcallable로 변경하시면서 블루프린트에서 CreateTask가 호출되도록 변경하셨는데.JumpAndWaitForLanding->ReadyForActivation(); 함수를 주석 처리하셨는데도 불구하고, UABAT_JumpAndWaitForLanding::Activate() 함수가 호출되는 이유를 잘 모르겠습니다.void UGameplayAbility::ActivateAbility() { if (bHasBlueprintActivate) K2_ActivateAbility();개인적인 생각으로는 블루프린트 노드를 사용하게 되면 K2_ActivateAbility()가 호출되는걸로 봐서는 이 함수 내부에서 추가로 AbilityTask의 Activate함수를 호출해주는것 같은데, 함수 내부를 볼 수가 없습니다.혹시 어떤 원리로 UABAT_JumpAndWaitForLanding::Activate()가 호출되는지 알수있을까요? 감사합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
FieldIterator 질문입니다
CharacterStatWidget 클래스에서 TFieldIterator 사용에 관한 질문입니다 TFieldIterator 말고도 다른 Iterator가 존재하고, 여기에서는 이 상황에 맞는 Iterator를 사용해야 하기에 FieldIterator를 사용한 것인지 궁금해서 검색해봤더니, 언리얼 엔진에서의 반복자는 항상 ObjectIterator과 ActorIterator 이 2가지만 언급하더라구요. ObjectIterator는 UObject를 상속받은 클래스들에 대해 순회하는 반복자ActorIterator는 Actor(레벨에 배치된 UObject)를 상속받은 클래스들에 대해 순회하는 반복자검색 결과에서는 항상 이렇게 설명하던데그럼 이와 마찬가지로 FieldIterator는 Ustruct에 등록된 프로퍼티/함수들에 대해 순회하는 반복자로 이해하면 되는 것일까요? 그리고 FieldIterator도 위의 오브젝터와 액터 반복자와 마찬가지로 FFieldIterator는 타입을 특정하지 않고 모든 구조체의 프로퍼티/함수들을 순회하는거고TFieldIterator는 타입을 지정하여 구조체 내의 프로퍼티/함수들을 순회하는 거라고 보면 되는걸까요? 아니면 FieldIterator는 FFieldIterator는 없고 오직 TFieldIterator만 있는 건가요? 그리고 위 스크린샷에서 TFieldIterator<FNumericProperty> PropIt(FABCharacterStat::StaticStruct())이 부분을 TFieldIterator로 FNumericProperty타입을 지정하여, ABCharacterStat 구조체에서 FNumericProperty타입을 지정하여 순회한다로 이해하면 되나요?그런데 ABCharacterStat 구조체에는 FNumericProperty 타입의 변수가 없는데 왜 타입을 FNumericProperty로 지정한 것인지요...?그리고 FNumericProperty가 있으면 그럼 TNumericProperty라는 것도 있는건가요? 아니면 이건 반복자가 아니기 때문에 TNumericProperty라는건 존재하지 않는건가요?복습하면 할수록 질문이 질문에 꼬리를 잇게되네요...
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
10강에서 reinterpret_cast 질문있습니다
인터넷에서 찾아보니 casting 중에서도 가장 강한 cast이며, 주로 패킷 통신할 때 자료를 포인터로 받아오는 경우에 사용하며 그 외엔 잘 사용하지 않는 형변환이다. 포인터끼리, 그리고 포인터와 수치형 간의 변환 이라고 하는데 혹시 ABCharacterStat.h에서 operator+ 구현할 때, reinterpret_cast를 사용하는게 더 좋은 이유가 있을까요? 캐스팅 종류가 많아서 너무 헷갈리네요... 만약에 굳이 reinterpret_cast를 쓰지 않아도 된다면 일반 casting으로도 대체가 가능한지요? 아 그리고 추가로, part2를 다 들으면서 계속 궁금했었던건데 왠만한 모든 변수 선언 시에는 대부분 const를 붙여서 선언하시던데 const가 값을 바꾸지 않는 상수화이지 않나요?? 제가 유니티만 하다가 언리얼로 최근에 바꿨는데 그래서 그런가 제일 적응안되는부분이 모든 변수를 포인터로 쓰는 것과 항상 변수에 const를 붙이는 부분이더라구요. 변수를 포인터로 선언하는 이유는 인터넷 검색으로 이해가 되었는데, const를 거의 항상 사용하는 이유는 아직 잘 모르겠습니다... 변수를 상수화 시키는 것이 어떤 의미가 있는걸까요?? 변수의 값은 보통 게임이 진행되면서 계속 바뀌어야 하지 않나요??
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
[Part4] 6강 MaxHealth Category 오타여부 확인이 필요합니다.
깃허브 브랜치 6의 ABCharacterAttributeSet.h의 MaxHealth부분 카테고리가 Attack으로 되어있습니다.카테고리 Health가 맞나요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
애니메이션 문제
다른 애니메이션은 다 문제 없는데WarriorRunFwdWarriorWalkFwdWarriorWalkInPlace이 세가지만 이렇게 제자리에서 T포즈로 움직이지 않습니다.선생님께서 제공하신 파일도 완성예제파일로도 대체해봤는데 전혀 달라진게 없는데 왜 이럴까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
현장강의는 어디서 들을 수 있나요???
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현장강의를 들어야 수업을 따라갈 수 있을것같아요 ㅠ
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Part2 umap import 에러
안녕하세요 Part2 1강에서 Step1.umap이 Editor에서 불러와지지 않아서 다른 세팅법이 있는지 궁금합니다.5.1.1 똑같이 사용중이고 다른 에셋들은 불러와졌는데 umap만 안불러와져서 질문 글 올립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
33:20 키 입력 시 이벤트를 한 번만 발생시키도록 할 때
강의에선 에디터에서 InputAction의 Triggers 에서 Pressed를 추가하셨는데 저는 개인적으로 cpp에서 BindAction 에서 바인드 할 때 ETriggerEvent::Started 로 설정해서 이벤트가 한 번만 발생하도록 하는 방법을 썼습니다. 이런 방법도 괜찮나요? 아니면 이런 방법은 렉이 걸리거나 할 때 이벤트가 발생되지 않을 가능성도 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
240830 기준 여전히 BP_ABPlayerController 블루프린트 설정이 강의와 다르게 나옵니다
좋은 강의 감사드립니다.24년 8월 30일 기준으로도 여전히 15강 강의 21분 경의 BP_ABPlayerController 블루프린트 설정이 강의와는 다릅니다. 저는 5.1 버전으로 강의를 들어왔기 때문에 깃허브 코드가 아닌 14강 첨부파일을 받았는데, 여전히 이미 완성된 블루프린트가 보이는 것 같습니다. <강의 블루프린트> <14강 인프런 첨부파일 블루프린트>
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
점프할때 공중에서 초반에 걷는 모션이 유지되는 경우가 있습니다.
31:25 4강에서 강의내용대로 따라한 후, 시작버튼을 누르고 움직이면서 점프할 때 높은 확률로 걷는 모션이 안풀린 채로 공중에서 걷다가 점프 고점에서 뒤늦게 점프모션을 시작합니다. (정상적으로 점프(스페이스버튼)을 누르자마자 바로 점프모션을 취하는 경우도 있지만 확률이 낮음. 어떤 메커니즘때문에 이런것인지 모르겠습니다) 도중에 제가 뭔갈 잘못만진 것인지 아니면 다른 문제인지 잘 모르겠습니다. 저의 코드나 애니메이션 설정값에 실수가 있었을지 몰라서 저의 코드가 아닌 5_4 버전으로 올려주신 iduegu/UnrealProgrammingPart2 -4강 깃허브 파일을 받은 후에, Infinity Blade: Warriors 를 프로젝트에 추가 한 후 코드의 변경 없이 빌드 후 시작버튼을 눌러도 똑같은 현상이 생깁니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
애니메이션 변수의 설계
애니메이션 인스턴스 클래스 설계시의 의문점이 생겨 질문드립니다!예제에서는 NativeUpdateAnimation에서 매 틱마다 속도나 bIsFalling 등의 변수를 변경해주고 있습니속도는 매 틱별로 가져오는게 가장 좋지만 IsFalling이나 IsJumping 등의 변수는 변경 시에만 바뀔 수 있도록 Delegate를 걸어주거나 또는 캐릭터에서 직접 참조하여 변경시켜주는 방법이 더 좋을 수도 있을까요? 설계에 따라 달라질 수 있겠지만 매 틱마다 바뀌지 않아도 되는 변수는 Delegate로 바꿔주특정 캐릭터 클래스에 의존성이 강한 애니메이션 클래스인 경우 캐릭터 클래스에서 직접 참조하여 애님 인스턴스의 Setter를 호출해주기이런 설계도 큰 무리가 없을까요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언리얼을 다시깔았는대 9009번 오류가 뜹니다
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.1\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="C:\Users\User\Documents\Unreal Part1\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild" exited with code 9009.1>Done building project "ArenaBattle.vcxproj" -- FAILED. 이렇게 두개가 뜨는대 찾아보니 경로상의 문제라고 하는대 어떤 경로가 잘못됬는지 잘 모르겠어서 질문드립니다
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
UI 강의에서 예외 발생 오류 질문 드립니다.
UI 강의 22:16에서 실행을 했을 아래와 같이 오류가 발생 하네요..{ Button* ui = new Button(); ui->SetSprite(GET_SINGLE(ResourceManager)->GetSprite(L"Start_Off"), BS_Default); ui->SetPos({ 200, 200 }); uis.pushback(ui); }ui->SetSprite 부분을 //처리할 경우 오류가 안나는 걸로 봐서는 여기서 뭔가 잘못된 것 같은데 아무리 찾아도 안나오네요..
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언리얼5.4에서 빌드오류가 발생합니다.
이번에 깃허브에 올려주신 언리얼엔진5.4버전으로 빌드 후 실행할려고 하는데 계속 오류가 발생합니다. LogInit: Warning: Incompatible or missing module: ArenaBattleRunning C:/UE5/UE_5.4/Engine/Build/BatchFiles/Build.bat Development Win64 -Project="H:/Unreal Project/MyGame/UnrealProgrammingPart2-15/ArenaBattle.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDEUsing bundled DotNet SDK version: 6.0.302Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" Development Win64 -Project="H:/Unreal Project/MyGame/UnrealProgrammingPart2-15/ArenaBattle.uproject" -TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDELog file: C:\Users\cwi02\AppData\Local\UnrealBuildTool\Log.txtCreating makefile for ArenaBattleEditor (no existing makefile)@progress push 5%Parsing headers for ArenaBattleEditor Running Internal UnrealHeaderTool "H:\Unreal Project\MyGame\UnrealProgrammingPart2-15\ArenaBattle.uproject" "H:\Unreal Project\MyGame\UnrealProgrammingPart2-15\Intermediate\Build\Win64\ArenaBattleEditor\Development\ArenaBattleEditor.uhtmanifest" -WarningsAsErrors -installedTotal of 76 writtenReflection code generated for ArenaBattleEditor in 2.0740478 seconds@progress popBuilding ArenaBattleEditor...Using Visual Studio 2022 14.38.33140 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).[Adaptive Build] Excluded from ArenaBattle unity file: ArenaBattle.cpp, ABAIController.cpp, BTDecorator_AttackInRange.cpp, BTService_Detect.cpp, BTTask_Attack.cpp, BTTask_FindPatrolPos.cpp, BTTask_TurnToTarget.cpp, ABAnimInstance.cpp, AnimNotify_AttackHitCheck.cpp, ABCharacterBase.cpp, ABCharacterControlData.cpp, ABCharacterNonPlayer.cpp, ABCharacterPlayer.cpp, ABComboActionData.cpp, ABCharacterStatComponent.cpp, ABGameMode.cpp, ABGameSingleton.cpp, ABStageGimmick.cpp, ABAnimationAttackInterface.cpp, ABCharacterAIInterface.cpp, ABCharacterHUDInterface.cpp, ABCharacterItemInterface.cpp, ABCharacterWidgetInterface.cpp, ABGameInterface.cpp, ABItemBox.cpp, ABItemData.cpp, ABPotionItemData.cpp, ABScrollItemData.cpp, ABWeaponItemData.cpp, ABPlayerController.cpp, ABSaveGame.cpp, ABFountain.cpp, ABCharacterStatWidget.cpp, ABHpBarWidget.cpp, ABHUDWidget.cpp, ABUserWidget.cpp, ABWidgetComponent.cppDetermining max actions to execute in parallel (6 physical cores, 6 logical cores) Executing up to 6 processes, one per physical coreUsing Parallel executor to run 43 action(s)------ Building 43 action(s) started ------[1/43] Resource Default.rc2[2/43] Compile [x64] SharedPCH.UnrealEd.Project.ValApi.Cpp20.cpp[3/43] Compile [x64] ABCharacterAIInterface.cpp[4/43] Compile [x64] ABAnimationAttackInterface.cpp[5/43] Compile [x64] ABCharacterControlData.cpp[6/43] Compile [x64] ABCharacterHUDInterface.cpp[7/43] Compile [x64] ABAnimInstance.cpp[8/43] Compile [x64] ABCharacterItemInterface.cpp[9/43] Compile [x64] ABAIController.cpp[10/43] Compile [x64] ABCharacterStatComponent.cpp[11/43] Compile [x64] ABCharacterWidgetInterface.cpp[12/43] Compile [x64] ABCharacterBase.cpp[13/43] Compile [x64] ABCharacterNonPlayer.cpp[14/43] Compile [x64] ABComboActionData.cpp[15/43] Compile [x64] ABCharacterStatWidget.cpp[16/43] Compile [x64] ABFountain.cpp[17/43] Compile [x64] ABGameInterface.cpp[18/43] Compile [x64] ABCharacterPlayer.cppC:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(88): error C2027: 정의되지 않은 형식 'AGameModeBase'을(를) 사용했습니다.C:\UE5\UE_5.4\Engine\Source\Runtime\Engine\Classes\Engine\GameInstance.h(29): note: 'AGameModeBase' 선언을 참조하십시오.C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(88): note: 템플릿 인스턴스화 컨텍스트(가장 오래된 인스턴스화 컨텍스트)가H:\Unreal Project\MyGame\UnrealProgrammingPart2-15\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(89): note: 컴파일되는 함수 템플릿 인스턴스화 'To Cast<IABGameInterface,AGameModeBase>(From )'에 대한 참조를 확인하세요. with [ To=IABGameInterface, From=AGameModeBase ]C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(88): error C2338: static_assert failed: 'Attempting to cast between incomplete types'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\type_traits(1298): error C2139: 'AGameModeBase': 정의되지 않은 클래스는 컴파일러 내장 형식 특성 '__is_base_of'에 대한 인수로 사용할 수 없습니다.C:\UE5\UE_5.4\Engine\Source\Runtime\Engine\Classes\Engine\GameInstance.h(29): note: 'AGameModeBase' 선언을 참조하십시오.C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\type_traits(1298): note: 템플릿 인스턴스화 컨텍스트(가장 오래된 인스턴스화 컨텍스트)가C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(135): note: 컴파일되는 변수 템플릿 'const bool is_base_of_v<UObject,AGameModeBase>'에 대한 참조를 확인하세요.C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(135): error C2338: static_assert failed: 'Attempting to use Cast<> on a type that is not a UObject or an Interface'[19/43] Compile [x64] ABGameMode.cpp[20/43] Compile [x64] ABGameSingleton.cpp[21/43] Compile [x64] ABItemData.cpp[22/43] Compile [x64] ABPotionItemData.cpp[23/43] Compile [x64] ABHUDWidget.cpp[24/43] Compile [x64] ABSaveGame.cpp[25/43] Compile [x64] ABHpBarWidget.cpp[26/43] Compile [x64] ABItemBox.cpp[27/43] Compile [x64] ABScrollItemData.cpp[28/43] Compile [x64] ABPlayerController.cpp[29/43] Compile [x64] ABWeaponItemData.cpp[30/43] Compile [x64] ABStageGimmick.cppC:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(88): error C2027: 정의되지 않은 형식 'AGameModeBase'을(를) 사용했습니다.C:\UE5\UE_5.4\Engine\Source\Runtime\Engine\Classes\Engine\GameInstance.h(29): note: 'AGameModeBase' 선언을 참조하십시오.C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(88): note: 템플릿 인스턴스화 컨텍스트(가장 오래된 인스턴스화 컨텍스트)가H:\Unreal Project\MyGame\UnrealProgrammingPart2-15\Source\ArenaBattle\Gimmick\ABStageGimmick.cpp(198): note: 컴파일되는 함수 템플릿 인스턴스화 'To Cast<IABGameInterface,AGameModeBase>(From )'에 대한 참조를 확인하세요. with [ To=IABGameInterface, From=AGameModeBase ]C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(88): error C2338: static_assert failed: 'Attempting to cast between incomplete types'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\type_traits(1298): error C2139: 'AGameModeBase': 정의되지 않은 클래스는 컴파일러 내장 형식 특성 '__is_base_of'에 대한 인수로 사용할 수 없습니다.C:\UE5\UE_5.4\Engine\Source\Runtime\Engine\Classes\Engine\GameInstance.h(29): note: 'AGameModeBase' 선언을 참조하십시오.C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\INCLUDE\type_traits(1298): note: 템플릿 인스턴스화 컨텍스트(가장 오래된 인스턴스화 컨텍스트)가C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(135): note: 컴파일되는 변수 템플릿 'const bool is_base_of_v<UObject,AGameModeBase>'에 대한 참조를 확인하세요.C:\UE5\UE_5.4\Engine\Source\Runtime\CoreUObject\Public\Templates\Casts.h(135): error C2338: static_assert failed: 'Attempting to use Cast<> on a type that is not a UObject or an Interface'[31/43] Compile [x64] ArenaBattle.cpp[32/43] Compile [x64] AnimNotify_AttackHitCheck.cpp[33/43] Compile [x64] ABUserWidget.cpp[34/43] Compile [x64] ABWidgetComponent.cpp[35/43] Compile [x64] BTTask_Attack.cpp[36/43] Compile [x64] BTDecorator_AttackInRange.cpp[37/43] Compile [x64] BTService_Detect.cpp[38/43] Compile [x64] BTTask_TurnToTarget.cpp[39/43] Compile [x64] BTTask_FindPatrolPos.cpp[40/43] Compile [x64] Module.ArenaBattle.cppTotal time in Parallel executor: 62.75 secondsTotal execution time: 70.98 secondsLogInit: Warning: Still incompatible or missing module: ArenaBattleLogCore: Engine exit requested (reason: EngineExit() was called)LogExit: Preparing to exit.LogXGEController: Cannot use XGE Controller as Incredibuild is not installed on this machine.LogXGEController: Cleaning working directory: C:/Users/cwi02/AppData/Local/Temp/UnrealXGEWorkingDir/LogPakFile: Destroying PakPlatformFileLogExit: Exiting.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. Sample프로젝트관련 질문 드립니다
영상 초반 부분 Sample을 다운 받아 Map을 불러오면 위 사진과 같이 ItemBox의 블루프린트에서 AddScore 함수 부분에 오류가 발생해 실행이 되지 않습니다. 5.4버전으로 업그레이드된 깃허브 파일과, 5.1버전의 인프런 수업자료 둘 다 확인 결과가 똑같습니다. 제가 뭔가 빠뜨린게 있는걸까요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
NextPatrolPos 질문드립니다
오리진에서 5미터 내의 x,y값이 패트롤에 저장하고 성공하면 true 로 바뀌고 패트롤 위치까지 이동하는 함수를 수행한다고 이해했는대 재대로 이해한게 맞을까요? 만약 맞다면 이 함수가 실패를 하는대 왜그런건가요?? NavMeshBoundsVolume 에서 조정이 잘못된건가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
21:29 다른 샘플코드에도 블루프린트가 구현되있는 것 같습니다.
안녕하세요 선생님. 수업 잘 듣고 있습니다.다름이 아니라 저도 다른분 질문과 같이 블루프린트가 전부 구현되어 있어서 질문을 드립니다..! 제가 다운받은 파일은 2-1_1, 2-3, 2-4, 2-10인데 1강부터 영상보고 따라했으니 아마 2-1_1에 블루프린트가 전부 구현되어 있는 것 같습니다.
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
언리얼 엔진 버전 5.3 이상으로 진행하는 경우에 몇가지 수정해야 하는 부분이 존재하는 것 같습니다.
첫번째로, 무한 무적을 제거하는 블루프린트 게임 이펙트인 BPGE_InvincibleRemove에서 기존의 5.3 이전 버전에서는 교수님이 제작해주신 동영상대로 진행해도 문제가 없지만,제가 사용하는 버전인 5.4 버전과 같은 5.3 이후의 버전에서는 해당 과정을 적용할 수 없었습니다.따라서 검색을 통해 다음과 같이 진행하였습니다.참고링크https://www.reddit.com/r/UnrealEngine5/comments/18h7wip/how_to_remove_gameplay_tags_with_a_gameplay/?rdt=35472 위와 같이 구성하여 확인한 결과, 무적 태그가 잘 삭제되고 무적이 해제되는 것을 확인하였습니다.정확한 방법은 아닌것 같지만 동작하는데 문제가 없기에 이 설정을 유지하고 있습니다. 두번째로, 광역 스킬을 담당하는 블루프린트 게임 어빌리티인 BPGA_Skill에서기존의 5.3 이전 버전에서는 쿨다운과 코스트에 연결될 GE를 연결만 해줘도 문제없이 동작하지만,마찬가지로 5.4 버전에서는 쿨다운과 코스트가 작동하지 않음을 확인하였습니다.검색을 해본 결과, 다음과 같이 진행하였습니다.참고링크https://forums.unrealengine.com/t/adding-cooldowns-to-abilities-with-the-gameplay-ability-system-in-5-3/1612390 기존의 쿨다운과 코스트에 사용하는 GE를 연결하고 이벤트 그래프에서 위와 같이 노드를 연결한 결과정상적으로 쿨다운과 코스트가 적용되는 것을 확인하였습니다. 혹시 더 나은 설정 방법이나 개선점이 있다면 무엇이 있는지 알 수 있을까요?추가적으로 캐릭터나 애니메이션에서 사용할 수 있는 물리 요소들을 Attribute Set에서 관리하는 것이 나은지, Character에서 관리하는 것이 나은지 궁금합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
진행하다가 갑작이 모듈이 사라진거같은대 어떻게 해야하나요??
해결방법이 있을까요?? 아레나베틀을 열면 뜨는 화면입니다