묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
- 
      
        
    미해결언리얼 엔진4 입문 (C++ 기반)
BindHp에서...
BindHp에서 빠른작업으로 만들려고 하니 저런 메세지가 뜨면서 안만들어져요 ㅠㅠ 검색해보니 같은 질문이 있는데 답이 없어서 뭐 때문인지 모르겠습니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
SetActorLocation, Rotation이 제대로 적용되지 않는 이슈
안녕하세요 이득우 선생님.강의를 듣고 혼자 실습해보다가 의문이 생겨서 결국 이곳에 질문을 드리게 되었습니다. 제가 데디케이티드 서버 환경에서 캐릭터의 위치와 회전을 원하는 값(정해진 위치와 회전)으로 지정하여 변경시키는 실습을 혼자 해보고 있었는데, 간헐적으로 캐릭터가 제대로 정해진 위치로 이동하지 않거나, 회전값도 제대로 돌아가지 않는 문제가 발생하는것 같습니다.혼자 열심히 찾아보고 고민하면서 내린 생각은, 서버 RPC함수를 통해 SetActorLocation을 수행하였는데, 서버에서 위치 혹은 회전값을 변경시키기전에 캐릭터가 '직전에' 이동하려고 했던 값이 아직 서버 패킷? 같은곳에 남아있어서 이전 이동 정보로 인해 위치 혹은 회전 변경 함수가 서버에서 적용된 이후 곧이어서 뒤늦게 도착한 캐릭터 위치 혹은 회전 변경값에 의해 다시 값이 바뀌어서 원하는 위치와 회전이 나오지 않는거지 않을까 혼자 추측만 하고 있습니다. 제가 원하는 결과를 얻기 위해서 무엇을 고려하고, 혹은 이런 상황이 많이 벌어질것 같은데, 어떻게 해결하면 좋을지 궁금합니다. 추운 날씨에 좋은 강의 주셔서 공부하는데 몹시 도움되고 있습니다. 감사합니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
비정상 상황을 만들고 동작을 살펴봤는데 이해가 안 가서 질문드립니다..
처음 시작 후, 오른쪽 스테이지 이동하고, 점프로 다시 왼쪽(처음 ) 스테이지로 강제로 넘어가면 이제 비정상 상황이 되는데요. 오른쪽 문으로 다시 접근 시, GateTrigger가 작동되서 오른쪽에 스테이지가 있는지 확인을 하는 로직이 실행되는 것까지 이해가지만, 스테이지가 있는데도 OverlapMultiByObjectType()가 false를 반환하고 계속해서 같은 위치에 스테이지를 생성시킵니다. Fight 상태인 스테이지는 체크안되고 NEXT 상태인 스테이지는 체크되는 이유를 알 수 있을 까요.....
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
델리게이트 자료형 생성 매크로에 세미콜론 붙여야 하는건가요?
실행은 되는데 헤더의 몇몇 함수들이 링크가 안 맞는 뭔지 모를 오류 때문에 한참 찾았는데요..... 저도 모르게 세미콜론을 붙였다 안붙였다 해서 쓴 것 같은데안 붙여도 오류는 안 나는 이유가 뭘까요....
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
명칭에 대한 질문이 있습니다.
강의에서 언리얼 오브젝트라고 말하신 것은 UObject를 상속받은 클래스들을 칭한 것인가요?
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
공격하면서 회전하는데요. MOVE_None은 이동만 막는건가요?
MovementMode의 MOVE_None는 이동만 막는거고 회전은 막지 않는 것인가요???
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
데코레이터의 abort 설정 범위가 정확히 어떻게 되나요??
Self는 자기 자신만,Both는 자신과 오른쪽 노드까지 중지 시킴으로 상위 노드로 돌아간다면이쪽으로 가는게 맞나요??? 아니면 Root 까지 가는건가요?
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
FSoftObjectPtr 와 FSoftObejctPath는 어떤점이 다른가요???
둘다 나중에 로드하는 식으로 사용하는건 똑같긴 하지만 Path는 자료형을 지정 안하던데 예상하기로는 Path는 말그대로 문자열 저장 같은거고로드하기위해서는 핸들 같은 다른 객체의 도움을 받는 듯한 느낌인데요. 이번 수업에서 보여주신 Path - FStreamableHandle 사용법은 정형화되어있나요? 아니면 다른식으로 path 사용하는 방법이 무궁무진하나요?
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
에셋 매니저에 버그인지 제 기존 weapon 데이터 에셋을 못찾습니다.
왼쪽에 Weapon1 이 예전부터 실습하던 데이터 에셋인데요.weapon 박스가 생성이 안되길래 디버그로 확인해보니 에셋 매니저가 이 weapon1를 못 찾아서 에셋 목록에 없었습니다. 리로드 다시 해도 안되는 것 같습니다. 그래서 새로운 data asset을 ABWeaponItemData기본으로 만들어서 같이 테스트 해보니, 오른쪽 새로 만든 건 또 에셋 매니저가 찾아서 목록 안에 있더라구요..... 이게 버그인지 아니면 제가 뭘 잘못한 건지 잘 모르겠는데 혹시 뭔지 알 수 있을까요....
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
FSoftObjectPtr 함수 질문
IsPending()은 객체정보는 있지만 로딩되지 않았을 때 True.IsValid()는 객체정보있고 로딩도 되있을 때 True 인가요?? 그렇다면,IsPending()은 nullptr 일 때 false.IsValid()는 객체정보는 있고 로딩 전 일때 false 인가요??
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
속성의 변화를 알려주는 OnConstruction
보통 Transfrom이 변하면 호출되어 사용하는 함수 같은데요. 제가 사용해봤던 다른 엔진에서는 객체의 멤버변수가 변화되면 변화된 프로퍼티의 ID값과 함께 호출되는 콜백 함수로 OnChangedProperty( 프로퍼티 ID) 라는게 있어서변화된 게 누구인지 보고 처리하는 것이 있었는데요. 언리얼에서는 이런 것이 있나요???
 - 
      
        
    미해결[LV3 : 기술편] 게임스킬 만들기 - 기획, 아트 누구나 만드는 블루프린트
강의 자료 다운 문의
안녕하세요. 닻 데이터는 어디서 받을 수 있나요? 현재 버섯 데이터만 받을 수 있는 것 같습니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
DataAsset에 궁금증이 있습니다
15분 쯤 이제 Potion Data Asset을 생성하는 장면이 있는데 저렇게 구분해서 Data Asset을 생성하는 것이 더 좋나요? 제가 생각했던것은 이러한 Data 내용들은 Excel 혹은 json 파일을 이용해서 데이터 레이블에 저장해놓고 사용했을것 같은데 혹시 Data Asset을 사용하는게 어떤 이점이 있을까요?
 - 
      
        
    미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
1강. 오류: Expecting to find a type to be declared in a module rules named 'VisualStudioTools' in .
안녕하세요.1강부터 첫 예제부터 오류가 나서 더 이상 진행할 수가 없네요. 너무 초보같은 질문일지 모르겠지만 나름 며칠째 이 문제와 씨름하며 노력해보았지만 해결을 못해 도움을 청하고자 문의드리게되었습니다. 아래 링크처럼 잘 따라 했습니다.https://docs.unrealengine.com/5.3/ko/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine/혹시 몰라 아래 UnrealVS 익스텐션도 따라 설치해 보았지만 동일했습니다.https://docs.unrealengine.com/5.3/ko/using-the-unrealvs-extension-for-unreal-engine-cplusplus-projects/위 화면 캡쳐사진은 1,2번만 on 이 기본설정상태인데, 3번을 추가로 켜봤고, 1,2번을 off후 3번만 on도 해보았습니다만 결과는 동일했습니다.Source code는 Visual Studio 가 기본값인데, Visual Studio 2022로 놓아도 결과는 동일했습니다. *환경:Microsoft Visual Studio Community 2022 (64-bit) - Version 17.7.6UE Version: 5.3.1-28051148+++UE5+Release-5.3Platform: Windows 10 (22H2) [10.0.19045.3570] (x86_64) *오류 메시지UE에서 Ctrl Alt F11 했을 때:---------- Creating patch ----------Running D:\Users\Epic Games\UE_5.3\Engine\Build\BatchFiles\Build.bat -Target="UE5CppPart1_01Editor Win64 Development -Project=""D:/Users/userid/Documents/Unreal Projects/UE5CppPart1_01/UE5CppPart1_01.uproject""" -LiveCoding -LiveCodingModules="D:/Users/Epic Games/UE_5.3/Engine/Intermediate/LiveCodingModules.json" -LiveCodingManifest="D:/Users/Epic Games/UE_5.3/Engine/Intermediate/LiveCoding.json" -WaitMutex -LiveCodingLimit=100 Using bundled DotNet SDK version: 6.0.302 Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" -Target="UE5CppPart1_01Editor Win64 Development -Project=""D:/Users/userid/Documents/Unreal Projects/UE5CppPart1_01/UE5CppPart1_01.uproject""" -LiveCoding -LiveCodingModules="D:/Users/Epic Games/UE_5.3/Engine/Intermediate/LiveCodingModules.json" -LiveCodingManifest="D:/Users/Epic Games/UE_5.3/Engine/Intermediate/LiveCoding.json" -WaitMutex -LiveCodingLimit=100 Log file: D:\Users\userid\AppData\Local\UnrealBuildTool\Log.txt Creating makefile for UE5CppPart1_01Editor (.uproject file is newer) .... 중략 Total execution time: 3.58 seconds Expecting to find a type to be declared in a module rules named 'VisualStudioTools' in . This type must derive from the 'ModuleRules' type defined by Unreal Build Tool.Build failed. %AppData%\Local\UnrealBuildTool\Log.txt 내용:...중략Found Windows 10 SDK root at C:\Program Files (x86)\Windows Kits\10 (1)Found Windows 10 SDK root at C:\Program Files (x86)\Windows Kits\10 (2)Found Windows 10 SDK version 10.0.20348.0 at C:\Program Files (x86)\Windows Kits\10Found Universal CRT version 10.0.20348.0 at C:\Program Files (x86)\Windows Kits\10Found Windows 10 SDK version 10.0.22621.0 at C:\Program Files (x86)\Windows Kits\10Found Universal CRT version 10.0.22621.0 at C:\Program Files (x86)\Windows Kits\10Win64 Installed SDK(s): MinVersion_Sdk=10.0.00000.0, MaxVersion_Sdk=10.9.99999.0, CurrentVersion_Sdk=10.0.22621.0, Version_AutoSdk=10.0.18362.0, CurrentVersion_AutoSdk= Registering build platform: Win64 - buildable: TrueCommand line: "D:\Users\Epic Games\UE_5.3\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" "-Target=UE5CppPart1_01Editor Win64 Development -Project=\"D:/Users/userid/Documents/Unreal Projects/UE5CppPart1_01/UE5CppPart1_01.uproject\"" -LiveCoding "-LiveCodingModules=D:/Users/Epic Games/UE_5.3/Engine/Intermediate/LiveCodingModules.json" "-LiveCodingManifest=D:/Users/Epic Games/UE_5.3/Engine/Intermediate/LiveCoding.json" -WaitMutex -LiveCodingLimit=100...중략Makefile is older than .uproject file, ignoring itCreating makefile for UE5CppPart1_01Editor (.uproject file is newer)Skipping D:\Users\Epic Games\UE_5.3\Engine\Intermediate\Build\BuildRules\UE5Rules.dll: File is installedSkipping D:\Users\Epic Games\UE_5.3\Engine\Intermediate\Build\BuildRules\UE5ProgramRules.dll: File is installedCompiled assembly file 'D:\Users\userid\AppData\Local\UnrealEngine\Intermediate\Build\BuildRules\MarketplaceRules.dll' appears to be for a newer CLR version or is otherwise invalid. Unreal Build Tool will try to recompile this assembly now. (Exception: Could not load file or assembly 'D:\Users\userid\AppData\Local\UnrealEngine\Intermediate\Build\BuildRules\MarketplaceRules.dll'. Format of the executable (.exe) or library (.dll) is invalid.)..중략Found Visual Studio installation: C:\Program Files\Microsoft Visual Studio\2022\Community (Product=Microsoft.VisualStudio.Product.Community, Version=17.7.34221.43)Found Visual Studio toolchain: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933 (Family=14.34.31933, FamilyRank=2, Version=14.34.31947, Is64Bit=True, ReleaseChannel=Latest, Architecture=x64, Error=False, Redist=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.36.32532)Found Visual Studio toolchain: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532 (Family=14.36.32532, FamilyRank=0, Version=14.36.32542, Is64Bit=True, ReleaseChannel=Latest, Architecture=x64, Error=False, Redist=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.36.32532)Found Visual Studio toolchain: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822 (Family=14.37.32822, FamilyRank=4, Version=14.37.32825, Is64Bit=True, ReleaseChannel=Latest, Architecture=x64, Error=False, Redist=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\14.36.32532)Building UnrealEditor - UE5CppPart1_01Editor - Win64 - DevelopmentTotal execution time: 3.58 secondsExpecting to find a type to be declared in a module rules named 'VisualStudioTools' in . This type must derive from the 'ModuleRules' type defined by Unreal Build Tool.BuildException: Expecting to find a type to be declared in a module rules named 'VisualStudioTools' in . This type must derive from the 'ModuleRules' type defined by Unreal Build Tool. at UnrealBuildTool.RulesAssembly.CreateModuleRules(String ModuleName, ReadOnlyTargetRules Target, String ReferenceChain, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\System\RulesAssembly.cs:line 480 at UnrealBuildTool.RulesAssembly.CreateModuleRules(String ModuleName, ReadOnlyTargetRules Target, String ReferenceChain, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\System\RulesAssembly.cs:line 423 at UnrealBuildTool.UEBuildTarget.CreateModuleRulesAndSetDefaults(String ModuleName, String ReferenceChain, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 5210 at UnrealBuildTool.UEBuildTarget.FindOrCreateModuleByName(String ModuleName, String ReferenceChain, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 5334 at UnrealBuildTool.UEBuildTarget.FindOrCreateCppModuleByName(String ModuleName, String ReferenceChain, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 5471 at UnrealBuildTool.UEBuildTarget.AddPlugin(PluginReferenceDescriptor Reference, String ReferenceChain, String[] ExcludeFolders, Dictionary`2 NameToInstance, Dictionary`2 NameToInfos, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 4511 at UnrealBuildTool.UEBuildTarget.SetupPlugins(ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 4285 at UnrealBuildTool.UEBuildTarget.PreBuildSetup(ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 3316 at UnrealBuildTool.UEBuildTarget.Create(TargetDescriptor Descriptor, Boolean bSkipRulesCompile, Boolean bForceRulesCompile, Boolean bUsePrecompiled, UnrealIntermediateEnvironment IntermediateEnvironment, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildTarget.cs:line 1366 at UnrealBuildTool.BuildMode.CreateMakefileAsync(BuildConfiguration BuildConfiguration, TargetDescriptor TargetDescriptor, ISourceFileWorkingSet WorkingSet, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 1114 at UnrealBuildTool.BuildMode.BuildAsync(List`1 TargetDescriptors, BuildConfiguration BuildConfiguration, ISourceFileWorkingSet WorkingSet, BuildOptions Options, FileReference WriteOutdatedActionsFile, ILogger Logger, Boolean bSkipPreBuildTargets) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 396 at UnrealBuildTool.BuildMode.ExecuteAsync(CommandLineArguments Arguments, ILogger Logger) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\Modes\BuildMode.cs:line 252 at UnrealBuildTool.UnrealBuildTool.Main(String[] ArgumentsArray) in D:\Users\Epic Games\UE_5.3\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.cs:line 659WriteFileIfChanged() wrote 0 changed files of 0 requested writes.Timeline:[ 0.000][ 0.000](+3.595) <unknown>[ 3.595]
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
플레이어 캐릭터의 블루프린트에 위젯 컴포넌트 질문입니다.
플레이어의 체력바가 변화가 없길래 블루프린트를 봤더니HpBar 위젯 컴포넌트가 그냥 기본 UWidgetComponent로 되어있었습니다.자동으로 AABWidgetComponent로 바뀌여야 하지 않나요??혹시 수동으로 직접 바꿔야 되는 건가요??? 혹시 몰라서 HpBar를 직접 UABWidgetComponent로 바꿔봤는데 그렇게 하면 블루프린트에 디테일 패널이 안나와요....
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UserWidget의 GetOwningPlayerPawn()은 컨트롤러가 붙어있는 폰만 유효한거죠?
GetOwningPlayerPawn() 함수가 UI와 관련된 플레이어 폰이라고 설명이 되있는데말그대로 플레이어컨트롤러가 붙어있는 Pawn인거죠??
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
.uasset 패키지 파일 제어 질문입니다.
SavePackage() 할때 패키지 기존 데이터 초기화하고 새로 넣는 방법이나.uasset 패키지 파일을 런타임 중 삭제하는 방법이 있나요?? bool check = FPlatformFileManager::Get().GetPlatformFile().DeleteFile(*PackageFileName); 이건 잘 안되는 것 같습니다.
 - 
      
        
    미해결언리얼 엔진4 입문 (C++ 기반)
c++ 클래스 폴더 관련 질문입니다.
안녕하세요, 한동안 유니티를 이용하여 작업을 하다가 막 언리얼에 입문한 학생입니다.언리얼에서 작업을 하면서 c++ 클래스 파일을 폴더 하나에만 놓다보니 파일이 어수선한 느낌이 들어 따로 public과 private 폴더 안에 다른 폴더들을 생성하여 파일 정리를 하자는 생각이 들었습니다.그런데 이렇게 폴더들을 따로 만들어서 정리를 하다가 만약에 정리를 다른 방식으로 하고 싶어서 폴더와 파일 위치를 바꾸다보면 레퍼런스 에러 문제가 발생할 수 있는데 이러한 경우 이것을 잡아주기 위해 수많은 c++ 클래스 파일을 직접 하나하나 바꿔야 되는 불편한 점이 있었습니다.루키스님께서는 언리얼로 프로젝트를 만들때 c++ 클래스 파일을 어떻게 관리하시는 편인가요?만약 다른 폴더를 만들어 관리를 하신다면 해당 문제는 어떻게 해결하고 계시는지 궁금합니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
몽타주에 델리게이트 set 하는거는 일회용인가요??
//몽타주 섹션 End 델리게이트 만들어서 콜백함수 연결하고 FOnMontageEnded EndDelegate; EndDelegate.BindUObject(this, &AABCharacterBase::ComboActionEnd); //델리게이트를 몽타주에 설정 AnimInstance->Montage_SetEndDelegate(EndDelegate, ComboActionMontage);수업 내용처럼 계속해서 지역변수로 선언한 델리게이트를 넣어줘야 하는 건가요??? 안에서 MontageInstance->OnMontageEnded 처럼 멤버변수에 따로 복사 되는 것 같은데도한번만 설정했을 시 잘 안되는 것 같아요. FAnimMontageInstance 라고 몽타주 실행 할 때마다 생성되서 내부에 관리하는데 델리게이트를 FAnimMontageInstance에다가 설정하는 것으로 보입니다.이 인스턴스가 어디서 계속 삭제되니까 설정도 계속 해줘야 하는 것으로 보입니다. 이곳은 복잡해서 흐름을 이해하기가 조금 힘든 것 같습니다.
 - 
      
        
    해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Landing모션에서 곧바로 Loco모션의 달리기로 바로 바뀔 수 있는 이유
제가 점프 얼라이어스에 Landing도 체크 했기 때문에 landing 하자마자 점프를 하면 바로 점프 모션으로 바뀌게 되는 것은 이해가 되는데요. Landing모션이 시작되고 10퍼센트 이하 남은 시점에 Locomotion으로 바뀌게 설계를 했기 때문에, landing하자마자 이동하면 landing모션이 10%남은 시점 까진 Landing이 유지되다가 달리기 모션을 바뀔 줄 알았는데 Landing하자마자 이동을 하면 바로 Locomotion의 달리기 모션으로 전환 될 수 있는 이유를 알 수 있을까요..