IA_Move에서 Negate(부정)설정 중 XYZ 박스를 모두 체크하는 것은 특별한 이유가 있나요? (그렇게 하지 않아도 사용하지 않는 축의 영향을 받지 않기 때문에 그런 것으로 이해했습니다.) IA_Move 설정에서 후방 이동(S)과 마우스 Y축 부정의 개념이 살짝 혼동이 생겼습니다. (IA_Look에서 설명해주셨을 때 "엔진에서 Y 축의 양수는 아래 방향을 의미한다."는 말을 듣고 나니, IA_Move의 Y는 그럼 S키 입력에 부호를 바꾸는 것이 아니라(Negate) W키를 반전해야 하는 거 아닌가? 라는 생각이 들어서요.. W,S는 캐릭터를 기준으로 전방, 후방 값이기에 화면을 기준으로 한 Y축 방식과는 다르다고 해석하면 될까요?)
[Rookiss University] Haker님의 UE5 소스코드 분석 시리즈 #1 (게임 프레임워크)
안녕하세요! Activate() 이후 PrimaryComponentTick.SetTickFunctionEnable()이 호출되는데, 이후 GameWorld인지 Owner가 있는지 여부 등을 따져가며 RegisterAllComponentTickFunctions()를 호출할 때도 결국 SetupActorComponentTickFunction()을 통해 인자로 전달된 PrimaryComponentTick의 SetTickFunctionEnable()이 호출됩니다. 왜 이렇게 같은 과정이 굳이 두 번이나 이루어지는지 궁금합니다 물론 두 번째 단계에서는 등록 여부를 확인하여 걸러지지만 실행 조건을 살펴보아도 GameWorld가 아니라는 조건 때문에 두 번 실행될 가능성이 있는 것 같아 질문드립니다. 읽어주셔서 감사드립니다.
아직까지는 커넥션과 소유권에 대해서 잘 이해하지 못하고 있는 상태이며, 궁금한게 있습니다. 13:07 에서 'NetMulticast RPC는 커넥션을 소유하지 않아도 동작한다' 라는 내용이 있는데, 추가적인 정보를 얻어보고자 gpt에 물어보면 자꾸만 '클라이언트와의 커넥션은 필요하지만 소유권이 없어도 된다' 라고 말을 합니다. 그렇다면 gpt가 틀렸다고 보는게 맞을까요? 예를들어 gpt가 이 함수는 서버가 호출해야 하고, 해당 Actor가 클라이언트에 리플리케이션되어야 하며, 해당 클라이언트와 NetConnection이 살아 있어야 전파됩니다. 하지만 소유자(Owner)는 없어도 됩니다. 또는 Multicast RPC는 소유권과 무관하게, 그 Actor를 리플리케이션 중인 모든 커넥션에게 전송된다. 라고 이야기를 합니다. 여기서 gpt는 마치 커넥션이 필수인것처럼 이야기하길래, 현재 제가 뭘 놓치고 있는지 궁금하여 여쭤봅니다. 혹시, 강의의 13:07 에서 설명한 '커넥션' 이라는 개념이 'NetConnection 객체 자체' 가 아니라 '소유자 커넥션' 과 밀접한, 예를 들어 '커넥션을 소유하지 읺아도 된다' 라는 설명이 분수대 Actor의 Owner가 특정 클라이언트(PlayerController)가 아니어도 된다는 말로 해석되는 것인가요?
부록 공부 굳이 해야 할까요? 부록이 왜 있는건지 잘 이해가 안가요.. 똑같은 내용을 복습하는건가요? 만약에 한번만 공부한다고 하면 Haker님 영상을 참고하는게 좋을까요 아니면 부록 영상을 참고하는게 더 효율적일까요? 다 들으면 60시간이고 Haker님 강의, 부록강의 둘 중에 하나를 배우고 쭉 복습하는게 더 효율적이라는 생각이 들어서요
안녕하세요! 제목에 써둔 것처럼 패키지 저장 시 이미 패키지가 존재한다면 로딩을 다 하고 저장하는 것이 좋다고 말씀하셨는데 그 이유가 안전하게 패키지를 저장할 수 있다고 말씀하셨습니다. 궁금한 것은 왜 해당 동작이 안정성을 보장하게 되는지 만약 로딩을 안하고 저장 시, 추가적으로 애셋이 저장된다고 볼 수 있는지 가 궁금합니다. 감사합니다!
ABGameMode도 선택했고 코드에서 플레이어 컨트롤러도 제대로 바꿨는데 다음과 같은 오류가 떴습니다 Couldn't spawn player: Failed to spawn player controller 그래서 계속 문제를 붙잡고 씨름하다가 엔진을 껐다가 켜니까 이젠 아예 게임 모드가 없어졌네요 일단 프로젝트를 새로 만들어서 다시 해볼생각이긴 한데 이게 왜 이런건지 모르겠네요
문제는 B_LyraDefaultExperience 의 ExperienceID 에 Map이 들어가는 것 입니다. ULyCUserFacingExperience 의 코드는 이렇게 작성되어있습니다. LyCExperienceDefinition.h 는 이렇게 작성되었습니다. 현재 상황입니다. 에셋 메니저의 상황입니다. 어디가 잘못된걸까요?
Unreal Insight 사용 시 아래와 같이 세션이 실행됩니다. 다만 해당 화면이 켜지자 마자 Insight가 멈추고 추가적인 입력이 불가능한 상태가 됩니다. 또한 네트워크 인사이트 창은 생기지 않습니다. 이후 시간이 지나면 아래와 같은 애러 메세지가 뜨고 저절로 인사이트창이 닫힙니다.. 아래는 배치 파일 내용입니다. 현재 엔진은 5.4.4 버전으로 엔진 소스코드 빌드하여 사용중입니다. 언리얼 인사이트 툴도 추가 빌드해서 엔진버전과 동일한 버전으로 맞춰둔 상태입니다. 또한 아래 질문들에도 비슷한현상이 있는데 해당 질문에 있던 방법들 모두 사용해도 오류가 발생해 문의드립니다. 어떤 부분이 문제가 될까요?
DS1Character.cpp에서 ExecuteComboAttack() 함수 부분 질문이 있습니다. .... if (bComboSequenceRunning && bCanComboInput == false) { // 애니메이션은 끝났지만 아직 콤보 시퀀스가 유효할 때 - 추가 입력 기회 ComboCounter++; UE_LOG(LogTemp, Warning, TEXT("Additional input : Combo Counter = %d"), ComboCounter); } else { //UE_LOG(LogTemp, Warning, TEXT(">>> ComboSequence Started <<<")); ResetCombo(); bComboSequenceRunning = true; } ... 위의 해당 조건은 bCanComboInput 변수로만으로도 분기할 수있지 않나요? 현재 짜주신 로직에서 bComboSequenceRunning 변수가 없어도 될 것 같다는 생각이 들었고, 해당 bComboSequenceRunning 변수를 다 지우고 돌렸는데, 있을 때와 없을 때의 콤보 시퀀스가 유효할 때 추가 입력 처리하는 부분의 사용자 경험 차이가 없는 것 같아서 혹시 어떨지... 궁금해서 질문 드립니다. 끝으로, 퀄리티 높은 강의 정말 감사합니다