묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
IsTargetInRange(데코레이터) 내용 오류 아닌가요?
Q. 마지막에 삽입한 IsTargetInRange(데코레이터) 에서 Target에 SelfActor를 참조하도록 되어있는데 TargetEnemy를 참조해야 하는 것 아닌가해서요데코레이터 로직 안에서 Target의 오브젝트 이름을 출력해보니 Player가 아니라 Monster가 찍히더라구요(SelfActor에 값을 할당해준 적도 없는데 왜 들어간 건지는 모르겠지만...)
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
강의 내용을 바탕으로 다른 프로젝트를 만들던 중 스프링 암에 대해궁금한 점이 생겼습니다.
안녕하세요 교수님교수님의 강의에서 항상 큰 도움을 얻고 있습니다.그러다 강의에서 배운 내용을 바탕을 실제 프로젝트에 적용하기 위해 실습을 하던 중 막히는 부분이 생겨 질문글을 작성하게 되었습니다. 스프링 암에 관련된 설정 중CameraBoom->bUsePawnControlRotation = false;CameraBoom->SetRelativeRotation(FRotator(0.0f, -20.0f, 0.0f)); 위와 같이 설정하여 스프링 암의 로테이션을 변경할 수 있음을 확인하였습니다.그러나 이 경우, Pawn의 회전에 따라 스프링 암의 회전이 같이 이루어져 플레이하는 시점에서 불편함을 느끼게 되었습니다.혹시 bUsePawnControlRotation을 true로 유지하면서 스프링암의 로테이션을 변경할 수 있는 방법은 무엇인지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
캐릭터의 기본 설정 값을 Attribute와 연동
캐릭터에서 기본적으로 제공되는 MaxWalkSpeed나 JumpZVelocity같은 값들을 AttributeSet과 연동하여 사용할 수 있는 방법이 있을까요? 이런 값들도 GAS를 통해서 조정할 수 있다면 좋을 것 같아 질문 남깁니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
2-8강 손에 무기 장착이 되질 않습니다...
안녕하세요 교수님, 2-8강에서 아이템 박스를 먹었을때 캐릭터 무기가 안 먹어지는 문제에 봉착했습니다... 캐릭터 생성자에서 weapon skeletal component는 만들어주었고 아이템 박스를 먹었을때 EquipWeapon 함수도 성공적으로 실행됩니다. Data Asset Table에 무기도 설정해주었구요. 디버깅을 위해서 EquipWeapon 함수를 실행했을시 DataAsset에서 가져온 skeletal mesh의 경로도 다시 한번 뽑아주어서 확인해보았습니다. 하지만, 캐릭터의 무기를 얻질 못하네요... 혹시나 해서 2번째 그림에 보시는 것과 같이 무기의 visibility, 재 rendering 등등을 해보았지만 문제가 해결되지 않아서 여기에 질문을 올립니다~
-
미해결[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트
Beach, Sequence, flip flop강의에서 flip flop 의 다른 표현 방식이 이해가 안가요..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 강사님 강의가 유익하고 너무 잘 듣고있습니다.다름이 아니라 제가 계속 들어도 이해가 안가는 부분이 있어서 질문남깁니다..사진과 같이 bA의 변수 get(거짓)값을 가져와서 not Boolean 노드와 연결해 ‘참’의 출력값이 set bA의 입력값으로 들어갔잖아요, 그럼 Set bA의 출력값이 set bA의 입력값인 ‘참’이 출력값으로 나와서 branch 노드의 true 값만 출력되어야 하는거 아닌가요?? 랜덤으로 나올 수 있는 로직구조인지가 이해가 안돼서 글 남겨요…! 감사합니다..
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
TSoftObjectPtr 로 변경해도 로그가 동일합니다.
부득이하게 언리얼버전을 5.4 로 강의를 따라하고있습니다.그런데, 강의에서 나온것처럼 코드를 작성해도 로그를확인해보면 결과가 동일한데 어떤 문제일까요..?로그는 박스 먹기전에 찍은로그입니다
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
WidgetComponent의 Widget의 GetOwning~() 함수 관련 질문..
궁금한것이 생겨서 아무 의미 없는 액터에 WidgetComponent를 붙인 다음, WidgetComponent의 GetWidget()이 가지고 있는 OwingPlayer 와 OwningPlayerPawn가 무엇인지 확인해봤더니 nullptr 이 나올 것으로 예상한 것과는 다르게실험한 액터와 상관없는, 월드에 있는 PlayerController_0 와 그 빙의된 캐릭터인 Character_0가 반환되는 것을 확인했습니다.WidgetComponent를 어떤 액터가 가지고 있던 간에 항상 같은 PlayerController_0와 Character_0가 반환되는 것 같은데요.제 실험 방식이 원래 말도 안되는 것인지, 아니면 원래 WidgetComponent가 만드는 UserWidget 은 무조건 해당 월드의 LocalPlayer와 그것에 빙의된 Pawn이 고정으로 정해진 것인지가 궁금합니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
질문드립니다.
강의에 혹시 다이렉트x 내용도 있을까요?없다면 다른 강의 중에 다룬 게 있을까요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
UE 5.4부터 강의 섹션 3 - 9강 무한맵의 제작 파트의 예제 코드에서 다음의 수정이 필요해 보입니다.
참고 URL : https://forums.unrealengine.com/t/gameplay-ability-system-course-project-development-blog/1419542/14 언리얼 엔진 5.4 이전의 버전에서는 예제 코드를 빌드해도 문제없이 빌드되지만,언리얼 엔진 5.4버전 부터는 ABStageGimmick.cpp 파일에#include "Engine/OverlapResult.h" 을 작성해줘야FOverlapResult과 관련해 발생하는 문제가 사라지는 것 같습니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
LoadTexture로 텍스처를 출력할 때 궁금한것이 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강의자료에 있는 bmp이미지 파일은 정상적으로 잘 출력이 됩니다. 다만, 다른 bmp파일로 출력을 할 경우 이미지로드에 실패합니다.파일을 보니 출력되지 않는 bmp파일의 경우 비트심도가 32이고 강의자료에있는 bmp파일의 경우 24인 것을 확인하고 비트심도를 동일하게 24로 변경했는데도 출력이 되지않습니다. 정확한 원인이 궁금하여 질문드립니다. 항상 좋은 강의 감사드립니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
람다 함수 캡쳐 관련 질문
안녕하세요 교수님, 람다 함수 캡쳐 관련 질문이 있어서 글을 올렸습니다. fps 프로젝트를 만들고 있는데, VICharacter 에서 reload 를 호출하면 VIWeaponbase를 상속받는 AKWeapon 에서 Reload 함수가 호출이 되는 형식입니다.VICharacter 에 bIsReloading 을 선언해 놓았는데, AKWeapon에서 캐릭터 참조를 가져와 재장전이 끝난 후 setter 로 false 설정을할 때 Timerdelegate 람다식에서 Character에 액세스를 하지 못합니다. 제 생각에는 참조의 생명 주기에 문제는 없는 것 같은데,, 왜 람다식 안에서만 캐릭터 참조를 사용 못하는지 모르겠습니다.아래는 Reload 코드와 프로젝트 깃허브 주소입니다. void AVIAKWeapon::Reload() { Super::Reload(); if (UWorld* World = GetWorld()) { APlayerController* PC = UGameplayStatics::GetPlayerController(World, 0); if (PC) { AVICharacter* Character = Cast<AVICharacter>(PC->GetCharacter()); if (Character) { if (AmmoCount < MaxAmmo) { if (!bDoOnceReload && !Character->GetbIsReloading()) { Character->SetbIsReloading(true); Character->GetFirstPersonMesh()->GetAnimInstance()->Montage_Play(AKReloadActionMontage, 1.0f); Mesh->PlayAnimation(ReloadActionAnimation, false); FTimerHandle ReloadTimeHandle; GetWorld()->GetTimerManager().SetTimer(ReloadTimeHandle, FTimerDelegate::CreateLambda([&]() { Character->SetbIsReloading(false); AmmoCount = MaxAmmo; //DF("EndTimer bisRelaoding %d", Character->GetbIsReloading()) // TimerHandle 초기화 GetWorld()->GetTimerManager().ClearTimer(ReloadTimeHandle); }), ReloadTime, false); bDoOnceReload = false; } } } } } }https://github.com/chataeg/VI/tree/Part7
-
미해결[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
Play Animation과 Play Anim Montage
강의에서 사용한 Play Anim Montage는 현재 메시 컴포넌트가 사용하는 ABP_Player(애니메이션 블루프린트) 안에 있는 몽타주에 접근해 재생시키는 것인가요? 애니메이션 관련 액션을 검색하다 Play Animation을 발견해서 사용해봤는데 ABP_Player(애니메이션 블루프린트)를 무시하고 Play Animation으로 재생한 것만 1순위로 실행하더라구요. (설명을 읽어도 안전하지 않으니 비추천한다는 것 같고) 그럼 Play Animation은 ABP_Player(애니메이션 블루프린트)의 실행을 무시하고 메시를 강제로 특정 애니메이션을 재생시키도록 작동하는 것일까요? 강의 잘 듣고 있습니다. 감사합니다. ps. 추가로 강의 관련 궁금한 점이 있습니다.유니티 MMORPG 만들기 강의와 켠김에 출시까지 강의 시리즈 중에서 실무적인 팁이나 지식을 얻기 위해서는 켠김에 출시까지를 들어보는 것이 좋을까요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
Shipping 빌드의 save 파일은 어디에 저장되나요?
Shipping 빌드로 패키징한 exe 파일로 게임 진행 시 RetryCount를 보관하는 save 파일은 어디에 어떤 형태로 저장되는 지 궁금합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
사용된 코드에 담긴 원리가 궁금합니다
안녕하세요 교수님.교수님께서 만들어주시는 양질의 강의에 언제나 많은 배움을 얻게 되어 감사드립니다.강의를 듣던 도중 궁금한 점이 생겨 이렇게 질문을 작성하게 되었습니다.ShoulderLook()에서 플레이어 컨트롤러의 로테이션 Yaw값과 Pitch값을 더하는 것은 알게 되었지만,다음의 코드들이 작동하는 원리를 자세히 이해하지 못한 것 같습니다.특히 이 코드들이 작동하는 수학적 원리가 어떻게 되는지 알고 싶습니다.추가적으로 위의 코드들이 Quater 뷰와 Shoulder 뷰를 구현하는 최선의 방법인지, 다른 더 간소화할 수 있는 방법이 있다면 무엇인지 알려주시면 감사하겠습니다.다시 한번 좋은 강의를 만들어주셔서 감사합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
캐릭터 WASD키 방향 관련 설정 질문입니다.
입력키를 사진처럼 설정하면 W(앞), D(우), S(뒤), A(좌) 방향으로 제대로 움직이는데원래 설정되어 있던 WSDA순서로 설정하면 W(우), D(뒤), S(좌),A(앞) 이렇게 움직입니다. 일반적으로 DASW, Up Down Right Left 순서를 어떻게 맞추면 될까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
37:11에서 프로젝트 실행시 경로를 찾을 수 없다는 에러가 뜹니다
37:11에서 프로젝트 실행시 경로를 찾을 수 없다는 에러가 뜹니다.언리얼 5.1.1버전이고 코드는 복붙했습니다.실행시에 아래처럼 파일 경로를 찾을 수 없다는 에러가 뜨는데 어떻게 해결해야하나요??
-
미해결언리얼 엔진4 입문 (C++ 기반)
언리얼 에디터 상에서 만든 구조체를 C++ 상에서 불러올수 있나요?
제목처럼 언리얼 에디터 상에서 구조체 블루프린트?를 만들었는데요 여기에 선언된 변수에 들어있는 값을리플렉션 시스템을 활용해 C++ 상에서 불러올수 있나요??
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
sprite vs texture 수업자료 다운로드가 안됩니다.
sprite vs texture 수업자료 다운로드가 안됩니다.
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
SocketUtils 관련해서 질문 있습니다.
assert는 release 모드에서 사라지는 것으로 알고있는데그래서 그런가 Release모드에서 작동시킬 때 서버가 꺼지는 현상이 발생합니다.assert를 if 문으로 수정했더니 동작은 되는데,이게 해결법인가요. 아니면 서버가 Debug만 고려된건가요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
아이템 박스가 안먹어집니다
void ASSItemBoxActor::OnOverlapBegin(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepHitResult) { //오버랩 확인 UE_LOG(LogTemp, Warning, TEXT("OnOverlapBegin triggered")); if (nullptr == Item) { Destroy(); return; } ISSCharacterItemInterface* OverlappingPawn = Cast<ISSCharacterItemInterface>(OtherActor); if (OverlappingPawn) { OverlappingPawn-> TakeItem(Item); } Effect->Activate(true); Mesh->SetHiddenInGame(true); SetActorEnableCollision(false); Effect->OnSystemFinished.AddDynamic(this, &ASSItemBoxActor::OnEffectFinished); }선생님 자료 코드랑 비교도 다 해보았는데 틀린 부분은 없는데 박스를 설치하고 다가가면 벽처럼 물체로 인식하고 가도 터지거나 이펙트가 일어나지 않습니다 로그도 넣어봣는데 OnOverlapBegin 진입 자체가 안됩니다 에디터에서 무언가 설정해야 할까요?