비쥬얼 스튜디오 환경에서 DebugGameEditor로 설정하고 f5를 눌러 실행하면 에디터가 거의 로딩이 다 끝나고 켜질때 f_sps.pdb 포함 안된다고 합니다. 언리얼 폴더에서 3개 삭제 (캐쉬, 이미데이트 등) 하고 uproject다시 regenerate 하고 새롭게 빌드하고 해도 뭔가 모듈에 지정이 안되어있다고 하네요. 글레디에이터 플러그인에 대한 모듈을 뭔가를 넣어줘야 하나요
무기 장착 및 해제 애니메이션 처리 강의를 듣고 나서 완성물을 보니까 장착 완료시 손의 모양이 무기를 쥐고 있지 않아 어색한 것 같아 수정해보고 싶기도 하고 에셋에도 여러 무기들이 있길래 활용해 보고 싶은데 어렵네요.. Define에 Enum으로 WeaponType를 정의하고 Weapon에서 설정하고 애니메이션을 연결하면 되는 건지 아니면 이렇게 작업하면 나중에 설계적으로 꼬여서 확장할 때 어려움이 생길지 잘 모르겠습니다. 혹시 좋은 방법이 있는지 궁금합니다.
#include "KismetAnimationLibrary.h"를 추가하는 부분인데, 영상을 따라해도 자꾸 붉은 줄이 그어져있습니다...자꾸만 에러가 떠요 build.cs파일의 PublicDependencyModuleNames.AddRange와 PrivateDependencyModuleNames.AddRange에 각각 추가해봤는데도 똑같습니다.. 이유가 대체 뭘까요?? 문제는, 빌드하면 실행은 됩니다 이게 앞으로 강의 진행할때 크래시를 유발할까봐 해결하고 가고싶은데 어떻게 해야하나요?
안녕하세요! 콤보 시스템 강의를 듣다가, 전에 어디선가 들은 듯한 말이 생각나서 질문을 드립니다. 언리얼의 애니메이션 몽타주가 편리하지만, 가끔 씹히는 (..? 더 어울리는 표현이 생각나지 않는군요..) 문제가 있다고 들었는데, 주로 어떤 상황에서 그런지 궁금합니다..! 멀티플레이어 게임에서 그런건지,아니면 로직이 허술해서 그런건지,, 궁금합니다. 그리고 이런 문제를 예방하거나 보완하는 방법도 궁금합니다!!
안녕하세요. 유익한 강의 감사합니다. TSoftObjectPtr 통한 약참조된 객체의 경우 비동기 로딩 코드 문의 드립니다. UABWeaponItemData* WeaponItemData = Cast<UABWeaponItemData>(InItemData); if (WeaponItemData) { if (WeaponItemData->WeaponMesh.IsPending()) { WeaponItemData->WeaponMesh.LoadSynchronous(); } Weapon->SetSkeletalMesh(WeaponItemData->WeaponMesh.Get()); } 위에 것이 원래 코드인데, 소프트 참조를 적극 활용할 경우, 런타임에 지연된 로딩을 많이 사용하게 되면 hitch 가 많이 발생할까 싶어 비동기로딩 방법을 찾아보았습니다 ( 제가 짠 건 아니고, 코파일럿 도움 ) if (WeaponItemData->WeaponMesh.IsPending()) { // 비동기 로드 시작 WeaponItemData->WeaponMesh.LoadAsync([this](UObject* LoadedObject) { // 로드 완료 후 처리 USkeletalMesh* LoadedMesh = Cast<USkeletalMesh>(LoadedObject); if (LoadedMesh) { Weapon->SetSkeletalMesh(LoadedMesh); } }); } else { // 이미 로드된 경우 바로 설정 Weapon->SetSkeletalMesh(WeaponItemData->WeaponMesh.Get()); } 언리얼이 내부적으로 LoadAsync 를 처리하는 방법까지 분석해보진 못했습니다만, 여러 틱에 나눠 시분할로 나눠서 로딩하는 방법인가? 짐작만 하고 있습니다. 이런 경우 비동기 로딩을 하는 게 일반적으로 더 나은 방법일 지 문의 드립니다.
강의 학습 도중, CombatComponent를 UDS1CombatComponent로 변경하는 작업을 한 이후로 빌드가 안돼요... 헤더 , cpp파일의 이름 및 include한 목록들 전부 수정해도 안되는데 이유가 뭘까요? 오류는 다음과 같습니다 정의되지 않은 형식 'UDS1CombatComponent'을(를) 사용했습니다. 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 C2440 'static_cast': 'UObject '에서 'UDS1CombatComponent '(으)로 변환할 수 없습니다. DS1 C:\Program Files\Epic Games\UE_5.5\Engine\Source\Runtime\CoreUObject\Public\UObject\Object.h 151 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 MSB3073 ""C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles\Build.bat" DS1Editor Win64 DebugGame -Project="C:\Unreal Projects\DS1\DS1.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6). DS1 C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets 44 강사님께서 IDE를 다른걸 쓰시는건지 설정이 다른건지는 모르겠습니다만 따라가기 힘들고, 강의 영상처럼 변경사항이 잘 반영되지 않아서 자꾸 이런 오류 뜰때마다 너무 속상합니다..
[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크) [Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #2 (네트워크) [Rookiss University] UE5 Lyra 클론 코딩 (Haker) [켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1) 저는 언리얼엔진게임개발자가 꿈인데 이렇게 네 가지 강의를 듣고서 공부하고 싶습니다. 근데 문득 고민이 드는게 이 네 가지 강의를 한번에 다 들어야 할 필요가 있을까요? 만약 다 들어야 한다면 이유는 무엇인지가 궁금합니다. 만약 이 많은 강의들을 들어야 한다면 어떤식으로 어떤순서로 체계적으로 공부할지 고민이 됩니다.
초반에 _Game 파일을 만들고 폴더들을 옮기셨는데 리다이렉션인가 알려주시는 부분 모르고 그냥 다 옮기다가 뭔가 오류가 나서 맵도 도중에 이동이 안되고 블루프린트랑 인풋 폴더를 옮겨도 그대로 남아있고, 삭제해도 삭제가 안됐었어요 그러다가 몇번 시도했는데, 이젠 아예 캐릭터가 안보여요 맵에서 아직 초반부라 그런진 모르겠는데, 강의 도중 너무 휙휙 넘어가시는 부분들이랑 선행되어야 하는 작업들을 안알려주셔서 헷갈리는 부분이 너무 많아요..
안녕하세요. 컴보키 입력을 위한 시간 계산할 때, Effect Frame Count 를 아래와 같이 입력하셨는데요. 각 Section 에서 컴보 공격(마우스 좌클릭) 입력을 받을 수 있는 시간을 계산하기 위해 Section 에서 입력을 받을 수 있는 마지막 Frame 값을 넣으신 것으로 생각했습니다. 강의 영상에서는 임의로 넣으신 것처럼 보이는데요. 실제 Frame 은 각 섹션 애니메이션 클립의 최대 Frame 카운트 개수를 넘어가면 안되는 것이겠지요? 그리고 각 애니메이션의 최대 Frame 개수는 어떻게 확인할 수 있을까요? 애니메이션 시퀀스 파일에서 아래와 같이 확인하면 되나요?
언리얼엔진 5.4버전을 사용하며 따라하면서 30:00경 Selector의 데코레이터로 AttackInRange를 추가 후 NodeName = TEXT("CanAttack"); 을 하였지만, 블루프린트 내에서는 정상적으로 변경이 안되는 이슈가 있습니다. 찾아본 결과, 5.1버전 이후는 헤더에서 UCLASS(DisplayName = "블루프린트 내 표시명") 이런식으로 작성해야 블루프린트 내에서 정상적으로 설정한 이름으로 보이고, 보인 이름을 눌러서 추가하면, NodeName으로 설정한 이름이 표시가 되는데요. 이의 경우에도 기존에 만약 AttackInRange를 추가한 상태이면 ATtackInRange의 이름이 변경이 되진 않습니다. 혹시 제가 놓친 부분이 있거나 실수한 부분 때문에 이런 이슈가 생겼는지 확인차 질문 드립니다.
여기서 보면 InputData에 로딩된 에셋이 잘 들어가 있는데요, 그래서 GetAssetByName 메서드를 들어가서 보면 ResolveObject() 메서드는 이미 로딩된 에셋을 가져오거나, 없을경우 nullptr을 반환하는걸로 알고있습니다. 만약 사실이라면 해당 에셋은 이미 로딩이 되어있었단 것인데, 어떤 코드 부분에서 이 에셋을 미리 로딩시키는건지 궁금합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다음과 같이 BP_TileMap을 만들고 연 뒤에 Render Component에 TileMap을 추가하였는데도 강의와는 다르게 타일맵이 나오지 않는 증상이 있어 문의드립니다. 이전 강자 마지막에 저장된 파일을 열어서 타일맵을 만들어도 동일하게 보이지 않는 증상이 있고, 해당 강의의 파일을 열어보면 지금과는 다르게 타일맵이 잘 보이는듯합니다. 이 증상이 왜 생기는것인지 강의를 따라가는 중에서는 잘 모르겠어 문의드립니다.