안녕하세요 강의 잘 듣고 있습니다. Unreal 프로젝트를 Git에 업로드하면서, Unreal Asset의 용량이 커서 무료 Git 용량을 초과하는 경험을 몇 번 했습니다. 이런 문제의 해결법으로 gitignore에서 에셋 폴더를 제외해서 불필요한 에셋이 업로드되는 걸 막고, ArenaBattle 폴더에는 사용할 에셋 파일만 복사해놓고 git에 업로드하는 방식을 사용해도 좋을지 궁금합니다. 그리고 실제 협업을 할 때 에셋을 git에 업로드할 때 용량관리를 어떻게 하는지 궁금합니다!
안녕하세요. 10:33초 쯤에 BP_AB_CharacterPlayer 로 작업하시는데 제 프로젝트에는 그런 클래스가 보이지 않네요 제가 뭘 놓치면서 진행하고있었나요? 뿐만아니라 BP_ABGameMode, ABPlayer_Controller이런것들이 안보입니다. 파일 탐색기에서 봤을땐 Controller, GameMode,Congratulation이런 파일들이 있는데 에디터에선 저렇게 3개 밖에 보이지않네요... 물론 BP_AB_CharacterPlayer는 파일에도 없습니ㅏㄷ.
첨부된 예습자료는 실행이 되지 않아 Migrate을 진행할 수 없습니다. 강의 초반에 Interact와 Interactables를 복사하기로 가져오면 메시는 가져오지 못하는 것 같습니다. 강의와 같이 B_Chest_002를 레벨에 배치하면 메시가 없는 상태 입니다. 강의에서 MIgrate 할 때 보면 다른 여러 파일들도 필요해 보입니다. 그렇다고 모두 복사하면 실행이 안되는 문제가 있습니다.
안녕하세요 막 강의를 시작해보려고하는데 첫 챕터 부터 막히네요 ㅜ 구글링도 해보고 안되서 문의 드립니다 첫 빌드때 d1.uproject generate 후 빌드를 해보면 이런 오류가 나는데 혹시 어떤 부분이 문제일까요,,?"D:\UE_5.4\Engine\Build\BatchFiles\Build.bat LyraEditor Win64 DebugGame -Project="D:\YJ\YJ\GP\D1\D1.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6).
첫 조건문의 조건 중 하나가 ViewTarget == GetInstigator() 일 때 인데 나에게 데미지를 가한 가해자의 정보를 넘겨줘야 한다. 라는 말이 조금 헷갈려서 질문 드립니다. ViewTarget 에게 데미지를 받은 액터가 연관성이 생기는 것이 맞나요? ViewTarget 에게 데미지를 가한 액터가 연관성이 생기는 것이 맞나요? 해당 코드만 읽었을 땐 ViewTarget 이 가해자가 되어야 한다고 이해했는데 이해한게 맞는지 재차 확인을 하고싶어 질문 남깁니다
재복습 중인데 이해가 안가는 부분이 있습니다. 보통 모든게 마무리 되고서 최종적으로 호출되는 함수가 BeginPlay라고 생각했는데요. 다음 사진에서 서버 PC 기준으로 클라 접속 시에는 BeginPlay가 먼저 호출되고서 PostLogin에서 빙의를 시작하는 흐름이 이해가 안갑니다. 제가 놓치거나 잘못 이해한 부분이 있을까요?
지금 AI가 플레이어가 공격할 때 플레이어가 움직이거나 또는 AI 뒤쪽으로 이동하면 AI가 플레이어를 향해 회전을 해야 하는데 회전을 하지 않습니다.. 강의 코드와 한 줄 정도 다른데 왜 안되는 것인지 모르겠습니다.. EBTNodeResult::Type UBTTask_Turn::ExecuteTask(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) { Super::ExecuteTask(OwnerComp, NodeMemory); APawn* NPC = OwnerComp.GetAIOwner()->GetPawn(); // NPC 가져오기 if (NPC == nullptr) { return EBTNodeResult::Failed; } FName PlayerName = TEXT("Target"); APawn* Player = Cast<APawn>(OwnerComp.GetBlackboardComponent()->GetValueAsObject(PlayerName)); // Target 가져오기 if (Player == nullptr) { return EBTNodeResult::Failed; } float TurnSpeed = 1.0f; FVector LookTargetVector = Player->GetActorLocation() - NPC->GetActorLocation(); FRotator LookTarget = FRotator(0.0f, LookTargetVector.Rotation().Yaw, 0.0f); // 회전 값 NPC->SetActorRotation(FMath::RInterpTo(NPC->GetActorRotation(), LookTarget, GetWorld()->GetDeltaSeconds(), TurnSpeed)); return EBTNodeResult::Succeeded; } 그리고 갑자기 루트 노드에서 멈춥니다.. 하위 노드들을 실행을 해야 하는데 루트노드에만 노란색으로 고정되어있는데 뭐를 확인해야 하나요?
Experience Load #2 강의에서, HandleStartingNewPlayer_Implementation 함수에서 if(IsExperienceLoaded())로 막았는데도 불구하고 캐릭터가 스폰이 됩니다. 브레이크포인터로 찍어보았을 때 if(IsExperienceLoaded()) 구문 속에 있는 곳으로 넘어가지는 않지만 앞으로 계속 진행해보니 SpawnDefaultPawnAtTransform_Implementation으로 바로 넘어가지는듯 합니다.. 혹시 버전이 5.5.3인데, 5.5 넘어오면서 뭔가 패치가 된 점이 있을까요?
블루프린트 프로젝트를 생성할 땐 아무 문제 없이 잘 생성이 되는데, c++ 프로젝트를 생성하면 이런 오류가 뜹니다... 영상에서 나오는 것처럼 똑같이 했습니다. 그리고 구글링도 해보고, ai한테도 물어보고, 공식 사이트에서도 자료 찾아보고 해결법을 다 따라해봐도 해결이 되지 않습니다. 어제부터 오늘 계속 찾아보고 해결하고 싶은데 되지 않아 이렇게 글을 써봅니다 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. Keyboard event 1 로 계산식을 작성하고 과정을 보려고 레벨을 플레이 해서 봤더니 키보드로 1번 버튼을 누르기 전까지는 계산식이 실행되지 않아서 계산식 중간에 값이 어떻게 나오는지 확인이 되지 않습니다. 플레이를 시작하면 마우스가 플레이 화면 밖으로는 나가지 않아서 식을 확인할 수가 없습니다. 계산식 결과를 확인하려면 event beginplay 로 먼저 확인한 다음에 keyboard event 1 로 바꿔주어야 하나요?
1 . RegisterGameplayTagEvent 델리게이트 질문 ASC->RegisterGameplayTagEvent(ABTAG_CHARACTER_INVINSIBLE, EGameplayTagEventType::NewOrRemoved).AddUObject(this, &UABGASHpBarUserWidget::OnInvisibleTagChanged); 다음 코드를 다음과 같이 이해했는데 맞을까요? INVINSIBLE 태그가 GE에 부착(count+1)되거나 탈착(count-1)될때 알림을 주는 델리게이트. 기본 count=0 2.Pre/PostGameplayEffectExecute 함수 질문 저는 이 함수가 ApplyGameplayEffectSpecTo~함수로 GE를 실행시키기 직전이랑 직후에 호출되는 걸로 알고 있습니다. PreGameplayEffectExecute 함수는 게임 플레이 이팩트 적용 전에 호출된다고 들었는데요. 하지만 확인해본 결과 ,공격할 때 게임 플레이 이팩트가 실행되어 DamageAttritbute값이 Modifier연산을 통해 30으로 변경된 이후에PreGameplayEffectExecute 함수가 호출되었습니다. "게임 플레이 이팩트 적용 전" 이란 말이 GE를 실행하기 직전, 즉 Modifier연산이 아직 되기 전으로 이해하고 있었는데 이게 아닌가요? PreGameplayEffectExecute와 PostGameplayEffectExecute의 정확한 차이가 뭔지 햇갈립니다. 그리고 GE_AttackHitBuff 가 발동하면 Pre/PostGameplayEffectExecute 함수가 호출되는지 테스트를 해봤는데 제 생각과는 다르게 호출이 안됩니다. (Data.EvaluatedData.Attribute == GetAttackRadiusAttribute()) 이런식으로 조건문을 넣어서 디버깅을 했는데 전혀 들어오지를 않네요.GE_AttackHitBuff도 다른 GE와 마찬가지로 Pre/PostGameplayEffectExecute 함수에 들어와야 정상아닌가요? 3 . 중첩 버프 질문 instant는 Base값을 변경하지만, 기간형은 Current값을 변경한다고 들었는데요. AttackRaius의 Base값이 50이고 Current값은 0 으로 시작해서, 공격할수록 Current에 +15씩 증가해 Base값을 직접 수정하지 않고 Current 값만 증가시켜서 어떻게 범위를 키우는 거죠? Base값은 아예 안쓰고 하나요? 내부적으로 어떻게 돌아가는지 좀 햇갈립니다. 그리고 Duration과 Stack 에 대해 다음과 같이 이해했는데 이게 맞을까요? Duration을 2초로 했을 때, 2초가 지나기 전에 공격해서 다시 한번 GE를 동작시키면 2초로 다시 리셋되고 스택이 쌓이는데, 2초를 놓칠경우 Current값이 처음으로 돌아와서 범위가 기본으로 리셋된다.