묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
AnimGraph를 c++로 구현할 수 있나요?
만약 가능하다면, 수업에서 다루지 않은 이유는 무엇인가요?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
서버 허락 후 움직이는 모델로 만들 때 궁금한 것이 있습니다.
안녕하세요!이동할 때 서버에 움직여도 되는지 묻고, 대답이 오면 그때 움직이는 방식으로 만든다고 했을 때,SetDir, SetState같은 것들도 위와 같은 방식을 취하는 게 좋을까요?이동은 선 보고 후 허락이 오면 이동하는 방식,SetDir과 SetState는 강의에서처럼 먼저 Set하고 서버에 보고하는 방식으로 코드를 짰는데이게 뭔가 흐름이 꼬이는 부분이 있는 것 같아요.두 개를 하나의 방식으로 통일하는 게 좋을지,보통 선 보고 후 허락이 오면 이동하는 방식을 취할 때SetDir, SetState같은 것들도 똑같이 허락이 오면 바뀌는 방식으로 하는지 궁금합니다.감사합니다. 강의 잘 보고 있습니다!
-
미해결[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문
나이트가 몬스터에 부딪힐 때 멈추지 않고 뛰어넘어요...
나이트를 조작해 몬스터쪽으로 돌진했을 때 몬스터에 막혀서 제자리 걸음을 하는게 아니라 몬스터를 뛰어넘어?(확인해보니 깊이인 y축의 좌표가 변합니다) 이동합니다. (아예 통과하는 것은 아닙니다)아마도 움직일때 x또는 z축 좌표만 바뀌는게 아니라 y축 좌표까지 바뀌는게 문제인것 같은데 해결방법을 모르겠습니다ㅠㅠ
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
TsubclassOf 오류 관한 질문
현재 저부분에서 AABCharacterNonPlayer을 찾지못한다고 UHT001 오류가 나서 혼자 반나절을 해결해보려했지만 잘 모르겠습니다 제가 어느부분을 체크해보는게 좋을까요 강사님의 파일은 Generate 해서 실행해보면 잘 실행됩니다. 심지어 같은 코드를 붙여넣기해도 같은 오류가 나옵니다.또한 cpp파일에서도헤더를 추가했음에도이러한 ABChracterNonPlayer에 관한 오류가 발생합니다..
-
미해결[입문자를 위한 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버전이고 코드는 복붙했습니다.실행시에 아래처럼 파일 경로를 찾을 수 없다는 에러가 뜨는데 어떻게 해결해야하나요??