묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
언리얼 엔진에 대한 혜택이 어떠한 것들이있는지 궁금합니다.
11강 6:20초경에 교수님께서 구조체는 FStruct 로 선언되기에 일반적인 객체로 언리얼 엔진이 인식하지만 내부의 UPROPERTY()로 선언된 변수들이 언리얼 엔진의 혜택을 받는다고 하셨는데메모리 관리 이외에 어떤 혜택들이 있는지 궁금합니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
uint8 : 1, uint32 : 1 차이가 뭔가요??
4강 16:12 부분에서uint8 bIsidle : 1; 로 선언하는 부분에서 궁금증이 생겼습니다. 전 강의 3강에서 ABCharacterControlData.h 작성하실때는uint32 bUseControllerRotationYaw : 1; 이런식으로 uint32를 쓰셨었는데왜 여기서는 uint8로 쓰셨는지 궁금합니다. 그리고 보통 언리얼에서 uint8 : 1, uint32 : 1 둘 중에 어떤 비트 플래그를 많이 쓰는지도 궁금해요.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
15강에 게임모드에 추가한 변수가 블루프린트에 뜨지 않습니다.
안녕하세요! 15강 강의를 듣고 있는데 게임모드에서 작성한 변수들이 블루프린트에는 보이지가 않습니다.UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Game)int32 ClearScore;UPROPERTY(VisibleInstanceOnly, BlueprintReadOnly, Category = Game)int32 CurrentScore;UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = Game)uint8 bIsCleared : 1; ABGameMode.h 에 위와 같이 코드를 작성했습니다. 근데 아래 사진과 같이 저는 VARIABLES 에 게임모드에서 작성한 변수들이 보이지 않습니다. 디테일 패널에 ClearScore를 검색하면 나오기는 하지만 강의 화면과는 다릅니다. 그리고 CurrentScore와 IsCleard 는 Instance로 되어 있어서 아예 검색조차 되지 않습니다..EditAnywhere 로 변경을 하면 검색은 되지만 사진과 같이 변경은 되지 않습니다. 제가 추가로 확인을 해보니 애니메이션에 추가했던 변수들도 지금 보이지가 않습니다. 이건 에디터 문제인걸까요?빌드도 다시 해보았는데 여전히 변수들이 안 뜹니다.
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
OnRep_Owner() 함수를 통한 오너값 동기화
안녕하세요 선생님 질문사항이 있어 글 남깁니다! 3강 커넥션과 오너십 강의 영상 41:25 쯤 서버와 클라이언트의 오너값이 동기화가 된다고 하셨는데 그럼 클라이언트에 존재하는 Player와 서버에 존재하는 Player 둘 다 같은 PlayerController가 빙의된 상태라는 걸까요?아니면 클라이언트가 접속 요청할 때 Login 과정에서 복제된 PlayerController를 빙의하는 걸까요?
-
해결됨[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
Item #12강의 이후의 결과물에 문제가 발생했습니다.
언제나 양질의 강의를 제공해주셔서 감사드립니다.이번 강의를 통해 Lyra를 언리얼 프로젝트에서 어떻게 사용하는지 알아보고언리얼 엔진과 관련한 디테일한 부분을 배워볼 수 있어 참 기쁩니다. Item #12강의에서 제공해주시는 애셋 파일을 프로젝트에 사용하기 위해이주하였으나 기존에 만들어둔 애니메이션 블루 프린트들과 연결되지 않는 문제가 발생하였습니다.또 이주된 애셋 파일들의 부모 클래스가 None으로 설정되어 결국 이주하지 않고 파일 경로상에 직접 옮기는 방식으로 수정하였습니다. 애셋과 관련된 문제는 발생하지 않았지만, 설정하고 수행한 결과가 Rookiss님의수행 결과와는 다르게 동작하는 문제가 발생하여 이렇게 글을 쓰게 되었습니다.발생하고 있는 문제의 동영상 링크는 다음과 같습니다.https://www.youtube.com/watch?v=ev40iYAin2E 이전 Item #8에서의 애셋을 이주하면 문제가 발생해서 동일하게 파일 경로에 옮겨 작업을 수행했는데,혹시 그 과정에서 문제가 발생해서 저런 문제가 발생하는 걸까요?문제가 어디서 발생하는지 알려주시면 감사하겠습니다.다시 한번 언제나 좋은 강의를 만들어주셔서 감사드립니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part5: UE5 & IOCP 서버 연동
이동동기화 관련 질문 드립니다. 추측항법 외.
안녕하세요 루키스님. 지금은 C#서버로 칸 없이 3D 이동 동기화 토이프로젝트 여러모로 시도해보고 있습니다.제 토이 프로젝트의 목적은추측항법을 사용해 칸 없이 3D 이동 동기화로써 루키스님 강의들 Q&A 뒤적여서 이해한 추측 항법은 "목적지를 뿌려주고 거기로 어떻게 하던지간에 이동하게 해준다" 로 다음 아이디어를 적용해보게 되었습니다. 기본 아이디어는 플레이어 A가 [0,0,0]에 있다면, 바라보는 방향으로 벡터1 만큼을 더한 위치, 예를 들어 w를 누르면 [1,0,0]의 C_Move 요청 패킷을 날리고, 서버가 모든 유저들에게 브로드캐스팅 해주면,각 클라이언트는 A의 위치를 [0,0,0] 에서 [1,0,0]으로 자연스러운 Transform 변경으로 '스르륵'을 구현했습니다.// 참고용 위치 동기화 핵심 코드 void Update() { // destinationPos : S_Move패킷을 통해 갱신된 목표 위치 float distance = Vector3.Distance(transform.position, destinationPos); // 목표지점에 거의 다왔으면 목표 위치로 순간이동 if(distance < 0.1f) { transform.position = destinationPos; } else { // 스르륵 이동 transform.position = Vector3.MoveTowards(transform.position, destinationPos, Speed * Time.deltaTime); } // TODO : 보정 등 } 현재 C++ 서버도 병행해서 공부하는 저의 시점에서, 몇가지가 궁금해서 질문 드리게 되었습니다.Q1. 지금 강의, IOCP와 UE5에서 소개해주신 이동 동기화를 추측항법은 아닌 것으로 이해됩니다(과거 위치를 브로드캐스팅 해주고 있으므로). 제가 이해한게 맞을까요? Q2. 제가 구현한 아이디어와 코드도 일종의 추측항법이라고 우겨도 될까요? 포트폴리오 키워드로 녹이고 싶은 욕심이 있습니다. Q3. 제가 채택한 이동 동기화의 방법의 피드백도 가능하다면 받고 싶습니다. 위 코드에 보정은 어느 정도 넣을 예정이지만, 기본 아이디어에 대해 시니어님의 의견도 여쭈고 싶습니다. 차기 강의 항상 기대하고 있습니다 ㅎㅎ 몸은 다 나으셨는지 모르겠네요.답변 미리 감사합니다!
-
해결됨언리얼 VR 강의 : 블루프린트를 활용한 메타퀘스트3 VR탁구게임 개발
ball 하늘로 뚫고 날아가요
질문은 확인 즉시 답변드립니다! :)메일이나 본 질문란을 이용하여 접수해주세요.질문은 먼저 접수된 순으로 답변드립니다!구체적인 기기(Meta Quest3, 3s 등)와 엔진 버전을 알려주시면 원활한 답변에 도움이 됩니다. 스크린샷이나 녹화영상 등을 통해 설명해주시면 더욱 감사합니다! 안녕하세요 모든 방법을 다 차근차근 따라 갔지만, 시뮬레이션 결과 공이 하늘로 날아가는 것을 확인했습니다.. 어떤걸 확인하면 될까요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
[Part4-5강] ABGA_AttackHitCheck활성화가 안되는 문제
강좌를 따라하면서 동일하게 진행을 했는데 어째서인지 ABGA_AttackHitCheck::ActivateAbility Begin로그가 찍히지 않습니다. ABGA_AttackHitCheck의 생성자는 호출되는데 ActivateAbility가 호출되지 않는데요. 어느 부분을 체크해봐야 할까요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
강의 관련 영상 문의 드립니다.
1:33 ~ 1:35초 에 급격히 화면이 변화가 되면서 에디터 창으로 넘어가는데 동영상이 짤린 듯한 느낌이 들어서 문의 드립니다.내용이 짤린 것인지 궁금합니다.설명이 다 되지 않고 실습으로 넘어간 것으로 보여서 문의 드립니다.
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
버전 5.4엔진 사용 질문
안녕하세요 강의을 듣던중 github자료는 5.4엔진으로 구동되는 것 같습니다. 혹시 part2과정을 5.4로 진행해도 문제없을까요
-
미해결[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
Fragment에 대한 질문
Weapon Equip#2 까지 보고 돌아와서 질문 드립니다.흐름을 보면 QuickBarComponent에서 Fragment의 정보를 읽고 아이템을 장착하는 과정을 진행하는데 그러면 Fragment는 아이템의 컴포넌트보다는 인터페이스에 좀 더 가까운 것 같은데 제가 잘못 이해한건가요?만약 새로운 Fragment를 추가한다면 QuickBarComponent에서 새로운 Fragment를 처리하기 위한 함수를 계속 해서 늘려나가야 되는 건가요?일단 제가 이해한 내용은 InventoryItemFragment는 아이템의 종류를 정의한 것 뿐이고 QuickBarComponent에서 이 Fragment의 종류에 따라 "아이템을 사용한다." 라는 동작을 처리한다. 라는 과정으로 이해했습니다.
-
해결됨언리얼 VR 강의 : 블루프린트를 활용한 메타퀘스트3 VR탁구게임 개발
언리얼로 만든 파일의 이동방법 관련해 질문 드립니다.
안녕하세요. 저는 유니티로만 VR 작업을 해보다가 이번에 강의를 통해 언리얼로 작업 첫도전을 하는 사람인데요. 첫번째 강의를 통해 기기를 연결하고 언리얼 내부의 공간을 체험하는 것을 해봤는데 기존에 익숙한 방향컨트롤을 이용한 이동방법이 아닌, 갈 곳을 선택해서 이동하는 방식인 것을 확인했습니다. 기존에 이런 형식의 이동방식에 대한 거부감을 갖고 있었던지라 혹시 언리얼엔진으로 작업을 하면 이렇게만 이동이 가능한지 궁금해 질문 드립니다. (현재 3가 배송중이라 오큘2를 쓰고 있습니다)
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
14강 입력 비활성화에 대해 궁금한 게 있습니다.
안녕하세요. 14강에서 CharacterPlayer에서 SetDead 함수를 오버라이드 하여 추가적으로 코드를 작성하셨는데, PlayerController를 가져와서 입력을 비활성화를 한 게 만약 이걸(입력 비활성화) 하지 않으면 게임이 끝난 후에도 애니메이션 동작은 하기 때문에 하신 건가요? 공격을 한다던가 회전을 할 수 있기 때문에 하신건지 궁금합니다..!
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
C++ 클래스를 레퍼런스로 가져오는 것이 의존성이 줄어든 코드인가요?
1강 후반부 내용 질문입니다..C++ 클래스에서도 헤더 인클루드 후 StaticClass()로 지정하는 것보다 ConstructorHelpers::FClassFinder를 사용하는 것이 더 바람직한 구조인가요? 아니면 그냥 둘 다 가능하다는 예시인건가요?
-
미해결이득우의 언리얼 프로그래밍 Part4 - 게임플레이 어빌리티 시스템
TA
언리얼에서 어빌리티 시스템을 이용하여 구현중입니다.플레이어가 도끼를 휘둘러 몬스터가 넉백되는 시스템을 구현할때 플레이어가 도끼를 휘두르는 것을 GA, AT, TA로 구현했습니다. (광역 공격)현재 상황은 TA에서 AddForce로 몬스터를 넉백처리 해주는데, AddForce로 몬스터를 넉백하는 것을 몬스터의 넉백 어빌리티로 구현하는것이 좀 더 괜찮은 코드일까요? 아니면 기존처럼 TA에서 몬스터의 넉백을 구현하는 것이 나을까요...?몬스터에게 ASC를 생성하고 어트리뷰트까지 달아준 뒤 넉백 어빌리티를 만드는거는 너무 과한 코드일까라는 생각이 들어서요.
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
[해결완료 | 에셋 파일 문의] Item#9
안녕하세요.Item#9 패키지 내 에셋 파일이 존재하지 않아 에셋 이주가 불가능한 상황입니다.패키지 재다운로드파일 명 및 경로 수정Epic Games Launcher로 프로젝트 열기위와 같은 방법들을 시도해 보았으나, 여전히 에셋 파일이 존재하지 않았습니다.해당 문제에 대해 해결 방안이 있는지 문의드립니다.참고로, 아래 메세지는 AssetAction을 통해 Content 폴더로 에셋을 이주를 시도할 때 표시되는 메시지입니다.
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
캐릭터 possess 문제인지 질문 드립니다
에디터에서 play 버튼을 누를 시 캐릭터 anim montage가 잠깐 실행되다가 중간에 멈추고 그 이후부터 입력은 들어가지만 애니메이션은 재생되지 않습니다.다만 월드에 스폰된 B_Hero_Gladiator를 에디터에서 클릭하면, 그때부턴 정상적으로 애니메이션이 재생됩니다.혹시 이러한 현상을 수정하기 위해서는, 어느 부분을 살펴보면 좋을까요?문제 상황 영상 링크 드립니다.https://drive.google.com/file/d/1aoWAUmri52KgmVs6AH1FgmRFLBeNbH7x/view?usp=drive_link
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
(강의 외 질문입니다) 점프를 하면 캐릭터가 바닥 밑으로 사라집니다.
수업 시간에 배운 걸 토대로 애니메이션도 설정을 해보았습니다. 이동하는 것도 점프하는 것도 되는데 점프하고 나서 착지를 하면 캐릭터가 바닥을 뚫고? 사라졌다가 다시 올라옵니다. 말로 설명하기가 애매해서 사진을 첨부하겠습니다.(영상이 첨부가 안되어서..)이렇게 점프를 하면착지하면서 바닥을 뚫어버립니다. 그 후 갑자기 뿅하고 나타납니다..어떻게 해결을 해야할 지 모르겠습니다..
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
다이나믹 델리게이트가 아닌 델리게이트도 블루프린트 함수가 등록할 수 있나요?
15:38에서 OnHpChaned에 블루프린트 함수 등록 이야기 하셨었는데 저가 1강에서 기억하기로는 블루프린트 관련된거는 Dynamic delegate써야 한다고 기억했었는데 해당 강의에서는 멀티캐스트 delegate를써서 저가 잘못 기억하는건지 아니면 해당 강의 내용을 잘못이해한건지 모르겠어서 물어봅니다.
-
해결됨[Rookiss University] UE5 Lyra 클론 코딩 (Haker)
PlayerMappableInputConfig 대체
PlayerMappableInputConfig는 지원이 중단된다고 하는데 이걸 대체하는 시스템은 아직 없는 건가요?