묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
For loop 관련 질문입니다.
For loop와 함수를 가지고 여러 장난을 치던 중, for loop의 loop body부분이 딜레이를 가지고 함수를 실행한후 3초있다가 다시 실행하게 되었으면 좋을거 같아. 함수 뒤쪽에 delay를 넣었지만, 이에 불구하고 함수가 3번 연속으로 실행된 뒤, completed에 연결된 노드들까지 실행이 되었습니다.제가 이에대해 이해한 바는 for loop는 event를 호출하는것과 같이, loop body에 연결된 노드들을 연속적으로 호출한 후, completed의 노드를 실행하는거 같았는데 혹시 제가 이해한게 맞나요?또한 제가 원래 원하던 느낌이 되게 delay를 가지고 여러번 실행되게 하는 방법이 있을까요? 아 그리고 이건 또 다른 이야긴데... bp creature의 attack 콜리젼 범위를 보이게 하거나 안보이게 하는 방법을 잘 모르겠네요..분명 강의에서 가르쳐 주셨는데 찾질 못하겠어요 ㅠㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼 C++ 인터페이스 VS C++ 인터페이스
안녕하세요 선생님! 강의 열심히 듣고있습니다 ! 기존에 C++ 를 약 1년 반 정도 공부하고 사용하고 있습니다. 제가 알고 있는 인터페이스 클래스란 넓은 범위로 공통적인 속성을 추출해 상속 관계에서 기능을 구현할 것을 약속한, 순수 가상 함수만을 갖고있는 클래스이다. 라고 알고있습니다. 상태나, 구현 또한 가질 수 없구요. 그런데 오늘 언리얼C++ 인터페이스를 공부하다보니 다중 상속을 오히려 권장하는 부분인 것 같아서요. 그리고 인터페이스 클래스가 부모로 사용되진 않는다고 지나가듯 말씀하셨는데 이 부분에 대해 자세하게 설명해주실 수 있으실까요??
-
미해결언리얼 엔진 5 FPS 게임 만들기
프로젝트 맵에서 파티맵이 없어요
동일하게 진행했는데 몇 번을해도 파티맵은 없고Advanced lightningFirstpersonmapMinimal defaultStart map만 나와요 ㅜㅜ 그라고 처음 새프로젝트 만들고 플레이 버튼 후 총을 먹고 f8 로 카메라 모양이 안보입니다Firstpersonal Camera를 클릭해도 없고 회전도 안되네요 회전 시 다시 돌아오니다
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 질문하나 드리겠습니다.
안녕하세요. 질문 드리기 앞서 감사 인사를 전하고 싶습니다. 저 같은 초보도 이해가 잘되고 쉽게배울 수 있는 양질의 강의를 저렴한 값에 제공 해주셔서 감사합니다.Build started...1>------ Build started: Project: Study, Configuration: Development_Editor x64 ------2>------ Skipped Build: Project: UE5, Configuration: BuiltWithUnrealBuildTool Win64 ------2>Project not selected to build for this solution configuration 1>Running UnrealBuildTool: dotnet "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" StudyEditor Win64 Development -Project="C:\Users\leehy\Documents\Unreal Projects\Study\Study.uproject" -WaitMutex -FromMsBuild1>Log file: C:\Users\leehy\AppData\Local\UnrealBuildTool\Log.txt1>Building StudyEditor...1>Using Visual Studio 2022 14.33.31631 toolchain (C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).1>Determining max actions to execute in parallel (8 physical cores, 16 logical cores)1> Executing up to 8 processes, one per physical core1>Building 4 actions with 4 processes...1>[1/4] Link UnrealEditor-Study.lib cancelled1>[2/4] WriteMetadata StudyEditor.target cancelled1>[3/4] Link UnrealEditor-Study.dll cancelled1>[4/4] Compile PlayerCharacter.cpp1>C:\UE_5.1\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h(1241): error C2338: static_assert failed: 'Formatting string must be a TCHAR array.'1>C:\Users\leehy\Documents\Unreal Projects\Study\Source\Study\PlayerCharacter.cpp(221): note: see reference to function template instantiation 'FString FString::Printf<int32,>(const FmtType &)' being compiled1> with1> [1> FmtType=int321> ]1>C:\UE_5.1\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h(1240): warning C4312: 'type cast': conversion from 'const FmtType' to 'const TCHAR *' of greater size1> with1> [1> FmtType=int321> ]1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command "C:\UE_5.1\Engine\Build\BatchFiles\Build.bat StudyEditor Win64 Development -Project="C:\Users\leehy\Documents\Unreal Projects\Study\Study.uproject" -WaitMutex -FromMsBuild" exited with code 6.1>Done building project "Study.vcxproj" -- FAILED.========== Build: 0 succeeded, 1 failed, 0 up-to-date, 1 skipped ==================== Build started at 11:31 PM and took 03.141 seconds ==========PlayerCharacter.cpp(221) 에서 오류가 있는데요. FString::Printf 로 섹션 이름과 번호를 가져오는부분에서 잘 안되는 것 같습니다. 언리얼 개발자를 꿈꾸게 된 계기는 모두 이득우님 덕분입니다. 항상 감사드립니다. void APlayerCharacter::ComboCheck() { ComboTimerHandle.Invalidate(); if (HasNextComboCommand) { UAnimInstance* AnimIntance = GetMesh()->GetAnimInstance(); CurrentCombo = FMath::Clamp(CurrentCombo + 1, 1, ComboActionData->MaxComboCount); FName NextSection = *FString::Printf((TEXT("%s %d"), *ComboActionData->MontageSectionName, CurrentCombo)); AnimIntance->Montage_JumpToSection(NextSection, ComboAttackMontage); SetComboCheckTimer(); HasNextComboCommand = false; } }
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
uint8 변수:1; 비트 필드 사용 시 초기화 질문입니다.
헤더에서는 가급적으로 bool 대신 uint8 : 1 을 통해 비트필드를 사용하라고 하셨습니다.이 비트 필드를 헤더에서 초기화 해주고 싶은데, 어떻게 초기화 해주어야하나요?헤더에서 uint8 bTemp:1 = false; 나 uint8 bTemp:1 = 0; 으로 하니 C++20 이 필요하다고 컴파일 오류를 뱉습니다.생성자에서는 bTemp = false; 이런식으로 초기화가 잘 가능한데, 헤더에서 초기화를 진행하고 싶으면 어떻게 해야하나요?
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
안녕하세요 선생님 매크로 F12 이슈 ..
F12 로 매크로 정의부를 보려고 했는데 파일을 찾을 수 없다고 합니다. 혹시 해결방법이 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
캐릭터가 입력 방향이 잘못되어서 움직여요
캐릭터와 입력 시스템 강의 보고 똑같이 따라했는데 w 누르면 오른쪽으로 캐릭터가 돌아서 움직이고s 누르면 왼쪽으로 캐릭터가 돌아서 움직이고a누르면 캐릭터가 전진하고d 누르면 캐릭터가 카메라 방향으로 뒤로갑니다. 코드 똑같이 따라했고요 - YXZ 맞고void AABCharacterPlayer::Move(const FInputActionValue& Value){ FVector2D MovementVector = Value.Get<FVector2D>(); const FRotator Rotation = Controller->GetControlRotation(); const FRotator YawRotation(0, Rotation.Yaw, 0); const FVector ForwardDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X); const FVector RightDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y); AddMovementInput(ForwardDirection, MovementVector.X); AddMovementInput(RightDirection, MovementVector.Y);}코드도 같습니다. 그리고 혹시나 인풋액션을 잘못넣었나 확인해봤는데도 이상없었습니다. 왜 그런지요
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
키보드 이벤트에서 1키를 눌러도 아무런 반응이 없습니다.
키보드 이벤트에서 1 키를 눌러도 아무런 반응이 없습니다.컴파일, 세이브 다 했구요.branch, flip flop 강의에서부터 키보드 이벤트가 나오는데, 그대로 따라해도 1키를 누루면 아무런 반응이 없습니다.어디가 문제일까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
"게임의완성"강의 마지막 부분
40분 20초 쯤에서 플레이어가 죽어서 RetryCount가 1 올라간 상태에서다음 스테이지로 넘어가니 1이 한번 더 올라가 총 3이 되었습니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
GameInstance와 GameSingleton
두 가지 클래스는 단 하나의 객체만을 가지는데이 둘은 각각 어느 상황에 사용하는지 알 수 있을까요?
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
Enumeration에 대한 질문입니다.
Attack을 먼저 Enum 목록에 만든 다음 스샷과 같이 만들고 재생하면 처음부터 공격애니메이션이 계속 실행됩니다. 스페이스 바를 몇번 누르면 다시 제대로 돌아오구요.Attack을 먼저 목록에 만들지 않고 Idle이나 Move로 만든 다음 다시 블루프린트를 만들고 재생하면 정상적으로 실행됩니다.Enum 순서가 상관이 있나요?? 해당하는 set만 잘 설정하면 순서는 아무 상관 없지 않나요??
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Extensions 설치 후
안녕하세요 선생님. 선생님처럼 매크로에 보라색이 빠져있거나 Alt+Enter 로 정의가 불가능한 경우는 어떻게 해야할까요?? ㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
bUseAccelerationForPaths를 C++로 활성화시키고 싶습니다.
안녕하세요. 섹션1의 캐릭터 컨트롤 설정 수업을 듣고 캐릭터를 wasd말고 NavMesh를 이용하여 클릭으로 캐릭터를 움직이고 싶어서 제작하고 있습니다.그런데 Nav Movement의 UseAccelerationForPaths를 true로 변경시켜야 캐릭터의 애니메이션이 움직인다는 것을 알게 되었습니다. blueprint로는 바꿀 수 있지만 C++로는 도저히 바꾸는 방법을 찾지 못하여 물어보게 되었습니다.어떻게 하면 C++코드를 이용하여 UCharacterMovementComponent클래스의 bool변수인 bUseAccelerationForPaths를 true로 변경시키고 ACharacter클래스에 변경된 UCharacterMovementComponent 클래스를 성공적으로 적용시킬 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UE_LOG에 빨간 밑줄이 생겨요.
h#pragma once#include "CoreMinimal.h"#include "Engine/GameInstance.h"#include "MyGameInstance.generated.h" UCLASS()class ABC_API UMyGameInstance : public UGameInstance{ GENERATED_BODY()public: virtual void Init() override;private:}; cpp#include "MyGameInstance.h"void UMyGameInstance::Init(){ Super::Init(); TCHAR LogCharArray[]= TEXT("Hello Unreal"); UE_LOG(LogTemp, Log, LogCharArray);}인데 UE_LOG에 밑줄 생기고 실행이 안됩니다.
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
빌드 시스템에 대해 이해가 되지 않는 부분이 있어 여쭤봅니다
Build.cs 파일에 PublicDependencyModuleNames 와 PrivateDependencyModuleNames 의 차이를 공홈에서 처럼 Public 폴더의 헤더(보통의 경우) 에서 참조하는 경우는 PublicDependencyModuleNames 를 사용하라 하는데요 이렇게 사용하면 안 좋다는 것을 알지만 PrivateDependencyModulesNames 에 추가해도 컴파일은 제대로 되다보니 이해가 안됩니다 ㅠ예를 들면)ModuleAPublic-> ObjectA.hModuleBPublic-> ObjectB.hModuleB.build.cs 의 PrivateDependencyModuleNames에 ModuleA 를 추가하더라도 ObjectB.h 에서 ObjectA 이 사용 가능한 상황입니다.알려주세요 ㅠ
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
코드로 PlayerControllerClass 지정하는 과정에서 빌드 실패
안녕하세요 섹션1 언리얼 엔진 게임 제작 기초 강의 중 궁금한거 세가지가 생겨서 질문드립니다.1. PlayerControllerClass 지정하는 과정에서 빌드 실패AABGameMode::AABGameMode(){ PlayerControllerClass = AABPlayerController::StaticClass();}이렇게 게임모드 생성자에서 특정 컨트롤러 클래스를 지정하는 부분 따라가던 중 라이브 코딩에서 사진과 같이 build failed 가 발생하였습니다. 어찌어찌 비주얼 스튜디오에서 솔루션 프로젝트 정리 눌러보고 다시 빌드해보니까 성공적으로 돌아갔습니다. 근데 처음에는 왜 실패했는지 전혀 모르겠네요 ㅠ2. cpp 파일에서 inlude 자동 추가교수님 강의에서는 언리얼 에디터에서 GameMode 클래스를 생성하면 바로 cpp파일에서 #include "Game/ABGameMode.h"#include "ABGameMode.h"이 두가지 경로가 자동 추가되는데 제가 했을 때는 #include "Game/ABGameMode.h" 이거 하나만 추가되었습니다. 그냥 무시하고 넘어가도 되는 부분인가요? 3. 헤더파일이 디렉토리 또는 빌드 시스템 경로에 없습니다.ABGameMode 클래스를 만들면서 cpp 파일에 자동 추가 된 #include "Game/ABGameMode.h" 부분에서 F12를 누르면 이와 같은 에러가 발생합니다. 이 또한 무시해도 괜찮은 부분일까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Serialization 용어 질문 바이트스트림에서 오브젝트, 오브젝트에서 바이트스트림
바이트스트림를 오브젝트로 Decoding 하는 함수도 Serialize() 이고오브젝트를 바이트스트림으로 Encoding 하는 함수도 Serialize() 인 것 같은데 맞나요?Reader/Writer 에 따라 다르게 동작하는 거겠죠.. 이해를 하라면 이해는 가는데 왜 이렇게 네이밍을 했을까요?? 다른 분들은 헷갈리지 않나요?? operator << 도 굉장히 헷갈려서 전 차라리 operator overriding 말고 함수를 만들었으면 좋았을 것 같다고 생각하는데 강사님은 어떻게 생각하시나요? 또 다른 분들은 어떻게 생각하시나요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
IFileManager::Get().CreateFileWriter로 생성된 객체 delete
예제에서 CreateFileWriter로 생성된 FArchive 를 delete 키워드로 삭제하셨는데... 제가 혼자서 CreateFileWriter()를 사용하는 케이스를 상상했을 때 delete 로 지워야겠다라는 것은 모르고 그냥 넘어갔을 것 같습니다. 혼자 공부하면서 올바른 Unreal Engine/API 사용법 같은 걸 배울 수 있을까요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
FGCObject 상속받은 FStudentManager 예제
GameInstance Shutdown 함수에서 StudentInManager Object가 Valid하다고 로그가 나오고 난 후에 Shutdown 함수 execution이 끝나면 StudentInManager는 더이상 레퍼런스가 없으므로 가비지 콜렉션에 의해 수거되는 거 맞을까요?
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
Animation blending 관련
layered blend per bone의 blend pose 0번(슈팅모션)에 모든 weight를 준 상태 (1.0)에서도 base pose를 완전히 무시하고 재생되지는 않는건지요? idle 상태에서 총을 쏘게 되면 idle motion 방향에 따라 이리저리 몸을 돌리면서 총 쏘는 모션이 블렌딩 됩니다. 달리는 중에 총을 쏘게 되어도 달리는 팔 동작은 유지되면서 총을 쏘는 진동만 블렌딩 되고 있네요. (총구가 왔다갔다 합니다.)base pose를 완전히 무시하고 애니메이션을 블렌딩하는 방법이 있나요?