inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

강의 22:21에 SweepSingleByChannel 함수 부분 질문 있습니다

해결됨

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

안녕하세요 강의 항상 잘 듣고 있습니다! 강의에서는 Attack Range = 40.0f로 설정하고 Sweep하는 구체의 반지름을 50.0f로 설정하셨던데 콜리전이 감지되는 부분은 40까지인데 보다 높은 값으로 구체의 반지름을 설정한 이유가 따로 있는지 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
근면한 복어 댓글 1 좋아요 0 조회수 381

33:18 패밀리에 묶인다는게 어떤뜻일까요??

미해결

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

패밀리안에 묶인다는 표현이 자주등장하는데, 이말이 어떤 의미일까요?? 이것도 이후에 나오는 내용일까요?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
k ch 댓글 1 좋아요 0 조회수 321

런타임 중 NewObject<>()의 Replicate에 대해 조금 더 궁금합니다.

해결됨

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

런타임중에 SpawnActor<>()와 NewObject<>()를 멀티플레이 환경에서 사용하고 싶은데, 강의를 듣고 엔진 코드도 살펴보고 문서도 읽어보고 5.3 환경에서 실험도 해보고 했지만 잘 모르겠어서 이렇게 질문드립니다. " AActor 상속 클래스를 Replicate = true로 하고 서버에서 SpawnActor를 사용해 스폰하면 클라이언트에도 자동으로 생성이 된다. " -> 이건 실험도 해보았고 에픽 포럼 글 확인해보니 맞는거 같습니다 위 실험 결과를 토대로 UActorComponent는 어떻게 동작할까? 궁금해서 실험을 해보았을 때 로그를 찍으며 실험해본 결과는 아래와 같습니다. - UActorComponent는 UActorComponent의 Replicate 속성 true false 여부에 상관없이, - 서버에서 NewObject<>()로 생성 후, (여기서 outer는 ACharacter 같은 걸로 설정해서 추후 RegisterComponent()시 문제가 없도록 하고) - RegisterComponent를 통해 등록하면 https://docs.unrealengine.com/5.3/ko/replicated-subobjects-in-unreal-engine/의 과정을 거치지 않았는데도 클라이언트에서도 자동으로 생성이 된다. 라는 결과를 얻었습니다. 이게 맞나요? 제 생각엔 'NewObject<>()시 사용한 Outer가 Replicate가 true인 Actor이면, UActorComponent는 UObject를 서브 오브젝트 레플리케이트 시키기 위한 추가 로직(위 문서 링크에 나와있는) 없이도 자동으로 잘 된다' 라는 생각이 드는데 이게 맞는건지 아니면 틀린건지 위에 실험도 잘못한건지 잘 모르겠습니다 ㅜㅜ 혹시나 맞다면 UActorComponent를 위처럼 동적으로 수정 / 삭제 시 RemoveReplicatedSubObject도 호출하지 않아도 되나요?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
상병 댓글 1 좋아요 0 조회수 313

22분 52초까지 진행하던 중 Faild to Find 오류가 나왔습니다

해결됨

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

분명 파일에 있는 경로를 참조하여 붙여넣기 했는데 왜 이러는걸까요? #include "Character/ABCharacter.h" #include "Components/CapsuleComponent.h" #include "GameFramework/CharacterMovementComponent.h" // Sets default values AABCharacter::AABCharacter() { // Pawn bUseControllerRotationPitch = false; bUseControllerRotationYaw = false; bUseControllerRotationRoll = false; // Capsule GetCapsuleComponent()->InitCapsuleSize(42.f, 96.0f); GetCapsuleComponent()->SetCollisionProfileName(TEXT("Pawn")); // Movement GetCharacterMovement()->bOrientRotationToMovement = true; GetCharacterMovement()->RotationRate = FRotator(0.0f, 500.0f, 0.0f); GetCharacterMovement()->JumpZVelocity = 700.f; GetCharacterMovement()->AirControl = 0.35f; GetCharacterMovement()->MaxWalkSpeed = 500.f; GetCharacterMovement()->MinAnalogWalkSpeed = 20.f; GetCharacterMovement()->BrakingDecelerationWalking = 2000.f; // Mesh GetMesh()->SetRelativeLocationAndRotation(FVector(0.0f, 0.0f, -100.0f), FRotator(0.0f, -90.0f, 0.0f)); GetMesh()->SetAnimationMode(EAnimationMode::AnimationBlueprint); GetMesh()->SetCollisionProfileName(TEXT("CharacterMesh")); static ConstructorHelpers::FObjectFinder<USkeletalMesh> CharacterMeshRef(TEXT("/Script/Engine.SkeletalMesh'/Game/Characters/Mannequins/Meshes/SKM_Quinn_Simple.SKM_Quinn_Simple'")); if (CharacterMeshRef.Object) { GetMesh()->SetSkeletalMesh(CharacterMeshRef.Object); } static ConstructorHelpers::FClassFinder<UAnimInstance> AnimInstanceClassRef(TEXT("/Game/Characters/Mannequins/Animations/ABP_Quinn.ABP_Quinn")); if (AnimInstanceClassRef.Class) { GetMesh()->SetAnimInstanceClass(AnimInstanceClassRef.Class); } }

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
이승민 댓글 2 좋아요 0 조회수 557

언리얼 기본 제공 태스크 UAbilityTask_WaitTargetData

미해결

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

언리얼이 기본제공하는 태스크들이 정말 많아서 좀 둘러보다가 저희가 만든 AT_Trace랑 비슷한 "UAbilityTask_WaitTargetData"라는 게 있어서 좀 살펴봤는데요. Activate()에 있는 구현 내용이 중복되는 BeginSpawningActor() 와 FinishSpawningActor () 함수가 있는데 임의로 블루프린트에서 이 태스크를 실행해보니 Activate()가 실행이 안되고 이 두 함수가 실행되는 걸 봤습니다. 이런 식으로 그냥 실행해봤는데요. 사실 코드에선 어빌리티에서 CreateTarget()을 하고 ReadyForActivation()까지 호출해야 AT의 Activate()가 실행되는데 블루프린트에서는 이 노드 호출만으로 어떻게 AT가 실행까지 되는지도 잘 모르겠습니다. 거기에 UAbilityTask_WaitTargetData 처럼 Activate() 대신에 BeginSpawningActor()/FinishSpawningActor () 가 실행되는 이유도 알고 싶습니다.... 이 두 함수 존재의 설명은 엔진 주석에 나와있어서 어느정도 파악이 됐는데 문제는 코드에서든 블루프린트에서든 호출되는 조건을 잘 모르겠습니다...

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 534

어빌리티 태스크의 블루프린트 핀에 Async Task는 용도가 뭔가요?

해결됨

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

찾아보려 했는데 정보가 잘 안 나오네요... +아, 그리고 블루프린트에서는 태스크 생성과 동시에 자동으로 ReadyForActivation 까지 호출되는 건가요??? 그러고보니 이 함수가 없네요

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 526

[5:03] operator+ 연산자 질문입니다.

해결됨

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

덧셈 연산을 고칠 필요가 없다는 부분을 저는 속성이 늘어나도 속성이 늘어남에 따라 더해주는 코드를 추가할 필요 없이 속성들을 float으로 통일을 해서 (구조체 크기 / float 크기)를 통해 계산하기 때문에 고칠 필요가 없다고 이해를 했습니다. 근데 다시 보니 새로운 연산자를 추가해도 고칠 필요가 없다고 말씀하셨는데 제가 이 부분이 잘 이해가 되지 않습니다. 다른 operator를 추가하는 것과 operator+를 고치는 것과의 상관관계를 잘 모르겠습니다.

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
김윤식 댓글 1 좋아요 0 조회수 232

여러 대상에게 Effect를 전달하는 방법

해결됨

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

AttackHit어빌리티의 스킬 공격 판정 결과 함수에서 스킬 타겟 액터는 HitResult 대신 Actors 에 충돌된 액터들을 넣어서 보내주기 때문에 TargetDataHandle에 대상 액터들이 들어있을 텐데요. 이를 엔진 내부에서 사용하여 한번의 ApplyGameplayEffectSpecToTarget() 호출로 각 대상 액터들에게 모두 Effect를 적용하는 걸로 예상하고 있습니다. 그런데 ASC에서 직접 BP_ApplyGameplayEffectSpecToTarget()을 할 때는 대상 액터가 여러개라면 For문으로 직접 여러번 호출할 수 밖에 없어 보이는데, 혹시 ASC도 Effect를 한번 호출로 여러 타겟에 적용하는 함수가 있나요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 345

컴포넌트 활성화/비활성화 관련 질문

미해결

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

안녕하세요! SetHiddenInGame()는 비활성화가 아닌 렌더링만 막는 함수인건가요? 그렇다면 유니티처럼 각각의 컴포넌트를 비활성화하는 경우는 없는지, 그리고 액터를 비활성화시킬 때 Visibility와 Collision 외에 따로 고려할 사항이 있는지 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
BlurryFace 댓글 1 좋아요 0 조회수 814

SendGameplayEventToActor() 발동 시 ASC 동작

해결됨

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

나름대로 제가 알아볼 수 있을 정도만 정리 중인데요. SendGameplayEventToActor()가 어빌리티랑 이벤트 델리게이트를 활성화 할 수 있던데, 만약 이 두 개가 우연히 같은 Tag를 가지고있다면 Send 함수 호출 한번으로 둘이 동시에 실행되는 건가요???

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 385

위치 지정에 대한 질문입니다.

미해결

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

안녕하세요. 강사님!궁금한점이 있어, 이렇게 질문 남깁니다.오른쪽 핸드 소켓을 설정할 때 상대 위치와 회전을 지정하셨는데, 보통 기획적으로 이미 설정된 값으로 설정되는 것인지 아님 아트쪽에서 설정하는지 아님 이 강의처럼 프로그래머가 직접 무기를 들었을 때 어색하지 않는 위치를 찾아서 설정하는지 궁금합니다.또한, 보통 무기가 한 개가 아닌 여러 개의 종류가 있다면, 위치의 변동이 생기지 않을까?..라는 생각이 드는데 이때는 위치와 회전값을 동적으로 할당하나요? 아님 중간 타협점을 찾아 배치하나요???답변 주신다면 더 열심히 공부하겠습니다! 정말 감사합니다!

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
공개비 댓글 1 좋아요 0 조회수 222

3강에서 30분 내용이 전혀 이해가 안되는 수준이면 무엇이 부족한걸까요?

미해결

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

제목 그대로 입니다. TCHAR FString 같은 수준인줄 알았는데 갑자기 간접지정연산자로 접근을 해야 할당이 되질 않나 이게 무슨 관계인지 모르겠고, Fstring이 이미 Tchar배열형이랑 같은 수준인데 GetcharArray의 GetData라니 이게 무슨관계인지 모르겠습니다. C++에 대한 이해가 부족한걸까요? 멍때리고 보다가 뭘본건지 모르겠어서 질문올립니다... 제가 무엇을 더해야 이해를 할 수 있을까요? ㅠ

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

Part3 1강 레포지토리에서 플레이누르면 BluePrint쪽에서 에러가 발생하는거같습니다.

미해결

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

안녕하세요 Part3 1강에 적혀있는 레포지토리에서 1강 기본 프로젝트 샘플 커밋에서 빌드와 엔진까진 작동이되는데 플레이 버튼을 누르면 아래의 에러가 발생하고있습니다 ㅠㅜ.. Could not find the skeleton for Anim Blueprint 'ABP_ABCharacter' Would you like to choose a new one?

  • unreal-engine
  • 네트워크
  • 언리얼-c++
김준영 댓글 2 좋아요 0 조회수 405

AttributeSet 함수 정리

해결됨

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

AttributeSet의 각 함수에 대해 의미와 동작 방식, 사용처가 조금 헷갈려서 제가 실험을 좀 해본 후에 정리한 것인데요. 여기서 틀린 정보가 있을지 혹시 알 수 있을까요... 그리고 UAbilitySystemComponent:GetGameplayAttributeValueChangeDelegate(FGameplayAttributeAttribute) 이 델리게이트 같은 경우는 PostGameplayEffectExecute() 다음에 이벤트 발생 되는 건가요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 472

어빌리티 태스크에서 GetWorld() 얻어올 때 어빌리티에서 가져오는 것

해결됨

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

바로 GetWorld() 하는 것과 Ability->GetWorld() 하는 것이 어떤 차이가 있나요? World라는 것이 자신이 생성되어 소속되어있는 레벨의 월드 데이터로만 알고있는데, 월드데이터가 오브젝트마다 다를 수가 있는 건가요?

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 276

무기가 손에 장착이 안됩니다

미해결

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

상자에서 무기를 획득했을 때 무기가 hand_rSocket에 장착되는 것이 아닌 캐릭터의 아래에 고정됩니다. 어디가 잘 못 된 건가요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
김민기 댓글 1 좋아요 0 조회수 332

GAS 보조게임 모듈은 GameFeature로 만든건가요?

해결됨

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

플러그인에 게임피처가 적용 안되어 있는 걸로 보면 직접 파트1에서 한 것처럼 수동으로 폴더와 파일을 만들어서 제작한 것 같은데요. GAS 빌드.cs 에 PrivateDependencyModuleNames에 "GameFeatures"는 왜 있는 건가요??

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 468

OnRep_ReplicatedHasBegunPlay 함수

미해결

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

bReplicatedHasBegunPlay 속성이 변경 됐을때 실행된다 하셨는데요.. 그러면 이미 게임이 시작된 상태에서 클라이언트가 접속시 클라이언트는 복제된 이미시작된 게임스테이트의 상태를보고 bReplicatedHasBegunPlay속성을 변경 시켜주는건가요..? bReplicatedHasBegunPlay속성을 변경 시키는 타이밍이 언제 인가요??

  • unreal-engine
  • 네트워크
  • 언리얼-c++
k ch 댓글 1 좋아요 0 조회수 268

왼손 Animation 넣을 떄

미해결

[입문자를 위한 UE5] Part5. 언리얼 엔진 VR

안녕하세요! 좋은 강의 보며 재밌게 공부중입니다. 다름이 아니라 왼손에도 애니메이션을 넣고 싶어서 혼자 ABP_Hand_Left도 만들어서 왼손에 연결해보려 했는데, BP_Hand의 HandMesh가 하나인 탓에 이미 강의대로 오른손 기준 애니메이션이 Mesh와 연결돼있어서 왼손 애니메이션을 mesh에 연결 못했습니다. 혹시 왼손도 애니메이션도 따로 제작해서 넣고 싶으면 BP_Hand에서 왼손, 오른손 mesh 따로 있도록 새로이 구조를 짜야 하는건가요? 그리고 궁금해서 Sample/Character/Mannequins_XR/Meshes/ 의 ABP_MannequinsXR 애니메이션의 AnimGraph도 봤는데 mirror 어쩌구저저구를 사용해서 오른손,왼손 다 사용가능하게끔 코드처리가 돼있던데 이것은 어떤 원리인지도 궁금합니다.

  • unreal-engine
  • ue-blueprint
  • VR/AR
yaminsu5674 댓글 2 좋아요 0 조회수 433

VS에서 저장 안한 코드가 에디터에서 컴파일 할 때마다 사라지는 문제

해결됨

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

에디터를 켠 상태로 vs코드를 수정하다가 저장을 안하고 그대로 에디터에서 새 클래스를 생성한다던지 하는 방식으로 에디터에서 컴파일을 실행하면, 저장안한 코드는 전부 사라지는 것 때문에 강의를 여러번 되돌려보고 디버깅 따로 해보느라 여러번 낭패를 봤는데요. 이거는 그냥 코드 수정할 때마다 저장 제때하는 것밖에 방법이 없는 건가요??? 뭔가 방지하는 방법은 없나요

  • unreal-engine
  • ue-blueprint
  • unreal-engine5
  • 언리얼-c++
  • gas
themoon007 댓글 1 좋아요 0 조회수 246

인기 태그

인프런 TOP Writers

주간 인기글