묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Unreal Engine Crash
LoginId:ebefb15d4a41fcfbd9f0d19329778528EpicAccountId:91a6d7e499ba484bb30b7d42f941c5baUnhandled Exception: EXCEPTION_ACCESS_VIOLATION 0x00000000ffffffffUnrealEditor_ControlRig!FRigBaseElement::Serialize() [D:\build\++UE5\Sync\Engine\Plugins\Animation\ControlRig\Source\ControlRig\Private\Rigs\RigHierarchyElements.cpp:101]UnrealEditor_ControlRig!URigHierarchy::Save() [D:\build\++UE5\Sync\Engine\Plugins\Animation\ControlRig\Source\ControlRig\Private\Rigs\RigHierarchy.cpp:185]UnrealEditor_ControlRig!URigHierarchy::Serialize() [D:\build\++UE5\Sync\Engine\Plugins\Animation\ControlRig\Source\ControlRig\Private\Rigs\RigHierarchy.cpp:148]UnrealEditor_UnrealEd!FAsyncTask<`FReload::ReplaceReferencesToReconstructedCDOs'::`2'::FFindRefTask>::DoTaskWork() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:636]UnrealEditor_UnrealEd!FAsyncTaskBase::DoWork() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:304]UnrealEditor_UnrealEd!FAsyncTaskBase::DoThreadedWork() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:328]UnrealEditor_Core!FQueuedThread::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\HAL\ThreadingBase.cpp:1356]UnrealEditor_Core!FRunnableThreadWin::Run() [D:\build\++UE5\Sync\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:149]Livecording 할때마다 지금 이러한 crash가 생깁니다 이런 오류들 때문에 1강을 못벗어나고 있습니다
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
회사에서도 헤더 파일을 수정할 때 엔진을 종료하고 진행하는지 궁금합니다!
안녕하세요. 양질의 강의 정말 잘 듣고 있습니다!언리얼 C++ 과 관련하여 이 강의 만큼 이해하기 좋고, 상세하게 설명해주는 수업이 없다고 생각합니다..!!! 다름이 아니라 '설계의 변경을 위해 헤더 파일을 수정할 땐 엔진을 끈다' 라는 것을 이 강좌에서 처음 알게 되었는데실제로 라이브 서비스 중인 팀에서도 이와 같은 방식으로작업을 하는지 정말 궁금합니다! 유니티 팀의 경우 라이브 서비스 한지 3~4년 쯤 되면 전처리 할 리소스나 플러그인 같은 것도 덕지덕지 붙다보니 엔진을 한 번 껐다 켜는데 10~15분 정도 걸려서 '코드 추가/삭제를 위해 껐다 켠다' 라는 생각이 잘 안 드는데 언리얼 엔진은 프로젝트 폴더 사이즈가 수 십 ~ 백단위 GB 가 넘어가도 껐다 켜면서 작업을 하는데 지장이 없는지 궁금합니다. 물론, 클래스 추가/삭제나 헤더 파일 수정은 빈번하게 일어나는 작업은 아니지만 그럼에도 불구하고 무언가를 수정하는 작업에 있어서 엔진을 껐다 켰다 해야하는 게 꽤나 번거로울 것 같아 보여서요. 😁
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
애니메이션 커브 root yaw offset clamping
애니메이션 커브 강의에서 한가지 의문이 생겨 질문드립니다.root yaw offset을 clamp 시켜줄 때 offset을 정해 줄 때 같이 clamp를 한 후 set을 해주는게 아니라 굳이 순서를 시퀀스로 나눠서 clamping을 해주는 이유가 있을까요?질 좋은 강의 덕에 언리얼 정말 쉽고 재밌게 배우고 있습니다. 감사합니다.
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
갑자기 액터 사이의 연관성에 관련된 개념이 좀 헷갈립니다
예전에 part1에서 배웠었던 컴포지션의 outer / SubObject 랑Owner 랑 Attachment의 정의가 좀 헷갈려진 것 같습니다..... Outer/SubObject의 관계는 UObject 사이에서 변수로 참조중인지 아닌지로 클래스 수명에 관련된 걸로 이해하고 있었지만,Actor로 넘어와선 Actor 사이의 Owner가 좀 헷갈리기 시작했는데요. ... Actor에서 부턴 Component 개념도 생겨서 attachment라는게 또 새로 나오는데, 여기서 attachment로 연결된 Actor 사이를 Owner라고 봐도 되나요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
visual studio 에러
어떠한 부분이 문제인가요? 언리얼 엔진에 맞게 설정을 한거 같습니다
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
수업 내용 질문합니다!
제가 정확히 이해한 것이 맞는지 확인하고자 질문드립니다. Rotation 커브 만드실 때 값을 0~90으로 하셨는데 애니메이션 움직이는 것에는 영향을 주지 않고 프레임이 바뀔 때 마다 바뀌는 0~90 값을 코딩에 활용하기 위해 만든 것으로 이해 했는데 단순하게 변수와 같은 원리로 이해하면 되는건가요? 메타데이터는 애니메이션 on off 상황을 0 과 1로 나타내는 용도로만 사용하는 기능인가요?
-
해결됨[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
구조체 관련 질문
구조체에서 Split Struct Pin을 통해서 핀을 바로 분할해서 사용하는 것과Break {구조체 이름} 혹은 Make {구조체 이름}을 통해서 핀을 사용하는 것에 대한 차이점이 있는지 알고 싶습니다단지 중복되는 기능인지 아니면 성능 차이가 있는지 이유를 알 고 싶습니다
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
프로젝트 생성할때 오류
언리얼 엔진으로 프로젝트를 만들때마다 지금 계속 오류가 나와서 프로젝트를 생성할때 마다 running d:/ue_5.3/engine/build/batchfiles/build.bat -projectfiles -project="d:/unrealengine/arenabattle/arenabattle.uproject" -game -rocket -progress using bundled dotnet sdk version: 6.0.302 running unrealbuildtool: dotnet "..\..\engine\binaries\dotnet\unrealbuildtool\unrealbuildtool.dll" -projectfiles -project="d:/unrealengine/arenabattle/arenabattle.uproject" -game -rocket -progress cannot use file stream for [d:\ue_5.3\engine\binaries\dotnet\unrealbuildtool\unrealbuildtool.deps.json]: no such file or directory a fatal error was encountered. the library 'hostpolicy.dll' required to execute the application was not found in 'd:\ue_5.3\engine\binaries\dotnet\unrealbuildtool\'. failed to run as a self-contained app. - the application was run as a self-contained app because 'd:\ue_5.3\engine\binaries\dotnet\unrealbuildtool\unrealbuildtool.runtimeconfig.json' was not found. - if this should be a framework-dependent app, add the 'd:\ue_5.3\engine\binaries\dotnet\unrealbuildtool\unrealbuildtool.runtimeconfig.json' file and specify the appropriate framework.이러한 오류가 계속 나오고 있습니다 해결방법이 있을까요?
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
버블정렬 중에서 현재값에서 다음 값으로 넘어가도록 하는 부분 질문입니다.
버블정렬 현재값/ 다음값 인덱스 세팅 궁금한 점입니다.Now값을 세팅해주어야 할때 +1 하기 위해서 ADD를 불러와 주었는데, 이럴 때 Now는 인덱스의 값이 계산 되는 것이 아니라 Now의 엘리멘탈?(Now의 디폴트값)이 계산되어서 0에서 1이 되어지는 걸로 이해했어요. 그런데 밑에 Number의 배열속 인덱스의 갯수를 Lengh로 꺼내와준 뒤에 -1을 하셨는데, 이런 경우에 인덱스 속 엘리멘탈이 -1이 되는 것이 아닌 인덱스가 한개 줄어드는건데, 이 부분이 왜 -1이 되어야 하는지 잘 모르겠습니다. 그 다음 Min은 최솟값을 불러온다는 것인데 헷갈립니다 ㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
클라이언트에서는 플레이어 컨트롤러가 언제 만들어 지나요?
서버에서 Login() 할 때, 클라이언트 대용 플레이어 컨트롤러가 만들어진다고 이해를 하였는데,클라이언트로 복제되는 과정은 정확히 언제 어떻게 이뤄져서클라이언트에서 플레이어 컨트롤러가 생성되는지.이거는 나중에 자세히 나오나요???클라이언트에서 서버로 로그인 요청하는 것도 같이 나중에 나오나요?
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
로또 번호 생성기 셔플노드 제작 부분에서 질문있습니다.
로또번호 생성기 셔플 노드를 통해 45개의 데이터를 추가하여, 셔플시켜 임의의 숫자 6개를 골라서 Number라는 배열변수에 넣어주는 것은 이해를 했습니다. 그러나 Temp라는 배열변수는 처음에 45개의 데이터가 추가가 되었는데, 다시 6개의 데이터를 Get으로 넣어주개 되면은 데이터가 51개가 되버리는게 아닌가라는 생각을 해서요. 이부분 잘 이해가 되지 않습니다.
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
노드가 검색이 안됩니다.
11:43 에서 사용하는 new state machine 이 검색이 안됩니다. context sensitive도 체크 해제해서 검색 해봐도 안보이고 혹시 이름이 바뀌었나 해서 언리얼 문서도 확인했는데 이상이 없네요 그리고 영상에서는 fwd를 연결하면 계속 반복실행이 되는데 제 상황에서는 따로 설정한 것이 없는데 1번 실행되고 반복실행이 안됩니다. 이 같은 경우는 어떻게 해결하나요?
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
8강 Getter Setter 에 대한 질문이 있습니다.
안녕하세요 교수님.CPP에 대한 이해가 아직 많이 부족해서 수업을 듣던 중 질문이 생겼습니다. 조금 이상한 질문일 수도 있을것같은데,FString 멤버 변수의 Getter Setter 멤버 함수는FORCEINLINE FString& GetName() { return Name; }FORCEINLINE void SetName(const FString& InName) { Name = InName; }이렇게 인라인 함수 선언과 참조자 반환으로 성능을 중시한 반면, ECardType 열거형 멤버 변수의 Getter Setter의 경우에는ECardType GetCardType() const { return CardType; }void SetCardType(ECardType InCardType) { CardType = InCardType; }이렇게 선언하여 안정성을 추구한 것처럼 보이는데, 이런 설계 이유나 판단 기준이 무엇인가요? 객체의 크기와 특성에 따라 적절한 설계 방법이 조금씩 다르기 때문일까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
11강 내용중 FStruct 안에 GetTypeHash 함수 friend 선언
friend 키워드는 인자가 클래스일때 private , protected 변수에 접근이 자유롭게 가능하다로 알고있는데요 여기서 들어오는 인자는 FStruct 구조체이므로 모든 변수는 public 이기 떄문에 딱히 의미가 없는부분일까요 ?..
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
GameMode의 HUD클래스는 화면에 플레이어HUD랑 중첩되나요?
모든 플레이어에게 공통된 정보를 나타낼 때 사용된다 라고 하는데, 클라이언트 화면에 표시할 UI로서 플레이어 컨트롤러의 HUD가 그려지는 와중에 어떤 정보를 어떻게 그린다는 건지 아직 상상이 잘 안 되서 여쭤봅니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
player controller 초기화 과정이 이상해요.
PlayerController와 HUD위젯 초기화 순서가 먼저 진행했던 캐릭터의 HP위젯이랑 어떻게 다른지 볼려고 중단점찍고 확인해봤는데요. PlayerController 액터에 PostInitializeComponents()도 한번 그냥 재정의 해서 이것도 확인해 보니, CharacterBase 액터의 생성자가 호출되기전에 PlayerController의 PostInitializeComponents()가 호출되었습니다. 이 경우, 제가 뭔가 잘못한 걸까요?? Initialize 함수가 다른 액터의 생성자보다 먼저 실행되는게 이해가 가질 않습니다....
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
2강 캐릭터와 입력시스템: compile error로 인해 코드를 적용할 수 없습니다.
34분 15초 부터 시작해서 강의 끝까지 들었습니다.선생님 코드에서 compile error 표시가 있어도 빌드랑 ctrl + f5를 통한 Editor 실행까지 잘 수행되는 것을 확인했습니다. 하지만 제 환경에서는 compile error 표시를 해결하지 않으면 아무것도 수행할 수 없었습니다.수업 자료에 있던 zip 파일의 소스 코드를 복붙해서 오타가 있는지 확인했는데도, compile error가 발생합니다.이를 해결하고 싶습니다.Build started... 1>------ Build started: Project: ArenaBattle, Configuration: Development_Editor x64 ------ 2>------ Skipped Build: Project: UE5, Configuration: BuiltWithUnrealBuildTool Win64 ------ 2>Project not selected to build for this solution configuration 1>Using bundled DotNet SDK version: 6.0.302 1>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" ArenaBattleEditor Win64 Development -Project="C:\Unreal Projects\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild 1>Log file: C:\Users\kdh\AppData\Local\UnrealBuildTool\Log.txt 1>Invalidating makefile for ArenaBattleEditor (ABCharacterPlayer.cpp.obj.response modified) 1>Building ArenaBattleEditor... 1>Using Visual Studio 2022 14.34.31947 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10). 1>[Upgrade] 1>[Upgrade] Using backward-compatible include order. The latest version of UE has changed the order of includes, which may require code changes. The current setting is: 1>[Upgrade] IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_1 1>[Upgrade] Suppress this message by setting 'IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_2;' in ArenaBattleEditor.Target.cs. 1>[Upgrade] Alternatively you can set this to 'EngineIncludeOrderVersion.Latest' to always use the latest include order. This will potentially cause compile errors when integrating new versions of the engine. 1>[Upgrade] 1>Determining max actions to execute in parallel (8 physical cores, 16 logical cores) 1> Executing up to 8 processes, one per physical core 1> Requested 1.5 GB free memory per action, 5.08 GB available: limiting max parallel actions to 3 1>Building 4 actions with 3 processes... 1>[1/4] Link [x64] UnrealEditor-ArenaBattle.dll cancelled 1>[2/4] WriteMetadata ArenaBattleEditor.target cancelled 1>[3/4] Link [x64] UnrealEditor-ArenaBattle.lib cancelled 1>[4/4] Compile [x64] ABCharacterPlayer.cpp 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(58): error C2672: 'ULocalPlayer::GetSubsystem': no matching overloaded function found 1>C:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Engine\Classes\Engine\LocalPlayer.h(332): note: could be 'TSubsystemClass *ULocalPlayer::GetSubsystem(const ULocalPlayer *)' 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(58): note: 'initializing': cannot convert from 'APlayerController *' to 'const ULocalPlayer *' 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(58): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or parenthesized function-style cast 1>C:\Program Files\Epic Games\UE_5.2\Engine\Source\Runtime\Engine\Classes\Engine\LocalPlayer.h(322): note: or 'TSubsystemClass *ULocalPlayer::GetSubsystem(void) const' 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(58): note: 'TSubsystemClass *ULocalPlayer::GetSubsystem(void) const': expects 0 arguments - 1 provided 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(88): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(88): error C2146: syntax error: missing ';' before identifier 'Rotation' 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(88): error C2065: 'Rotation': undeclared identifier 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(89): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(89): error C2086: 'const int FRotater': redefinition 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(88): note: see declaration of 'FRotater' 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(89): error C2146: syntax error: missing ';' before identifier 'YawRotation' 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(89): error C2065: 'Rotation': undeclared identifier 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(89): error C3861: 'YawRotation': identifier not found 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(91): error C2065: 'YawRotation': undeclared identifier 1>C:\Unreal Projects\ArenaBattle\Source\ArenaBattle\Character\ABCharacterPlayer.cpp(92): error C2065: 'YawRotation': undeclared identifier 1>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.2\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="C:\Unreal Projects\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild" exited with code 6. 1>Done building project "ArenaBattle.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 1 skipped ========== ========== Build started at 오후 11:32 and took 07.270 seconds ==========이처럼 해당 클래스를 찾을 수 없다는 compile error가 계속 발생했습니다.10000자 제한으로 답글에 코드를 올리겠습니다.
-
미해결[LV2] 이펙터로 취업하기 위한 포트폴리오 만들기
매직볼 2번 던지는 현상
강사님,.. 저 이렇게 Once로 해놨는데 왜 매직볼 던지는 모션을 2번 취하는 걸까요...? ㅠㅠ 그냥 시퀀서에서 빨간 라인(라이프 사이클) 줄이면 한 번만 던지긴 하는데 중간에 끊겨버려서요..
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
제가 빌드 이후에 대한 것들을 좀 찾아봤는데 질문이 하나 있습니다.
패키지 빌드 디버깅 | 언리얼 엔진 커뮤니티 위키 (unrealcommunity.wiki) shipping 빌드 이후 실행파일 디버그 하는 방법에 대한 내용 같은데요.제가 빌드한 것에는 tbb라는 이름의 pdb 밖에 없어서 모듈 연결을 할 수 없었습니다. shipping모드의 실행파일의 pdb를 얻는 법이 따로 있을 까요? shipping은 최적화된거라 사실 디버그 잘 안 될것 같긴한데 방법이 있다고하니 따라해 보려 했지만 잘 모르겠습니다...
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
c++로 Data Asset을 로드 했으면 Cook에 폴더 지정해야한다 라고 이해했는데요.
숄더랑 쿼터 data asset 있는 폴더는 Additional Asset Directories to Cook에 추가 안 하나요???