적 체력이 45이고 플레이어 총 데미지가 10일때 적 체력이 0~5 사이라면 쓰러져서 빈사상태 애니메이션 몽타주를 실행하도록 로직을 짰습니다. 적은 폰센싱을 이용해서 플레이어를 감지해서 공격하구요. 적 피격 이벤트 (Event AnyDamage) 로직을 짜서 hp가 0~5 사이 라면 빈사상태 몽타주를 작동하도록 연결했습니다. 그런데 해당 빈사상태 몽타주가 실행되지 않아서 hp 디버그 정상, 몽타주를 다른 적에게 씌어서 해보고, 해당 적 begin play 에 연결해서 몽타주는 정상작동하는걸 확인했습니다. 그런데 피격이벤트 로직쪽에서 빈사상태 몽타주가 작동을 안하는데 어떤 문제점이 있는걸까요....?
안녕하세요, 지금 제가 '타일 단위 이동' 강의까지 들었습니다. 그런데 실습을 따라하던 도중 Rookiss 님의 실행 화면에서는 게임이 잘 작동하는데, 저는 게임 시작을 누르면 처음에 플레이어가 안 보이다가, 이동시키면 보이기 시작하는데 체력 바가 Ground 타일맵에 가려서 보이질 않네요. 그래서 중간에 제가 잘못 따라했나 싶어서 강의 자료에서 새로 다운받아서 프로젝트를 실행했는데도 같은 결과가 나옵니다. 어떤 문제인지 알 수 있을까요? 이해를 도와주기 위한 영상 링크 또한 올려 드리겠습니다. https://youtu.be/X892-cHkeN8
For loop와 함수를 가지고 여러 장난을 치던 중, for loop의 loop body부분이 딜레이를 가지고 함수를 실행한후 3초있다가 다시 실행하게 되었으면 좋을거 같아. 함수 뒤쪽에 delay를 넣었지만, 이에 불구하고 함수가 3번 연속으로 실행된 뒤, completed에 연결된 노드들까지 실행이 되었습니다. 제가 이에대해 이해한 바는 for loop는 event를 호출하는것과 같이, loop body에 연결된 노드들을 연속적으로 호출한 후, completed의 노드를 실행하는거 같았는데 혹시 제가 이해한게 맞나요? 또한 제가 원래 원하던 느낌이 되게 delay를 가지고 여러번 실행되게 하는 방법이 있을까요? 아 그리고 이건 또 다른 이야긴데... bp creature의 attack 콜리젼 범위를 보이게 하거나 안보이게 하는 방법을 잘 모르겠네요..분명 강의에서 가르쳐 주셨는데 찾질 못하겠어요 ㅠㅠ
동일하게 진행했는데 몇 번을해도 파티맵은 없고 Advanced lightning Firstpersonmap Minimal default Start map 만 나와요 ㅜㅜ 그라고 처음 새프로젝트 만들고 플레이 버튼 후 총을 먹고 f8 로 카메라 모양이 안보입니다 Firstpersonal Camera를 클릭해도 없고 회전도 안되네요 회전 시 다시 돌아오니다
안녕하세요. 질문 드리기 앞서 감사 인사를 전하고 싶습니다. 저 같은 초보도 이해가 잘되고 쉽게 배울 수 있는 양질의 강의를 저렴한 값에 제공 해주셔서 감사합니다. 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 -FromMsBuild 1>Log file: C:\Users\leehy\AppData\Local\UnrealBuildTool\Log.txt 1>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 core 1>Building 4 actions with 4 processes... 1>[1/4] Link UnrealEditor-Study.lib cancelled 1>[2/4] WriteMetadata StudyEditor.target cancelled 1>[3/4] Link UnrealEditor-Study.dll cancelled 1>[4/4] Compile PlayerCharacter.cpp 1>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 compiled 1> with 1> [ 1> FmtType=int32 1> ] 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 size 1> with 1> [ 1> FmtType=int32 1> ] 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; } }
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
안녕하세요 루키스님 강의를 듣다가 이해가 잘 되지 않는 부분이 있어서 질문드립니다!! 병합 정렬의 MergeResult() 에서 아래 코드가 잘 이해가 안되는데요..! 왜 v[left] = temp[i] 가 아니라 v[left + i] = temp[i] 인건가요..?? // temp 에 넣어준 걸 원본에 덮어쓰기 for (int i=0; i<temp.size(); i++) v[left + i] = temp[i];
캐릭터와 입력 시스템 강의 보고 똑같이 따라했는데 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); } 코드도 같습니다. 그리고 혹시나 인풋액션을 잘못넣었나 확인해봤는데도 이상없었습니다. 왜 그런지요
Attack을 먼저 Enum 목록에 만든 다음 스샷과 같이 만들고 재생하면 처음부터 공격애니메이션이 계속 실행됩니다. 스페이스 바를 몇번 누르면 다시 제대로 돌아오구요. Attack을 먼저 목록에 만들지 않고 Idle이나 Move로 만든 다음 다시 블루프린트를 만들고 재생하면 정상적으로 실행됩니다. Enum 순서가 상관이 있나요?? 해당하는 set만 잘 설정하면 순서는 아무 상관 없지 않나요??
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Weapon::Weapon() : Item(IT_Weapon) { switch (_rarity) { case IR_Normal: _damage = 1 + rand() % 5; break; case IR_Rare: _damage = 10 + rand() % 5; break; case IR_Unique: _damage = 50 + rand() % 5; break; } } 이 부분에서 맨 위, Item(IT_Weapon) 가 어떻게 나온건지 궁금합니다. : 뒷 부분은 초기화하는 것을 간략하게 나타낸 것이 아닌가요? 그렇다면 Item = IT_Weapon; 이라는 코드 대신에 사용했다는 말인데, Item 자체는 class 명인데 코드가 말이 안되는 것 같습니다..
안녕하세요. 섹션1의 캐릭터 컨트롤 설정 수업을 듣고 캐릭터를 wasd말고 NavMesh를 이용하여 클릭으로 캐릭터를 움직이고 싶어서 제작하고 있습니다. 그런데 Nav Movement의 UseAccelerationForPaths를 true로 변경시켜야 캐릭터의 애니메이션이 움직인다는 것을 알게 되었습니다. blueprint로는 바꿀 수 있지만 C++로는 도저히 바꾸는 방법을 찾지 못하여 물어보게 되었습니다. 어떻게 하면 C++코드를 이용하여 UCharacterMovementComponent클래스의 bool변수인 bUseAccelerationForPaths를 true로 변경시키고 ACharacter클래스에 변경된 UCharacterMovementComponent 클래스를 성공적으로 적용시킬 수 있을까요?
안녕하세요 섹션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를 누르면 이와 같은 에러가 발생합니다. 이 또한 무시해도 괜찮은 부분일까요?
layered blend per bone의 blend pose 0번(슈팅모션)에 모든 weight를 준 상태 (1.0)에서도 base pose를 완전히 무시하고 재생되지는 않는건지요? idle 상태에서 총을 쏘게 되면 idle motion 방향에 따라 이리저리 몸을 돌리면서 총 쏘는 모션이 블렌딩 됩니다. 달리는 중에 총을 쏘게 되어도 달리는 팔 동작은 유지되면서 총을 쏘는 진동만 블렌딩 되고 있네요. (총구가 왔다갔다 합니다.) base pose를 완전히 무시하고 애니메이션을 블렌딩하는 방법이 있나요?
안녕하세요. 유니티vs언리얼 강의를 들으며 이제 프로젝트 내에 C++ 코드를 처음 작성하고 있던 중이었습니다. 그런데 이제 코드를 동일하게 작성하고 빌드를 눌렀는데 아래와 같은 오류가 나옵니다. 코드를 잘못 따라친건가 싶어서 아예 새 C++ 파일을 생성해 빌드를 해봐도 위와 동일한 오류가 나옵니다. 구글에도 찾아보고 해결 방법을 찾아보고 있기는 한데 , 혹시 오류의 원인을 알 수 있을까 해서 질문을 올립니다. 언리얼 버전은 5.2입니다. 비쥬얼스튜디오 버전은 2022 입니다.
언리얼 엔진에선 블프로 프로토타입을 만들고 c++로 구체화 한다고 하던데 c++클래스를 먼저 만들고 블프로 자식 클래스를 만드는게 흔한가요, 아니면 블프를 먼저 만들고 c++을 자식으로 만드나요? c++을 먼저 만들고 블프를 자식으로 만들면 프로토타입 단계를 c++로 만들게 된다는말 아닌가요?
언리얼 입문을 블프 튜토리얼로 입문하고나서 이득우님의 강의를 보고 있는데요, 블프로 하면 시각적인 환경에서 간단한 클릭들로 액터를 만들고 메쉬를 지정할수 있는데, 액터를 c++로 만드는 이유가 궁금합니다. 단순히 c++에서의 원리도 알겸 하는건지, c++로 액터를 생성하는게 실무적인 측면에서 더 좋은건지 궁금합니다.