Make Unreal REAL.
article thumbnail
완독 및 후기

이득우의 언리얼 C++ 게임 개발의 정석 총 쪽수: 640p 공부 기간: 2023.02.25 - 2023.03.20 (24일) 평점: ★★★★★ 책 이름에 걸맞게 언리얼 C++ 개발 입문서의 정석 같은 책이었다고 생각한다. 책에서 언리얼 C++을 활용한 다음과 같은 내용들을 익혔다. 생성자와 액터의 수명 주기 함수들 주 게임 모듈과 추가 모듈 제작 액터 컴포넌트 제작 게임 모드를 통한 게임 관리 폰과 플레이어 컨트롤러 사용자 입력 처리 애니메이션 몽타주와 애니메이션 노티파이 델리게이트를 통한 디커플링과 바인딩 상태 머신 콜리전 처리 데이터 테이블로 게임 정보 관리 위젯 컴포넌트와 HUD 위젯 행동 트리를 활용한 AI 제작 INI 파일로 게임 설정 관리 게임 데이터 저장과 로딩 이 책은 애니메이션, 파티클..

article thumbnail
비주얼 로거의 활용

이득우의 언리얼 C++ 게임 개발의 정석 언리얼 엔진은 텍스트 기반 로그의 한계를 극복하기 위해 비주얼 로거(Visual Logger) 기능을 제공한다. 이전 플레이의 진행 상황을 시작적으로 확인할 수 있다. 디버그 드로잉 기능과 유사하지만 결과를 저장해 차후에 확인할 수 있다는 장점이 있다. 캐릭터 클래스에서 공격 판정을 수행하는 AttakCheck() 함수에 비주얼 로그를 남기는 코드를 추가해본다. 비주얼 로거를 사용하기 위해서는 "VisualLogger'/VisualLogger.h" 헤더를 포함해야 한다. 공격 위치는 반지름 50cm의 파란 구를 그려 표시한다. 공격 판정은 DrawDebugCapsule() 함수에서와 동일한 크기와 색상의 캡슐을 그려 표시한다. DrawDebugCapsule() 함..

article thumbnail
유용한 비주얼 스튜디오 단축키

이득우의 언리얼 C++ 게임 개발의 정석 VS 2017 기준이다. 코드 작업 관련 Ctrl + L 한 라인 지우기 Ctrl + G 입력한 라인으로 이동 Ctrl + ] 짝이 맞는 괄호의 위치로 이동 코드 분석 관련 F12 혹은 Ctrl + 좌클릭 정의로 이동 Ctrl + K 입력 후 Ctrl + O 헤더(.h)와 소스 코드(.cpp) 파일 간 전환 Ctrl + - 이전 작업 위치로 이동 Ctrl + Shift + - 다음 작업 위치로 이동 Ctrl + F 파일에서 찾기 Ctrl + Shift + F 지정한 범위에서 찾기 Shift + F12 선택한 변수 혹은 함수를 참조하는 모든 목록 Ctrl + T 혹은 Ctrl + , 입력한 키워드를 사용하는 모든 구문 목록 코드 정리 관련 Ctrl + . 입력 후 ..

article thumbnail
맵을 벗어나는 버그 수정

이득우의 언리얼 C++ 게임 개발의 정석 이 내용은 책에는 없고 필자가 직접 작성한 내용이다. 마지막으로 플레이어가 맵을 벗어나는 문제를 수정해본다. 실제 게임에서도 플레이어의 이동 가능 영역을 제한하는 것은 중요하다. 섹션 스태틱 메시인 SM_SQUARE를 선택한 후 Ctrl + W 키를 눌러 에셋을 복제한다. 이름은 SM_SQUARE_BLOCKED로 지정한다. 간단하게 생각해볼 수 있는 방법은 두 가지다. Section 클래스의 생성자에서 Box Component를 배치해 막는다. Static Mesh 에셋 자체에 Box Collision을 추가해 막는다. 여기서는 책에 없는 2번째 방법을 이용해보겠다. 스태틱 메시 편집창에서 Show Pivot 버튼을 누르면 피벗을 표시할 수 있다. Collisio..

article thumbnail
런타임이 블루프린트 에셋을 찾지 못할 때
Unreal Engine/팁 2023. 3. 19. 22:56

간혹 가상 경로를 잘 지정해주어도 에셋을 찾지 못할 때가 있다. 특히 블루프린트 에셋이 그런 경우가 많다. 그럼 다음과 같이 생성자에서 에셋을 찾지 못해 오류가 발생했다는 메시지가 뜬다. 첫 번째는 개인의 실수로 블루프린트 에셋 이름에 _C를 붙여주지 않은 경우이다. 두 번째는 언리얼 런타임의 문제로 가상 경로가 맞음에도 찾지 못하는 경우이다. 이때는 가상 경로만 적어주지 말고 에셋의 종류를 추가해주면 잘 찾는다.

article thumbnail
UObject* WorldContextObject
Unreal Engine/고찰 2023. 3. 19. 22:47

월드에서 무언가를 가져오는 함수를 실행할 때 UObject* 타입의 WorldContextObject라는 인자를 자주 본 적이 있을 것이다. [C++] WorldContextObject Parameter Hi, I’m trying to set the world’s time dilation, but I’m having an issue with one of the parameters it wants. Here’s the function declaration inside GameplayStatistics: static void SetGlobalTimeDilation(UObject* WorldContextObject, float TimeDilati forums.unrealengine.com 포럼에 따르면 이 인..

검색 태그