묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[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의 달리기 모션으로 전환 될 수 있는 이유를 알 수 있을까요..
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
스프링암의 Use Pawn Control Rotation적용 질문이 있습니다.
Use Pawn Control Rotation을 켜면 컨트롤러 회전값을 해당 컴포넌트의 rotation에 적용한다고 이해했었는데요.이것만 켜면 마우스로 인한 컨트롤러 회전값 변화가 스프링암에 적용되어 스프링 암이 회전할 거라고 생각했는데스프링암에 있는 부모의 회전값을 상속받는 옵션을 켜야만 작동이 되는 것을 확인했습니다.어떤 이유로 스프링암의 부모컴포넌트의 회전값을 상속받아야지만 작동되는지 알수있을까요? 반대로 Use Pawn Control Rotation을 끄고 회전값 상속을 하니 무조건 캐릭터의 뒷면만 보게끔 되는것을 확인했습니다. 이러한 동작은 이해가 되었습니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
현업에서 트레일같은 쉐이더질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.협업에서 트레일이나 파티클같은거도 c++로 하나요?포트폴리오만드는중에 트레일이나 파티클도c++로 만들어야하나 궁금해서 질문남겨봅니다
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
입력 모디파이어 질문있습니다.
질문이 많아 죄송합니다.매뉴얼을 봐도 모디파이어가 인풋의 출력 값을 변형시킨다는 어렴풋한 이해만 되고 정확히 무엇인지 잘 모르겠습니다... 스위즐과 Order에 대한 이해도 잘 안되지만 인풋 액션에만 모디파이어가 있는게 아니라 맵핑 컨텍스트의 키맵핑에도 모디 파이어가 있는데 어떤관계고 어떻게 동작하는건지 좀 어렵습니다...
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
애니메이션 몽타주 재생 후 마지막 프레임의 포즈로 고정하는 설정을 알고싶습니다.
Part2 6강 39분쯤 PlayDeadAnimation() 코드를 보면 모든 몽타주를 멈추고 DeadMontage를 재생하는 코드가 있는데, 제 프로젝트에서는 몽타주를 다 재생하고 나면 애니메이션 블루프린트로 지정된 IDLE상태로 돌아오는데, 수업 내용에서는 마지막 프레임의 모습으로 고정되어 있었습니다. 제가 놓친 부분을 찾아보았으나 차이를 찾지 못하여 이렇게 문의드립니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Look() 함수 설명해주실때 컨트롤러의 의미
void AABCharacterPlayer::Look(const FInputActionValue& Value) { //마우스 입력 같음 FVector2D LookAxisVector = Value.Get<FVector2D>(); //컨트롤러의 회전을 설정함으로서 스프링암이 해당 컨트롤러를 바라보도록 한다...? AddControllerYawInput(LookAxisVector.X); AddControllerPitchInput(LookAxisVector.Y); }저는 컨트롤러를 그냥 마우스/키보드 입력을 처리하거나 입력값을 자신이 빙의한 폰에 넘겨주는 역할을 하는 무형의 클래스라고 생각하고 있었는데요. 컨트롤러의 회전을 설정함으로서 스프링암이 해당 컨트롤러를 바라보도록 한다. 라는 설명에서는 카메라를 제어하는 듯한 의미같은데설명의 의미와 컨트롤러와 카메라의 관계를 잘 모르겠습니다... 컨트롤러가 빙의 되면 폰이 가지고있는 카메라 컴포넌트를 자동으로 컨트롤러가 참조하게 되고, AddControllerYawInput() 같은 함수를 통해 컨트롤러에 회전값을 주면 카메라를 제어하는 그런 시스템일까요???또, 그 카메라가 스프링암이 있다면 스프링암 위치와 떨어진 거리 기준으로 공전하는 회전이 적용되는 그런 의미일까요??
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
SetupPlayerInputComponent 함수에 대한 전반적 이해 질문...
void AABCharacterPlayer::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent) { Super::SetupPlayerInputComponent(PlayerInputComponent); // 반드시 UInputComponent를 가져올 수 있도록 CastChecked를 사용해서 없으면 에러 발생되게 함 UEnhancedInputComponent* EnhancedInputComponent = CastChecked<UEnhancedInputComponent>(PlayerInputComponent); ... }SetupPlayerInputComponent 라는 함수와 매개변수인 UInputCompononent가 무엇인지 전체적인 그림이 잘 그려지지 않습니다.... 지금은 향상된 입력을 수행하는 녀석이라고 이해하고 있는데 보니까 BeginPlay() 하기전에 실행되기도 하고..... UInputCompononent가 어디에서 온건지, 커스텀으로 에디터에서 만들고 등록할 수 있는건지. 전반적인 이해가 필요한데요. 이 함수와 매개변수에 대한 자세한 건 나중에 또 나오나요??
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UPROPERTY()를 이용한 댕글리 포인터 문제 해결 질문
UObject 포인터 멤버 변수에 UPROPERTY()를 붙여야하는 이유를 제가 제대로 이해한 것인지 궁금합니다.동적 할당한 UObject는 가비지 컬렉터로 관리되며, 스윕으로 정리되는 조건은 참조 여부이다. (해당 UObject를 참조하고 있는 곳이 있다면 스윕 X) - 메모리 누수 문제 해결UPROPERTY()를 선언한 포인터 멤버 변수를 사용해야 가비지 컬렉터에서 참조 여부를 판단할 수 있다.즉, UPROPERTY()를 선언한 포인터 멤버 변수가 참조하는 UObject는 가비지 컬렉터가 지울수 없으니 댕글리 포인터가 될 수 없다. - 모든 UObject 포인터에 UPROPERTY()를 선언 해주는 것 만으로도 댕글리 문제 해결 만약 제가 제대로 이해한게 맞다면 두 가지 궁금한 점이 있습니다.어느 곳에도 참조되지 않는 Actor는 스윕으로 부터 어떻게 안전한가요?Actor를 참조하고 있는 A 객체가 있고 해당 Actor가 Destory 됐을 때(몬스터가 죽었을 때), A 객체에서 접근을 한다면 댕글리 포인터가 될 것 같은데, 이때는 어떤식으로 댕글리 포인터를 해결하나요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
클라이언트에서 RPC함수 실행 시점
안녕하세요 어떤 액터의 내부에 다음과 같은 선언이 있고UPROPERTY(ReplicatedUsing=OnRep_Val)float Val; void OnRep_Val(); Val의 값이 서버에서 변경이 되면 클라이언트에서 OnRep_Val()함수가 실행될텐데OnRep_Val함수가 클라이언트에서 실행되는 순서가 궁금합니다.예를 들면 클라이언트의 Tick함수가 다 실행이 된 후에 OnRep_Val함수가 실행되는 건지아니면 클라이언트의 Tick함수가 실행되는 동시에 별도의 쓰레드를 생성해서동시에 OnRep_Val함수가 실행되는 건지 궁금해요 마찬가지로 Server, Client, NetMulticast로 작성된 함수들의 실행방식도요
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
StaticClass 나 에셋 레퍼런스 경로로 클래스를 사용한다는 의미
이 예제처럼 클래스 정보를 얻어와 적용해 사용한다는 뜻은 엔진 내부적으로 받은 클래스 정보에 따라 인스턴스를 스스로 만들어 사용한다고 보면 되는 건가요?? AABPlayerController 클래스의 인스턴스를 직접 만들었다면 고칠꺼 고치고 GetClass()를 통해서 넣으면 되는 걸까요? 그리고 TSubclassOf의 효과를 알 수 있을 까요... 찾아보니 지정한 UClass 파생 클래스로만 할당 할 수 있어서 안전하다.. 이런 얘기가 있는데 잘 모르겠네요ㅜㅜ
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
콘텐츠 브라우저에 플러그인 폴더 생성이 안됩니다.
안녕하세요, 콘텐츠 브라우저에 플러그인 폴더 생성이 안되지만, Edit > Plugins > PROJECT > Other에는 GameUtility플러그인이 존재합니다. Plugins 폴더가 보이지 않아도 무방한가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
1강 강의 대로 PlayerController를 변경한 후 캐릭터 조작이 안되고 있습니다.
1강 강의 대로 PlayerController를 변경한 후 캐릭터 조작이 안되는 문제를 겪고 있습니다.1강 언리얼 엔진 게임 제작 기초 강의 그대로 따라하고 있었는데요.23:21 부분 따라한 이후 부터는 캐릭터 뿐만 아니라 카메라도 이동이 되지 않고 있습니다. 재컴파일도 해보고 아예 새 프로젝트부터 다시 만들어보기도하였는데요. 동일한 현상 때문에 애를 먹고 있습니다. 어떻게 해결하면 좋을지 여쭤보고 싶습니다.아래는 조작이 안되는 상태 스크린샷입니다. (키보드나 마우스 움직여도 캐릭터가 움직이질 않음)