inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

캐릭터 possess 문제인지 질문 드립니다

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

에디터에서 play 버튼을 누를 시 캐릭터 anim montage가 잠깐 실행되다가 중간에 멈추고 그 이후부터 입력은 들어가지만 애니메이션은 재생되지 않습니다. 다만 월드에 스폰된 B_Hero_Gladiator를 에디터에서 클릭하면, 그때부턴 정상적으로 애니메이션이 재생됩니다. 혹시 이러한 현상을 수정하기 위해서는, 어느 부분을 살펴보면 좋을까요? 문제 상황 영상 링크 드립니다. https://drive.google.com/file/d/1aoWAUmri52KgmVs6AH1FgmRFLBeNbH7x/view?usp=drive_link

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
Oh Seo 댓글 1 좋아요 0 조회수 113

람다식 [] 안에 &를 넣는 이유를 잘 모르겠습니다.

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

아직 제가 람다식에 대한 개념이 잡혀있지 않은 상태입니다. 34분 58초 여기 부분에서 필요한 값으로 TFunction<void()>가 되어있어서 람다식이 필요하구나 라는것은 이해하였고, 그 전에 사용했던 방식으로 () 안에는 매개변수를 넣는구나 그런거는 이해하고 있습니다만 []안에 & 레퍼런스 기호를 사용하는 이유를 잘 모르겠습니다. 혹시 이유와 또 다른 기호가 어떤게 들어가는 지 알 수 있을까요?

  • unreal-engine
  • 언리얼-c++
Huni 댓글 2 좋아요 0 조회수 206

GetRandomPointInNavigableRadius

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

GetRandomPointInNavigableRadius(Origin, PatrolRadius, NextPatrolPos) 이 코드에서 Origin이 중심점이라는 것은 이해를 했는데 PatrolRadius 과는 무슨 관계인건지 모르겠습니다.. 중심점을 기준으로 PatrolRadius 반경 내에 랜덤한 위치를 NextPatrolPos에 넣는다고 이해를 했는데 제가 이해한 게 맞는 건가요? Origin을 기준으로 반지름 내에서만 랜덤하게 이동을 한다라는 말인지 궁금합니다. 그리고 AI가 플레이어를 쫓아다니다가 놓치면, PatrolRadius를 벗어난 위치에 있을 수도 있는데 이러한 경우에서도 Origin을 기준으로 랜덤한 위치를 찾는 건가요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
ajkdfj 댓글 2 좋아요 0 조회수 79

Capsule의 HalfHeight에 관하여

미해결

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

안녕하세요. 강의 잘 듣고 있습니다. 6강 캐릭터 공격 판정 강의에서 공격 트레이스를 시각적으로 보기 위해 DrawDebugCapsule을 사용하는 부분에서 HalfHeight가 반구를 제외한 원기둥 절반 높이라고 하셨던것 같은데, 제가 10강에서 무기를 얻었을 때 공격범위가 분명 증가하였는데도 DrawDebugCapsule로 보이는 범위는 차이가 없어 디버깅 및 여러 테스트를 해본 결과 HalfHeight는 반구를 포함한 캡슐의 세로 전체 높이의 절반인것 같습니다. 따라서 AttackRadius보다 작은 HalfHeight가 들어오면 그냥 무시되고 캡슐이 구 형태를 띄게 됩니다. 아래와 같이 고치니까 범위가 제대로 보이는것 같습니다. #if ENABLE_DRAW_DEBUG FVector CapsuleOrigin = Start + (End - Start) * 0.5f; float CapsuleHalfHeight = AttackRange * 0.5f + AttackRadius; FColor DrawColor = HitDetected ? FColor::Green : FColor::Red; DrawDebugCapsule(GetWorld(), CapsuleOrigin, CapsuleHalfHeight, AttackRadius, FRotationMatrix::MakeFromZ(GetActorForwardVector()).ToQuat(), DrawColor, false, 0.5f); #endif

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
gytharj 댓글 2 좋아요 0 조회수 133

예습용 프로젝트는 원래 빌드가 안되나요?

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

내용 없음

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
김상현 댓글 2 좋아요 0 조회수 231

조건식 프로퍼티 리플리케이션 질문

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

안녕하세요. 조건식 프로퍼티 리플리케이션 실습하는 부분인 강의 28분30초 쯤에서 질문 있습니다. 강의 내용을 보면, GetLifetimeReplicatedProps함수내부에서 DOREPLIFETIME(AABFountain, ServerRotationYaw); DOREPLIFETIME_CONDITION(AABFountain, ServerLightColor, COND_InitialOnly); 위와 같이 설정을 해 주고 있습니다. 그래서 저의 예상으로는 ServerLightColor 값은 최초 초기값만 리플리케이션되어 라이트의 색상은 초기 색상으로 고정되고, ServerRotationYaw 속성은 정상적으로 계속 리플리케이션 되어서 분수대가 계속 회전은 될 것으로 생각했습니다. 하지만 에디터에서 실행하는 부분인 29분45초경을 보니 회전과 색상변화 둘 다 되지 않고 있는데, 회전은 왜 되지 않는 것인가요?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
dhqks6 댓글 2 좋아요 0 조회수 204

ArenaBattle에 Log추가하는 곳에 에러가 나타나 질문 드립니다.

해결됨

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

타 프로젝트에서 동일하게 사용하기 위해서 LOG-NETMODEINFO를 #define LOG_NETMODEINFO ( (GetNetMode() == NM_Client) ? *FString::Printf(TEXT("CLIENT %d"), GPlayInEditorID) : ((GetNetMode() == ENetMode::NM_Standalone) ? TEXT("STANDALONE") : TEXT("SERVER"))) 다음과 같이 강의 그대로 사용을 하면 static_assert failed : 'invalid argument(s) passed to printf' 라는 에러가 나옵니다. 하지만 다음과 같이 작성하면 에러가 나타나지 않습니다. 이유를 아직까지 잘 모르겠어서 질문 남깁니다. #define LOG_NETMODEINFO ((GetNetMode() == ENetMode::NM_Client) ? TEXT("Client") : ((GetNetMode() == ENetMode::NM_Standalone) ? TEXT("StandAlone") : TEXT("Server")))

  • unreal-engine
  • 네트워크
  • 언리얼-c++
jjune0427 댓글 2 좋아요 0 조회수 199

장판스킬을 만들때 콜리전설정

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

수업내용은 아니 장판 스킬을 만들고싶은데 구상한바로는 액터를 생성하고 capsuleComponent를 붙여서 Overlap이 발생할때 데미지를 주는 방식으로 만들려고하는데요 Collision부분에서 걸리는게 있습니다. 지금 이 장판액터는 몬스터나 플레이어들만 Overlap이 되고 나머지는 무시를 해야하는데요 이러면 장판액터가 바닥에고정되어있지않고 땅으로 꺼지는현상이 발생합니다. PhysicsSimulate를 꺼도 이런현상이 발생합니다 바닥이랑만 Block되게 만드는 방법도 있지만 혹시 다른방법이 있을까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
ereum999 댓글 2 좋아요 0 조회수 208

MaxWalkSpeed가 0으로 고정되는 문제 관련 질문드립니다

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

Interaction1, 또는 2 코드 이주 후 캐릭터가 움직이지 않는 문제가 있어서 원인을 쭉 분석해보니 CharacterMovementComponent 의 MaxWalkSpeed 가 0으로 세팅되어 있는 것을 발견했습니다. 게임 실행 후 에디터에서 직접 값을 올려서 움직여보면, 클라에서 잠시 움직이려다가 서버에서 검증로직이 돌아가 다시 제자리로 돌아가는 듯한 모습이 보여서 서버 사이드에서 정상적으로 초기화하지 않거나 replication되지 않은 것 같았습니다. 추가로 발견한 특이 사항으로는 UPackageMapClient::SerializeNewActor 함수에서, Actor = World->SpawnActorAbsolute 를 진행할 때 B_HeroCharacter_Base_C 의 생성자 자체에서는 600이란 값으로 잘 초기화되지만 SpawnInfo.Template (FActorSpawnParameters) 에 들어간 애의 MaxWalkSpeed 값은 0으로 되어있는 바람에 최종적으로 0으로 세팅되는 것까지 확인했습니다. 뭔가 저 값이 0으로 오는 원인이 있을 것 같은데, attribute set이 잘못되었는지 관련 값을 세팅해주는 초기 GameplayEffect를 지정해주지 않은 것인지 정확한 원인을 찾는데 난항을 겪고 있어서, 혹시 관련하여 어느 부분을 보는 것이 좋을지 질문 드립니다.

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
Oh Seo 댓글 1 좋아요 0 조회수 137

질문은 아니고 강의자 님이 해당 글을 꼭 보시길 바랍니다.

미해결

[입문자를 위한 UE5] Part1. 언리얼 엔진 블루프린트

강의 너무 잘 듣고 있습니다. 강의 설명중 참고하셨으면 하는 내용이 있어서 글 올립니다. 1. ' ~ 이러한 내용이니 여러분들이 문제를 잠깐 멈추고 풀어보세요 ' 의 방식보다 아예 게임의 사용 예시를 들며 문제를 내는게 좋을것같습니다. 노드의 기능 역활만 알려주고 알아서 문제를 내라는 말이 좀 아쉬웠습니다. 강의를 빨리 끝내려는 강사의 느낌이랄까요. 2. 7:50 에서 ' 바꿔치기 해서 저장을 해야한다는건 어쨌든 set 을 등장시켜야 한다는 얘기가 되는거고..' 이부분도 설명이 좀더 있으면 좋겠습니다. 어떤걸 의도하시는지는 이해가 되었습니다만 마찬가지로 시간에 쫒기고 귀찮아서 빨리 수업을 끝내려는 강의 같다는 느낌이 듭니다..

  • unreal-engine
  • ue-blueprint
초이초이 댓글 1 좋아요 0 조회수 211

디버깅 및 빌드가 갑자기 안됩니다 ㅠ

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

갑자기 디버깅 및 빌드가 안됩니다 ㅠㅠ

  • unreal-engine
  • 언리얼-c++
이건주 댓글 2 좋아요 0 조회수 383

7강에서 DORM_Initial 안됨

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

7강에서 분수대를 휴면 상태로 만들기 위해 생성자에서 NetDormancy = DORM_Initial를 해주는데 휴면이 되지 않아 tick함수의 클라이언트에서 로그를 찍어봤더니 NetDormancy가 Initial이 아닌 Awake로 찍혀요... BeginPlaye에서도 변경해도 동일한 문제가 나타나는데 어떻게 해야하나요?? 버전은 5.5버전입니다

  • unreal-engine
  • 네트워크
  • 언리얼-c++
한경식 댓글 3 좋아요 0 조회수 161

안녕하세요 강의 내용 정리에 관련해서 질문있어요

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

제가 강의를 들으면서 이해한 내용과 실습을 정리해서 올리려는데 저작권등의 문제가 괜찮을지 여쭤보고 싶어서요. 어느정도까지 해도 괜찮을까요??

  • unreal-engine
  • 네트워크
  • 언리얼-c++
한경식 댓글 2 좋아요 0 조회수 168

캐릭터 클래스의 mesh 관련

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

캐릭터 클래스는 처음부터 캡슐, 메시, 캐릭터 무브먼트 컴포넌트가 있는데요. 무브먼트 컴포넌트가 클라이언트와 동기화시키고 보정하는 기능이 있는 건 알 것 같기도 한데 이게 mesh도 영향을 받나요? 리슨 서버에선 클라이언트 소유 캐릭터의 mesh를 강제로 이동시키기나 add relative rotation 해도 default 값에서 변하지 않고 고정됩니다. 반면에 서버 환경에서 서버 소유 캐릭터나 클라이언트 환경에서 클라 소유 캐릭터의 mesh를 이동/회전 시키면 일단 적용은 됩니다. (다만 동기화는 안됩니다.) 리슨서버에서 클라이언트 소유 캐릭터의 mesh를 transform 수정 가능하게 할 방법은 아예 없나요?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
themoon007 댓글 2 좋아요 0 조회수 165

[25분 20초] 형변환 관련 질문드립니다.

미해결

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

안녕하세요! 좋은 강의 감사합니다. 수업을 듣다가 궁금한 점이, staff 클래스는 ILessonInterface를 상속받지 않기 때문에, staff 인스턴스를 ILessonInterface로 형변환 시 형변환이 실패하여 nullptr이 반환되는 것을 볼 수 있었습니다. 그렇다면 자식 클래스(인스턴스)가 상속받지 않은 클래스로 형변환이 될 시 무조건적으로 형변환이 실패한다고 보면 될까요?

  • unreal-engine
  • 언리얼-c++
bum7124 댓글 2 좋아요 0 조회수 128

3파트 6강 분수대 로테이트에 문제가 생겼습니다.

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

안녕하세요 강사님! 항상 열심히 강의를 보며 공부하고 있습니다. 6강 예제를 따라하던 도중 문제가 생겨 해결해보려했으나 도저히 방도가 안보여 질문드립니다. 비주얼 스튜디오에서 빌드로 실행하면 모두 정상적으로 작동이 되는 것 같습니다. 하지만 에디터에서 실행하거나, 배치파일로 실행하거나, 에픽 런쳐로 실행하거나, 프로젝트파일로 실행시킬 때 모두 분수대가 회전되지않습니다.(분수대뿐만이 아닌 모든 ab네트워크로그 매크로도 나오지 않습니다. 로테이트레이트값도 아예 보이지 않습니다.) 라이브 코딩 후에는 분수대도 잘 회전되고 매크로도 나오나, 클라이언트에서는 분수대가 여전히 회전하지않고, YAW값 매크로도 나오지 않습니다.

  • unreal-engine
  • 네트워크
  • 언리얼-c++
최인규 댓글 3 좋아요 0 조회수 165

클라이언트의 오너십 설정에 대해서 궁금합니다.

미해결

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

클라이언트에서는 빙의를 하면서 오너쉽을 설정하는 것이 아니라 Owner값이 서버와 동기화 되는 것이라고 이해했습니다. 그리고 서버에서 Owner값이 바뀌면 클라이언트의 OnRep_Owner가 실행되면서 클라이언트의 Owner값이 설정된다고 이해했습니다. 그래서 Super의 OnRep_Owner가 실행되기전에도 로그를 찍어봤는데, 그때도 이미 오너가 설정된것으로 로그가 출력되었고, 코드를 확인해보니 Actor의 OnRep_Owner는 내용이 없더라구요..? 그러면 정확히는 OnRep_Owner에서 Owner값이 동기화 되는것은 아니라는 건가요? 그리고 아래 로그와 같이 PostNetInit가 실행되고 BeginPlay 까지 실행된 이후에 PostNetInit가 한번 더 호출되는 이유는 무엇인지 궁금합니다. LogABNetwork: [CLIENT1] AABCharacterPlayer::OnRep_Owner [ABCharacterPlayer_0 Begin] LogABNetwork: [CLIENT1] AABCharacterPlayer::OnRep_Owner [Owner: BP_ABPlayerController_C_0] LogABNetwork: [CLIENT1] AABCharacterPlayer::OnRep_Owner [Owner: BP_ABPlayerController_C_0] LogABNetwork: [CLIENT1] AABCharacterPlayer::OnRep_Owner [End] LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit [Begin] LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit [End] LogABNetwork: [CLIENT1] AABGameState::OnRep_ReplicatedHasBegunPlay [Begin] LogABNetwork: [CLIENT1] AABPlayerController::BeginPlay [Begin] LogABNetwork: [CLIENT1] AABPlayerController::BeginPlay [End] LogABNetwork: [CLIENT1] AABGameState::OnRep_ReplicatedHasBegunPlay [End] LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit [Begin] LogABNetwork: [CLIENT1] AABCharacterPlayer::PostNetInit [End]

  • unreal-engine
  • 네트워크
  • 언리얼-c++
dhqks6 댓글 3 좋아요 0 조회수 228

프로퍼티 리플리케이트 동기화 보장 개념.

해결됨

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

c++ 에서 replicated/replicatedUsing 이나 블루프린트에서 replicated/RepNotify 설정하는것은 동기화를 반드시 보장해준다고 알고있는데요. 그래서 연결 이슈가 발생됐을 시, 보존했다가 정상 연결되면 그때 다시 데이터 보내준다고 이해했습니다. 그러면 리슨서버에 클라1이 접속되어 있고 이후 2번째 클라가 접속했을 때 이미 초기화가 끝나고 tick이 진행중이던 2개의 플레이어 캐릭터(서버,클라1)가 클라2 환경에서 simulated클라 역할로 생성되어 각각 beginplay가 진행될텐데요. 이때 리플리케이트가 켜져있는 프로퍼티나 컴포넌트 상태 등등 변경된 사항들이 복제되어 적용된 상태로 생성되는 건가요? 초기값과 다르기때문에 onRep_~~() 함수도 호출되면서?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
themoon007 댓글 2 좋아요 0 조회수 255

결국엔 액터 기본함수들은 어디든 똑같이 일단 실행되는건가요?

해결됨

이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해

어떤 액터의 현재 로컬 역할이 authority이든, Simulated 클라이언트든, Autonomous 클라이언트든 똑같이 beginPlay()와 Tick() 같은 건 일단 실행이 되는 건가요?? simulated 클라 역할인 액터는 개념적으론 로직이 수행되선 안되는데 그럼에도 beginplay(), Tick() 같은건 일단 실행이 되기때문에 if문으로 구분을 해야하는거죠?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
themoon007 댓글 2 좋아요 0 조회수 107

어빌리티의 쿨다운 GameEffect에 대하여

미해결

이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템

안녕하세요. GAS Ability 의 Cooldown GameplayEffect (이하 GE) 를 등록하는 부분에 대해 질문이 있습니다. 먼저 실습을 5.4 버전으로 진행하고 있음을 알립니다. 강의 내용에서는 Cooldown GE 적용 시 Cooldown GE BP 를 생성하여 HasDuration 옵션으로 GameplayTag 를 설정 Cooldown을 적용하려는 GA의 Ability Block Tag 에 Cooldown GE에 설정한 GameplayTag를 추가 위와 같이 진행을 해주셨는데, 5.4에서는 2번 과정이 불필요했습니다. 엔진 코드 내부에서는 CheckCooldown 함수 내부에서 Cooldown GE 의 GrantedTag로 직접 쿨다운 체크를 하는걸로 보입니다. 이 부분이 5.4가 되면서 개선된 부분일까요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
Kyoungsoo Nam 댓글 2 좋아요 0 조회수 302

인기 태그

인프런 TOP Writers

주간 인기글