묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
컴보 입력 타이밍 계산 공식에 포함되는 계수 질문
안녕하세요. 컴보키 입력을 위한 시간 계산할 때, Effect Frame Count 를 아래와 같이 입력하셨는데요. 각 Section 에서 컴보 공격(마우스 좌클릭) 입력을 받을 수 있는 시간을 계산하기 위해Section 에서 입력을 받을 수 있는 마지막 Frame 값을 넣으신 것으로 생각했습니다.강의 영상에서는 임의로 넣으신 것처럼 보이는데요. 실제 Frame 은 각 섹션 애니메이션 클립의 최대 Frame 카운트 개수를 넘어가면 안되는 것이겠지요?그리고 각 애니메이션의 최대 Frame 개수는 어떻게 확인할 수 있을까요?애니메이션 시퀀스 파일에서 아래와 같이 확인하면 되나요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
5.4버전 블랙보드 AttackInRange의 이름 변경이 안됩니다.
언리얼엔진 5.4버전을 사용하며 따라하면서30:00경 Selector의 데코레이터로AttackInRange를 추가 후 NodeName = TEXT("CanAttack");을 하였지만, 블루프린트 내에서는 정상적으로 변경이 안되는 이슈가 있습니다.찾아본 결과, 5.1버전 이후는 헤더에서 UCLASS(DisplayName = "블루프린트 내 표시명")이런식으로 작성해야 블루프린트 내에서 정상적으로 설정한 이름으로 보이고, 보인 이름을 눌러서 추가하면, NodeName으로 설정한 이름이 표시가 되는데요.이의 경우에도 기존에 만약 AttackInRange를 추가한 상태이면 ATtackInRange의 이름이 변경이 되진 않습니다. 혹시 제가 놓친 부분이 있거나 실수한 부분 때문에 이런 이슈가 생겼는지 확인차 질문 드립니다.
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
GetAssetByName<UR1InputData>("InputData")) 질문입니다.
여기서 보면 InputData에 로딩된 에셋이 잘 들어가 있는데요, 그래서 GetAssetByName 메서드를 들어가서 보면 ResolveObject() 메서드는 이미 로딩된 에셋을 가져오거나, 없을경우 nullptr을 반환하는걸로 알고있습니다. 만약 사실이라면 해당 에셋은 이미 로딩이 되어있었단 것인데, 어떤 코드 부분에서 이 에셋을 미리 로딩시키는건지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
3강 질문 있습니다.
여기서 주석 처리한 부분들을 활성화 시키면 테스트 하자마자 튕깁니다..코드를 잘못 작성했나 생각하여 선생님의 코드를 복사 붙여넣기로 옮겼는데도 튕겨서 질문 남깁니다.
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
타일맵 정보 추출 강의에 대하여 질문이 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.다음과 같이 BP_TileMap을 만들고 연 뒤에 Render Component에 TileMap을 추가하였는데도 강의와는 다르게 타일맵이 나오지 않는 증상이 있어 문의드립니다.이전 강자 마지막에 저장된 파일을 열어서 타일맵을 만들어도 동일하게 보이지 않는 증상이 있고,해당 강의의 파일을 열어보면 지금과는 다르게 타일맵이 잘 보이는듯합니다.이 증상이 왜 생기는것인지 강의를 따라가는 중에서는 잘 모르겠어 문의드립니다.
-
해결됨실전! 언리얼 소울라이크 개발: A to Z
CombatComponent, Weapon 참조
혹시 CombatComponent랑 Weapon클래스에서처럼 서로 참조하고 있는 구조가 현업에서도 많이 활용되고 있는지 궁금합니다.원래 많이 사용되는지 아님 최대한 줄여야하는 건지 아님 적당한 선에서는 사용해도 무방한지..?!감이 오지 않습니다,,
-
해결됨실전! 언리얼 소울라이크 개발: A to Z
TObjectPtr 사용처
안녕하세요!! 덕분에 좋은 강의 너무 잘 듣고 있습니다. 감사합니다 (_ _)혹시 TObjectPtr을 사용하신다면..?! 언제 사용하실지 문득 궁금해서 질문 남겨봅니다!!
-
미해결[입문자를 위한 UE5] Part4. 언리얼 엔진 C++
Variable Replication
서버에서 OnRep_Counter()를 따로 호출해줘야 하는 이유는 ReplicatedUsing을 사용하는데DOREPLIFETIME_CONDITION_NOTIFY()을 사용하지 않고 DOREPLIFETIME을 사용했기 떄문 아닌가요? ReplicatedUsing은 DOREPLIFETIME_CONDITION_NOTIFY() 이랑 같이 사용해야하는 것으로 알고 있습니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
AI가 움직이지 않는 경우 무엇을 확인해야 하나요?
혼자 게임을 만들어 보고 있는데 오늘 플레이어와 npc의 preset을 다르게 설정해주었습니다. npc는 기본적으로 제공되는 Pawn을 사용했고 플레이어는 제가 새로 생성하여 설정해주었습니다. 체력 포션을 플레이어만 오버랩하기 위해서 저렇게 해주었는데요..갑자기 preset을 설정한 후에 ai가 움직이지 않습니다.. 단순히 preset의 문제인지는 모르겠는데 플레이 중 행동 트리를 확인해보면 행동트리는 정상적으로 움직이는데 ai만 안 움직입니다..
-
해결됨2025 언리얼 공인강사 – UE5 스파르타 클래스: 실전편
좌/우키를 연타하면 전진 속도가 느려지는 현상은 어떻게 해결하나요?
먼저, Endless Runner에 대한 강의를 잘 들었습니다.질문) 좌/우키를 연타하면 전진 속도가 느려지는 현상은 어떻게 해결하나요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
기존 AGameModeBase 관련 답변을 따라해도 문제가 발생했습니다.
교수님이 기존에 다른 분의 질문에서 답변해주신 내용처럼ABStageGimmick.cpp에#include "GameFramework/GameModeBase.h"를 넣었으나, 다음과 같이 오류 로그가 발생합니다.그래서 다른 방법을 찾아서 시도해보던 중ABGameInterface.h에 "GameFramework/GameModeBase.h"을 선언 했더니 해결이 됐습니다.사용 중인 언리얼 버전은 5.4.3 버전입니다.위와 같이 해결한 경우에도 의존성 문제와 관련해서도 괜찮을까요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
하위 레벨...?? High Level 말씀하신거죠..??
9:57 부근 자막에언리얼 엔진의 통신은 크게 하위 레벨과 로우 레벨로 나눌 수 있다고 하셨는데 둘 다 같은 뜻 아닌가.. 하고 엄청 헷갈렸어요하위가 아니라 High 맞죠..?
-
미해결[입문자를 위한 UE5] Part5. 언리얼 엔진 VR
vr프리뷰가 안돼요
하라는대로 meta quest link 프로그램 다운로드하고 계정 가입하고 기본으로 설정했는데 vr프리뷰가 안돼요 제발........
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
CompressedFlags를 이용한 InputThrottle, InputSteering 전달 방법 질문
기본적으로 지원하는 단순 이동이 아니라 자동차처럼 Throttle와 Steering을 구현하려고 합니다.알려주신 방법을 응용해 다음과 같이 구현했습니다. USTRUCT(BlueprintType, Blueprintable) struct FDriveInput { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadOnly) float Throttle = 0.0f; UPROPERTY(VisibleAnywhere, BlueprintReadOnly) float Steering = 0.0f; uint8 GetCompressedFlags() const { uint8 Compressed = 0; int32 ThrottleBits = FMath::Clamp(FMath::CeilToInt((Throttle + 1.0f) * 7.5f), 0, 15); int32 SteeringBits = FMath::Clamp(FMath::CeilToInt((Steering + 1.0f) * 7.5f), 0, 15); Compressed |= (ThrottleBits << 4); Compressed |= (SteeringBits & 0x0F); return Compressed; } void SetFromCompressedFlags(uint8 Flags) { int32 ThrottleBits = (Flags >> 4) & 0x0F; int32 SteeringBits = Flags & 0x0F; Throttle = (float(ThrottleBits) / 7.5f) - 1.0f; Steering = (float(SteeringBits) / 7.5f) - 1.0f; } }; FNetworkPredictionData_Client_TitanCharacter::FNetworkPredictionData_Client_TitanCharacter(const UCharacterMovementComponent& ClientMovement) : Super(ClientMovement) { } FSavedMovePtr FNetworkPredictionData_Client_TitanCharacter::AllocateNewMove() { return FSavedMovePtr(new FSavedMove_TitanCharacter); } void FSavedMove_TitanCharacter::Clear() { Super::Clear(); DriveInput.Steering = 0.0f; DriveInput.Throttle = 0.0f; } void FSavedMove_TitanCharacter::SetInitialPosition(ACharacter* Character) { Super::SetInitialPosition(Character); UTitanCharacterMovementComponent* Movement = Cast<UTitanCharacterMovementComponent>(Character->GetCharacterMovement()); if (Movement) { DriveInput = Movement->DriveInput; } } uint8 FSavedMove_TitanCharacter::GetCompressedFlags() const { uint8 Result = Super::GetCompressedFlags(); Result |= DriveInput.GetCompressedFlags(); return Result; } } void UTitanCharacterMovementComponent::OnMovementUpdated(float DeltaSeconds, const FVector& OldLocation, const FVector& OldVelocity) { UpdateWithDriveState(DeltaSeconds, DriveFlow.DriveState); } void UTitanCharacterMovementComponent::UpdateFromCompressedFlags(uint8 Flags) { Super::UpdateFromCompressedFlags(Flags); DriveInput.SetFromCompressedFlags(Flags); } UpdateWithDriveState 는 실제 캐릭터가 InputThrottle와 InputSteering을 가지고 움직이는 부분입니다.이렇게 하니까 다른 플래그와 겹쳐 아무런 입력을 하지 않았는데 점프를 한다거나, 손실압축의 특성때문에 입력을 하지 않아도 0이 아닌 다른 값이 전달되는 문제가 있었습니다.관련해서 도움을 받고 싶습니다. VehicleMovementComponent도 알아봤는데, CharacterMovementComponent를 확장해서 만들 수 있는 방법은 없는건가요?제가 찾아보면 좋을 법한 키워드 또는 해결방법을 알고 싶습니다.
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
스페이스바(공격키)를 누르면 공격이 두 번 되는게 정상인가요?
안녕하세요! 뒤늦게 게임개발에 빠져서 퇴근 후 틈틈히 루키즈님 강의 듣고 있는 직장인입니다! 현재 11강 State 패턴까지 들은 상태인데요. 캐릭터가 Idle 상태일 때, 스페이스바(공격키)를 누르면 공격 모션을 두 번 합니다. 원래 이게 정상인가요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
컴포지션 구현 방법에 대한 질문
컴포지션을 만드는 방식 중에서 생성자에서 미리 언리얼 오브젝트를 생성해 조합하는 방법은 실습을 통해 알았지만, 빈 포인터만 넣고 런타임에서 언리얼 오브젝트를 생성해 조합하는 방법은 어떤 식으로 하는 건지 모르겠습니다. 이 부분도 알려주세요!!
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
인코딩 관련
현재 설정이 UTF-8로 되어있는데 소스코드 최초 실행시 주석이 다 깨져서 나와서 무슨 문제인지 모르겠네요 ㅠ
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
ABP의 skeleton 오류
Git에서 https://github.com/ideugu/UnrealGAS1/tree/main다운받아서 실행하는데 에디터 실행을 누르면 Anim Blueprint 'ABP_ABCharacter'의 skeleton을 찾을 수 없다고 나오면서 실행이 안 됩니다.
-
해결됨[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
섹션 4. 근접 콤보 스킬에서 콤보 동작이 안되네요
강의 내용대로 파일 복사, 코드 수정하고 빌드 정상 완료되어 실행까지 잘 됩니다. 아래 NotifyBegin 부분에 브레이크 포인트를 걸어 보았는데 이 부분이 실행이 되지 않습니다.void UD1AnimNotifyState_SendGameplayEvent::NotifyBegin(USkeletalMeshComponent* MeshComp, UAnimSequenceBase* Animation, float TotalDuration, const FAnimNotifyEventReference& EventReference){ Super::NotifyBegin(MeshComp, Animation, TotalDuration, EventReference); if (BeginEventTag.IsValid()) { UAbilitySystemBlueprintLibrary::SendGameplayEventToActor(MeshComp->GetOwner(), BeginEventTag, EventData); }} 어느 부분을 확인해 봐야 할까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
인풋시스템 코드설명
코드설명이 부족한거같은데 이후에 자세히알려주시는지요.서브시스템이라던가