inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

몽타주 슬롯에서 모션을 지우고 다시 추가하는 이유가 궁금합니다.

미해결

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

34:07 부분에서 교수님께서 슬롯을 DeadSlot으로 변경하신 후에 모션을 지우고, 다시 추가하시는데 이렇게 하시는 이유가 궁금합니다! DefaultSlot에서 Dead 모션을 지우고 DeadSlot에 Dead 모션을 추가하는 과정인 건가요? 그럼 슬롯을 바꿔도 모션이 그대로 있는 이유는 무엇인가요?

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

소스코드에 관하여 질문드립니다.

미해결

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

안녕하세요. Part1을 완강하고 Part2를 수강하고 있는 비전공자 수강생입니다. 강의를 하실 때 13:45 처럼 함수 복붙 후 함수에 관해 설명해주시는 순서로 진행이 되는데 예를 들어 제가 캐릭터의 속도를 설정하는 함수를 찾고 싶다면 F12를 사용하여 관련 클래스의 코드를 탐색하는게 빠르고 정석적인 방법인가요? 언리얼 공식 문서로는 찾지 못하여 질문드립니다.

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

9강 랜덤박스 문제

미해결

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

코드는 강의자료를 통해서 작성하였는데 랜덤박스에 weapon이 들어가있는 것을 확인하려고 하는데 이상하게 weapon이 item으로 생성이 되지않습니다. 단순 운 문제인가 진행해보아도 scroll과 potion만 아이템 박스에 담깁니다.

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

Collision 관련 감지 문제에 대한 질문입니다

미해결

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

void AABCharacterBase::NotifyHitCheck() { //const float AttackRange = CharacterStatComponent->GetTotalStat().AttackRange; const float AttackRange = 1000.f; const float AttackRadius = 50.f; const float AttackDamage = CharacterStatComponent->GetTotalStat().AttackDamage; const FVector Start = GetActorLocation() + GetActorForwardVector() * GetCapsuleComponent()->GetScaledCapsuleRadius(); const FVector End = Start + GetActorForwardVector() * AttackRange; FCollisionQueryParams Params(SCENE_QUERY_STAT(Attack), true, this); TArray<FHitResult> HitResults; bool bHitResult = GetWorld()->SweepMultiByChannel(HitResults, Start, End, FQuat::Identity, ECollisionChannel::ECC_GameTraceChannel1, FCollisionShape::MakeCapsule(AttackRadius, AttackRange * 0.5f), Params); //bool bHitResult = GetWorld()->SweepMultiByObjectType(HitResults, Start, End, FQuat::Identity, FCollisionObjectQueryParams::AllDynamicObjects, FCollisionShape::MakeCapsule(AttackRadius, AttackRange * 0.5f), Params); //bool bHitResult = GetWorld()->SweepMultiByProfile(HitResults, Start, End, FQuat::Identity, TEXT("ABCapsule"), FCollisionShape::MakeCapsule(AttackRadius, AttackRange * 0.5f), Params); if (bHitResult) { for (const auto& HitResult : HitResults) { FDamageEvent DamageEvent; HitResult.GetActor()->TakeDamage(AttackDamage, DamageEvent, GetController(), this); } } #if ENABLE_DRAW_DEBUG FVector CapsuleOrigin = Start + (End - Start) * 0.5f; float CapsuleHalfHeight = AttackRange * 0.5f; DrawDebugLine(GetWorld(), Start, End, FColor::Purple, false, 2.f); FColor Color = FColor::Red; if (bHitResult) { if (HitResults.Num() > 2) { Color = FColor::Cyan; } else if (HitResults.Num() > 1) { Color = FColor::Magenta; } else if (HitResults.Num() > 0) { Color = FColor::Green; } } DrawDebugCapsule(GetWorld(), CapsuleOrigin, CapsuleHalfHeight, AttackRadius, FRotationMatrix::MakeFromZ(GetActorForwardVector()).ToQuat(), Color, false, 1.f); #endif } Collision 을 채널 또는 프로파일로 할 경우 아래와 같이 가장 가까운 물체만 충돌감지를 합니다. (초록색의 경우 1개만 감지했을때) Collision 을 오브젝트 타입으로 할 경우 위와 같은 문제가 발생하지 않습니다. (청록색의 경우 3개 이상 감지 했을때) 왜 이러나 디버깅을 해보려 하였는데 내부 구현이 전부 템플릿으로 되어있어 디버깅이 어렵더라고요... 하여 혹시나 위의 문제가 왜 발생하는건지 아시는지 궁금하여 질문드려봅니다. 확인차 강의에서 제공되는 샘플코드에서도 테스트를 해봤는데 위와 같은 문제가 똑같이 발생하네요. Sweep 이 아닌 LineTrace 일때도 결과는 똑같았습니다.

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

유니티 MMORPG

미해결

[입문자를 위한 UE5] Part2. 언리얼 엔진 2D 게임 개발 입문

유니티는 2D 게임 만들기에 좋다고는 하나 C++이 아닌 C#이기 때문에 데이터 계산하는데 느리지 않나요? 리니지처럼 수백명이 동시에 PK를 해도 문제가 없는 엔진인가요? 아니면 서버만 C++로 만들면 되는 건가요?

  • unreal-engine
  • ue-blueprint
파도 댓글 1 좋아요 0 조회수 314

OnComponentBeginOverlap 바인드

미해결

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

// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "ABCharacterNPC.generated.h" UCLASS() class INFINITEABYSS_API AABCharacterNPC : public ACharacter { GENERATED_BODY() public: AABCharacterNPC(); protected: UPROPERTY(VisibleAnywhere, Category = NPC, Meta = (AllowPrivateAccess = "true")) TObjectPtr<class UStaticMeshComponent> NPC; UPROPERTY(VisibleAnywhere, Category = NPC, Meta = (AllowPrivateAccess = "true")) TObjectPtr<class UBoxComponent> NPCTrigger; UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Collision") bool bIsOverlapping; UFUNCTION() void OnBoxTriggerBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepHitResult); }; 헤더 파일에 이렇게 선언 한 다음 // Fill out your copyright notice in the Description page of Project Settings. #include "NPC/ABCharacterNPC.h" #include "Components/BoxComponent.h" #include "Components/CapsuleComponent.h" #include "Components/PrimitiveComponent.h" #include "Physics/ABCollision.h" // Sets default values AABCharacterNPC::AABCharacterNPC() { bUseControllerRotationPitch = false; bUseControllerRotationYaw = false; bUseControllerRotationRoll = false; GetCapsuleComponent()->InitCapsuleSize(42.0f, 96.0f); GetCapsuleComponent()->SetCollisionProfileName(TEXT("NPC")); GetMesh()->SetRelativeLocationAndRotation(FVector(0.0f, 0.0f, -95.0f), FRotator(0.0f, 0.0f, 0.0f)); GetMesh()->SetAnimationMode(EAnimationMode::AnimationBlueprint); GetMesh()->SetCollisionProfileName(TEXT("NPCMesh")); static ConstructorHelpers::FObjectFinder<USkeletalMesh> NPCMeshRef(TEXT("/Script/Engine.SkeletalMesh'/Game/ExternAssets/MedievalGirl/Mesh/SK_MedievalGirl.SK_MedievalGirl'")); if (NPCMeshRef.Object) { GetMesh()->SetSkeletalMesh(NPCMeshRef.Object); } static ConstructorHelpers::FClassFinder<UAnimInstance> AnimInstanceClassRef(TEXT("Game/ExternAssets/MedievalGirl/Demo/Animations/ThirdPerson_AnimBP.ThirdPerson_AnimBP_C")); if (AnimInstanceClassRef.Class) { GetMesh()->SetAnimInstanceClass(AnimInstanceClassRef.Class); } NPCTrigger = CreateDefaultSubobject<UBoxComponent>(TEXT("NPCTrigger")); NPCTrigger->SetBoxExtent(FVector(100.0f, 100.0f, 100.0f)); NPCTrigger->SetRelativeLocation(FVector(0.0f, 0.0f, 50.0f)); NPCTrigger->SetupAttachment(GetMesh()); NPCTrigger->SetCollisionProfileName(CPROFILE_ABTRIGGER); NPCTrigger->OnComponentBeginOverlap.AddDynamic(this, &AABCharacterNPC::OnBoxTriggerBeginOverlap); UE_LOG(LogTemp, Log, TEXT("NPC Trigger event binding: %s"), NPCTrigger->OnComponentBeginOverlap.IsBound() ? TEXT("Success") : TEXT("Failed")); bIsOverlapping = false; } void AABCharacterNPC::OnBoxTriggerBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepHitResult) { UE_LOG(LogTemp, Log, TEXT("%s"), *OtherActor->GetName()); bIsOverlapping = true; } Cpp 파일에 OnBoxTriggerBeginOverlap를 바인드 해서 사용할려는데 로그로 바인드는 되었다고 뜨는데 함수안에 있는 로그는 왜 안찍히는 건가요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
신동주 댓글 2 좋아요 0 조회수 383

게임 싱글톤 클래스

해결됨

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

그렇다면 게임 싱글톤 클래스는 클래스들에서 자주 참조할, 자주 사용할 데이터들을 모아놓는 클래스인 것이고, 위치는 데이터 레이어에 위치 하는 것이 일반적인 건가요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
차태관 댓글 1 좋아요 0 조회수 301

해결방법...

미해결

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

이 문제는 언리얼의 문제도 오큘러스와 피코에 문제도 아닌 스팀vr 에 문제였네요.. . 설정으로 들어가셔서 보시면 저 부분이 특정회사 즉 오큘러스 or pico 로 되어있을겁니다. 그걸 그림과 같이 스팀vr로 리셋을 해주시면 다 해결 됩니다 언리얼 모든 버전에서 다 되네요 이걸 모르셨다는게 의문이긴 한데.... 해결이 되었으니 강사님이 저에게 커피라도 쏘시죠 ㅎㅎㅎㅎㅎ

  • unreal-engine
  • ue-blueprint
  • VR/AR
미녀와곰탱 댓글 1 좋아요 0 조회수 462

조이스틱 문제점....관해서 한마디를 해 봅니다... 강사님

미해결

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

강의 첫시간부터 안되는데... 강의를 끝까지 따라할수가 없습니다.. 문제점의 해결 방안을 마련해주셨으면 좋겠습니다... 보니까 저 문제가 하루 이틀도 아닌거 같은데.. 이대로 방치하셔서는 안될거 같은데요 강사님 왜 pico sdk에는 5.1 버전은 없는지 궁금합니다.. 언리얼에서 되는 유일한 버전인데 말이죠

  • unreal-engine
  • ue-blueprint
  • VR/AR
미녀와곰탱 댓글 1 좋아요 0 조회수 350

PICO 4 조이스틱 응답 없는데 이거 어쩌져~~~

미해결

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

기본 이동 부분을 다 따라하고 테스트 해봤는데 조이스틱을 움직여도 캐릭터가 이동하지 않습니다. 키보드 W를 눌렀을 때는 정상적으로 이동을 합니다. 컨트롤러를 움직이면 캐릭터의 손도 같이 움직이는데 조이스틱을 움직였을 때는 아무 반응이 없네요. 아... 기기를 잘못 선택을 했나.... 속을 많이 썩일거 같아요 ㅠㅠ

  • unreal-engine
  • ue-blueprint
  • VR/AR
미녀와곰탱 댓글 1 좋아요 0 조회수 413

강의 선택 질문입니다.

미해결

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버

루키스님 항상 좋은 강의 감사합니다. 정말 잘 듣고 있는데요. 다름이 아니라 이 강의가 끝나고 윈도우API 포폴좀 만들면서 새로운 강의를 들을 생각입니다. DirectX를 들을라고 하는데 강사님의 DirectX 강의가 2개가 있더라고요 1. [게임 프로그래머 도약반] DirectX11 입문, 2. [C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12 이렇게 두개중에 어떤걸 들어야 하는지 궁금증이 생겨서 질문드립니다. 지금 강의가 끝난 후에 어떤 걸 들어야 맞는건지 여쭤보고 싶어서 질문 남깁니다. 또 두개를 전부 들어야 한다면 어떤 거 먼저 듣는 것을 추천하는지 궁금합니다.

  • c++
  • 네트워크
  • ue-blueprint
  • 게임수학
  • windows-api
layer08 댓글 1 좋아요 0 조회수 345

블루프린트를 처음부터 만들고 싶은데 어떻게 만들어야 하나요?

미해결

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

안녕하세요. 이득우 교수님 교수님 사진에 있는 블루프린트가 없습니다. 제 입맛대로 다른걸 추가한 상태라 붙여넣기 방법이 힘들듯합니다. 붙여넣기 방법 말고는 없나요? 어떻게 만들어야하나요? Variables도 없어서 추가해서 만들고 SetScoreWidget을 했는데 교수님과 다르게 나오는데 이렇게 하는게 옳은건가요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
신동주 댓글 2 좋아요 0 조회수 622

5.3 버전에 PICO4 VR기기 적용하기

미해결

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

제목 그대로 입니다 플러그인 폴더에 5.3용 파일을 받아서 넣어주었구요... 그런데 Streaming Assistant 가 5.3 부터는 적용이 안되는거 같아서 PICO Connect 에서 하였는데 . Unreal 에서 VR Preview 가 활성화가 안되는데 이걸 어찌해야 할까요??? 빠른 답변 부탁드려요... 답변이 늦어지는것도 있고 아에 답변이 없는것도 있던데... 부탁드립니다

  • unreal-engine
  • ue-blueprint
  • VR/AR
미녀와곰탱 댓글 1 좋아요 0 조회수 413

ini 파일을 만들고 싶습니다.

미해결

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

안녕하세요. 이득우 교수님 ini 파일을 만들어 볼려는데 Copy Reference 를 해서 +NPCMeshes=/Game/ExternAssets/FemaleMilitaryOfficer/Characters/Meshes/SK _Tubaki.S K_Tubaki 수정을 해서 만들었습니다. 하지만 LoginId:3dc4af0c4070a86513781b8b1c7912c5 EpicAccountId:586b13a4063f42dc921a1047434c2edc Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:C:\Program Files\Epic Games\UE_5.3\Engine\Source\Runtime\Core\Public\Containers\Array.h] [Line: 771] Array index out of bounds: 0 from an array of size 0 오류라는 질문과 같은 크래쉬가 났습니다. 어떻게 해결해야 하나요? 파일명은 ltInfinieAbyss 로 했습니다.

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

처음에는 하나만 생기지만 2번째 맵부터 너무 많이 생깁니다.

미해결

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

처음에는 NPC가 한명만 생기지만 2번째 맵부터는 여러명의 NPC 생기는 버그가 있습니다 CloseAllGates() 함수에 for문 안에 찍었는데 여러번 찍히는 것을 확인했습니다. 이유가 뭔지 잘 모르겠습니다

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
신동주 댓글 1 좋아요 0 조회수 362

SweepSingleByChannel 채널 별칭 인식안됨

미해결

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

//#define CCHANEL_MHACTION ECC_GameTraceChannel1; 별칭 인식안됨 언리얼 5.3 ,라이더 GetWorld()->SweepSingleByChannel(OutHitResult, Start, End, FQuat::Identity,ECC_GameTraceChannel1, FCollisionShape::MakeSphere(AttackRadius), Params); 피격콜라이더 범위 구현중 함수가 예제처럼 동작이 안됩니다 예제는 체널값은 ABCollision.h에서 CCHANNEL_ABACTION 별칭을 만들어 사용하지만 제 프로젝트에서 위 함수에 인자값으로 별칭을 사용해서 빌드를 하면 ')' '}' 를 사용하라는 식의 잘못된 함수 사용법의 에러 메세지가 나옵니다 별칭을 사용하지않고 인자값에 채널데이터를 직접넣으면 문제는 해결되지만 저만 그런건지 궁금합니다

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

2장 첫번째 강의 관련 질문

미해결

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

클래스 래퍼런스 복사중에 앞에 script코드를 지우는 것이 중요하다고 하셨는데 지우지 않고 동작을 해도 잘 동작이 되는데 지우는 이유가 궁금합니다. 또한 복사를한뒤에 nullptr인지 밑의 형식으로 코드를 작성하셨는데 Succeeded 함수를 사용하는것이 더 일반적인지 질문 드리고 싶습니다.

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

FPrimaryAssetId GetPrimaryAssetId() const override 함수

미해결

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

FPrimaryAssetId GetPrimaryAssetId() const override { return FPrimaryAssetId("CSItemData", GetFName()); } 이 함수는 앞에 virtual 붙이지 않는 이유가 뭔가요??

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

델타 타임 관련해서 질문드립니다.

미해결

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

AddMoveInput은 가려는 의지를 나타내는 것이고, 실제 이동은 CharacterMovement 내부에서 알아서 처리해주기 때문에 Delta를 곱해주지 않아도 되는 것 맞을까요? AddControllerYawInput은 Delta를 곱해서 값을 넣어줘야 하나요 아니면 그냥 예제 프로젝트 처럼 원하는 회전 방향만 넣어줘도 되는건가요?

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
물개친구수달 댓글 1 좋아요 0 조회수 209

c++ 소켓에 장착한 무기 제거

미해결

언리얼 엔진4 입문 (C++ 기반)

안녕하세요 루키스님 루키스님 영상 보면서 열심히 배우고 있습니다. 다름이 아니고 루키스님 강의 중에서 소켓에 액터를 붙이는 과정은 있어도 캐릭터에게 붙은 별도의 무기액터를 제거하는 영상이 없어 이렇게 남깁니다. TArray<AActor*> AttachedActors; GetAttachedActors (AttachedActors); for ( auto * Attached : AttachedActors) { Attached-> Destroy (); } 일단 제가 서핑하면서 찾은 코드인데 두번째의 getattachedactors같은 함수가 오류가 나고 있습니다 혹시 이에 대한 방법 알고 있으실까요?

  • unreal-engine
  • ue-blueprint
zzodong0309 댓글 1 좋아요 0 조회수 281

인기 태그

인프런 TOP Writers

주간 인기글