묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 강의와는 별개의 내용이지만 질문드립니다.
선생님 강의를 전부 듣고 저만의 게임을 제작하고 있습니다.강의 내용과 크게 상관은 없지만 여쭐 곳이 없어 질문합니다.문제상황은 이렇습니다.저는 PMAttack 이라는 트레이스채널을 하나 만들고 기본 설정은 Overlap으로 둔 상태입니다.그리고 다음과 같은 코드를 통해 구 안에 들어오는 모든 액터를 찾아보려했습니다.void APMArrowRain::HitOfRain() { // 1초마다 데미지 FVector Center = GetActorLocation(); const float SphereRadius = 500.f; FCollisionShape CollisionSphere = FCollisionShape::MakeSphere(SphereRadius); FCollisionQueryParams Params(FName(TEXT("Attack")), false, this); TArray<FOverlapResult> Overlaps; DrawDebugSphere(GetWorld(), Center, SphereRadius, 12, FColor::Green, false, 1.0f, 0, 2.0f); bool bIsHit = GetWorld()->OverlapMultiByChannel( Overlaps, // 결과를 저장할 배열 Center, // 중심점 FQuat::Identity, // 회전 ECollisionChannel::ECC_GameTraceChannel2, // 채널(PMAttack) CollisionSphere, // 콜리전 형태 Params // 추가 파라미터 ); if (bIsHit) { for (auto& Overlap : Overlaps) { AActor* OverlapActor = Overlap.GetActor(); if (OverlapActor == Owner) { UE_LOG(LogTemp, Log, TEXT("asd")); continue; } if (OverlapActor) { // 데미지를 받는 인터페이스를 생성해서 인터페이스가 구현됐는지 확인 UE_LOG(LogTemp, Log, TEXT("%s"), *OverlapActor->GetName()); } } } } 하지만 코드를 실행해보면 주변에 있는 액터(큐브나 플레인, 그리고 Owner 등)이 아무도 로그에 찍히지 않았습니다.(모든 액터는 Overlap event를 전부 true로 설정했습니다.)문제는 여기부터 입니다. 범위에 들어오는 액터중 하나라도 ColiisionPreset에서 PMAttack에 대한 채널 반응을 Block으로 바꿀 경우 그 때부터 정상적으로 범위에 있는 액터들이 출력됩니다.오랜 시간 조사를 했지만 끝내 해답을 얻지 못해 질문드립니다. 왜 범위 내 모든 액터의 콜리전 설정이 특정 채널에 대해 Overlap 인 경우 일땐 위 코드가 정상적으로 동작하지 않고,왜 범위 내 액터 중 하나만 이라도 Block으로 설정되어 있다면 그제서야 모든 액터에 대해 정상적으로 Overlap 판정이 날까요?긴 글 읽어주셔서 감사합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
4강 14:07 AutonomousProxy 질문있습니다.
14:07에서 플레이어컨트롤러, 캐릭터플레이어가 전부 simulatedProxy 로 출력되었으나 저는 플레이어컨트롤러가 이를 소유함에 따라 AutonomouseProxy로 변해버렸습니다.이것은 현재 5.4 버전에서 정상적인 것인가요?
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
10강의 후반 내용 중 이해안가는 부분이 있습니다.
클라이언트에서 공격 명령을 하여 ServerRPCAttack이 실행되는 코드입니다. 월래는 NetMulticast를 사용해 서버와 모든 클라이언트에서 애니메이션이 실행되도록 패킷을 전달했지만,명령을 내린 클라이언트만 패킷전송을 제외시키기 위해서 다음과 같이 짠건 이해했습니다.하지만 이해가 안 가는 부분이 있습니다. 명령을 내린 클라이언트에 대응하는 (서버상의)액터가 다음 코드를 실행할텐데, 결국 서버상에 있는 클라에 대응하는 액터들은 모두 역할이 [ Authority / AutonomousProxy ] 이거 아닌가요?근데 if문에서 simulatedProxy만 걸러냈다고 말씀하시는 부분이 이해가 안갑니다.
-
미해결[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크)
Q&A 질문이 무엇인지 모르겠어요
Q&A 에서 질문을 볼수가 없는데, 혹시 어디서 볼 수 있을까요
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
3강의 '액터의 접속을 소유하다'라는 표현이 잘 이해가지 않습니다.
3강의 '액터의 접속을 소유하다'라는 표현이 잘 이해가지 않습니다.강의를 반복해 듣고 공식문서를 정독해본 결과 아래와 같이 결론을 내렸는데 혹시라도 틀린 부분이 있다면 정정해주시면 감사할 것 같습니다! ‘액터의 접속을 소유한다’ = ‘액터가 해당 접속에 소유된다’= 액터가 해당 클라이언트(PlayerController)가 소유한 접속에 접근할 수 있는 패밀리에 속하게 된다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
The Project file or web cannot be found라고 뜹니다.
안녕하세요. 강의를 듣고 코드를 작성한 후에 빌드를 해보니,Hp 바가 max값으로 채워지지도 않고 줄어들지도 않아서 Binaries와 Intermediate 폴더를 삭제하고 다시 실행해 보았습니다.근데 사진과 같이 갑자기 not found 라고 뜨면서 헤더파일과 cpp 파일이 뜨지 않습니다. 어떻게 해결을 해야 할까요..
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
9강 30:45 에러가 납니다.
SetIsReplicated(true) 이 구간에서 에러가 계속 발생합니다..SetIsReplicatedByDefault 로 바꾸니 잘 되네요. 왜 이런걸까요?언리얼 버전 5.1 입니다
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
수업 외 질문은 어디서 하면 되나요?
혼자 따로 개발을 해보고 싶어서 해보고 있는데 클래스 생성부터 막히네요ㅠㅠ.. 강의 보고 클래스를 생성하면 잘 생성이 되는데 개별적으로 생성을 하면 클래스 경로를 아예 찾지를 못합니다.. 수업 외의 질문은 여기서 질문을 할 수는 없는 건가요?
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
static 선언 관련해서 질문드립니다
안녕하세요. 51:50 부분에"FName 을 반복문 안에 선언하는건 여러번 전역pool 에서 조사하기 때문에 오버헤드가 발생한다. 그래서 const static FName StaticOnlyOnce(TEXT("pelvis")); 를 써서 한번만 조사하도록 하는게 좋다"이런식으로 이해했는데요, 근데 const static 이 반복문 외부에 선언되어야 하는거죠? 예시처럼 for문 안에 있는게 아니라?
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
ABP_Mannequin_Base 세팅 관련
B_Hero_ShooterMannequin에 ABP_Mannequin_Base를 설정해주는데 Base에서는 어떤 설정들을 해줘야 하나요?
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
TakeDamage함수에 관해 궁금한게 있습니다!
안녕하세요. 강의를 듣던 중에 TakeDamage 함수에 관해 궁금한게 있어 질문을 남깁니다. FDamageEvent DamageEvent; OutHitResult.GetActor()->TakeDamage(AttackDamage, DamageEvent, GetController(), this);위 코드에서 NPC가 공격을 받은 경우, OutHitResult.GetActor() 이 값은 NPC의 액터를 가져오고, GetController() 과 this 는 플레이어의 정보를 가져오는 건가요?
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
장착 소켓 관련
WeaponSocket을 만들어서 장착을 하려는데 장착이 안되는 버그가 있었습니다. 혹시나 해서 SKM_Quinn_Invis 스켈레탈 메시에 WeaponSocket을 만들어 보니 정상적으로 작동이 되네요. 그렇다면 지금 두 개의 스켈레탈 메시(Invis, Quinn)를 사용하고 있다는 얘기가 되는 것 같은데 이게 정상적으로 동작하는 건가요?
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
UE_LOG가 찍히지않아요
수업과 동일하게 해당 부분을 작성하였는데 Log 부분이 들어오지 않습니다 어떤 문제가 있을까요?디버깅 시 해당 문구가 출력 되었습니다.'중단점이 현재 적중되지 않습니다. 이 문서의 기호가 로드되지 않았습니다'
-
해결됨이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
팀 프로젝트 시 클라이언트 파트와의 협업 방법
안녕하세요 교수님. 친구들과 현재 언리얼로 1대1 멀티플레이 게임을 제작하려고 있습니다. 저는 서버 쪽을 맡아 지금부터 공부해나가는 상황입니다. 하지만 아직 2강까지 밖에 안들은 시점이어서 그런지, 저희가 프로젝트를 진행할 때 어떤 식으로 협업을 하면 될지 머리에 그려지지 않습니다. 저희같은 소규모 팀에서는 클라이언트 / 서버 개발을 어떻게 나누어 진행하면 좋을지 조언 주실 수 있으실까요? 좋은 강의 제공해주심에 항상 감사합니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
ExtensionComponent의 CheckDefaultInitialization에 대해서
22분 쯤 모든 Component들의 상태가 Data_Available이 됐을 때ExtensionComponenot::CheckDefaultInitialization의 CheckDefaultInitializationForImplementers에 의해 다른 Component들이 Data_Initialized State로 전환된다고 하셨는데, CheckDefaultInitializationForImpleters는 Data_Available 이 될 수 있음에도 되지 못한 Component가 있는지 확인해서 Update 해주고ContinueInitStateChain 에서 비로소 호출한 Component의 State를 가장 먼저 Change 해주니 ExtensionComponent의 State가 Data_Initailizaed 상태로 바뀌고 나머지 Component들은 ExtensionComponent의 상태를 보고 Data_Initialized 상태로 바뀌는거 같습니다. CheckDefaultInitializationForImplementers 에서 모든 Component들의 상태가 Data_Initialized 로 바뀌는게 이해가 잘 안되네요. 제가 생각한 로직에서 틀린 부분이 있을까요?
-
해결됨이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
MSB3073 오류로 프로젝트 빌드가 불가능합니다.
C4067 전처리기 지시문 다음에 예기치 않은 토큰이 있습니다. 줄 바꿈 문자가 필요합니다.C4668 '__has_feature'은(는) 전처리기 매크로로 정의되어 있지 않으므로 '#if/#elif'에 해당하는 '0'으로 바뀝니다.MSB3073 ""C:\Program Files\Epic Games\UE_5.4\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="C:\Users\Runner\Downloads\UnrealGAS1-10\UnrealGAS1-10\ArenaBattleGAS.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6). 안녕하세요, 강의 자료 깃허브를 통해 브랜치 10 의 프로젝트를 다운 받아 열어보려고 하는 데 빌드가 되지 않아 프로젝트 실행조차 되지 않고 있습니다. 아래에 해결을 위해 시도한 내용들도 함께 작성하니 도움 부탁 드립니다. 새해 복 많이 받으세요.^^ <시도한 내용들>Binaries 삭제 후 Generate, Visual Studio에서 리빌드/빌드 -> MSB3073 오류 발생 uproject에서 VisualStudioTools 플러그인 확인 후 1번 과정 재진행 -> 해당 플러그인이 없음을 확인했으나 여전히 MSB3073 오류 발생언리얼 마켓플레이스(Fab)에서 Visual Studio Integration Tool 다운 후 1번 과정 재진행 -> uproject에 VisualStudioTools 플러그인이 존재했으나 여전히 MSB3073 오류 발생다른 브랜치로 다운 받은 프로젝트 실행 -> 브랜치 1, 2 등 다른 브랜치의 프로젝트로 다운 받아 실행해도 MSB3073 오류 발생
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
안녕하세요. 수업을 따라가면서 저만의 게임을 만드는 중인데 문제가 생겼습니다.
마지막에 빌드를 하고 exe 파일을 실행해보는데 검은 화면만 뜨고 아무것도 나오지 않습니다. 프로젝트 세팅에서 default game mode랑 level다 지정해 뒀는데도 검은 화면만 나오고 cmd에서 -log로 실행해봐도 콘솔창에 아무런 로그도 올라오지 않습니다. 어디가 문제인걸까요?
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
마네퀸 안보이는 현상
언리얼엔진에서 play 버튼을 누르면, 좌우방향키 동작은 되지만 캐릭터(마네퀸?) 은 나오지 않는 증상이 있습니다.이와 같은 상황일때는 어디부분을 위주로 보면 되는지 알려주실수 있나 질문 남깁니다. 아래 사진은 GladiatorCore 설정입니다.
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
AddExtensionHandler 질문
TSharedPtr<FComponentRequestHandle> ExtensionRequestHandle = ComponentMan->AddExtensionHandler(APawn::StaticClass(), AddConfigDelegate);이 함수가 모든 Pawn에 적용된다면 적 몬스터같은 Pawn에도 바인딩이 될텐데 Pawn의 StaticClass가 아닌 플레이어 캐릭터의 StaticClass()를 쓰면 될까요?
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
향후 캐릭터 애니메이션 관련 질문
안녕하세요, 이제 막 Animation Blueprint 강의를 들을려고 하는데 강의/개발 계획에 궁금한 점이 있어 질문 드립니다. 개인적으로 언리얼의 컨트롤릭과 모션매칭 등 프로시저럴 애니메이션에 관심이 있어 병행학습중인데, 혹시 향후 해당 기능을 사용하실 예정이 있을까요?