본문 바로가기

GameStudy484

Chapter 05. Character 5.1 캐릭터 5.1-1 캐릭터 Vs 폰 - ACharacter Vs. APawn 인간형 폰을 좀 더 효과적으로 제작하기 위한 특수한 클래스가 캐릭터 클래스. ACharacter는 APawn 클래스를 상속 받고 있음을 볼 수 있음. CapsuleComponent와 SkeletalMeshComponent를 사용하는 것은 같지만, ACharacter는 CharacterMovementComponent를 사용함. 그리고 각 컴포넌트가 Private 접근 지정자라서 게터를 활용해야 함. - CharacterMovement Vs. FloatingPawnMovement 점프와 같은 중력을 반영한 움직임을 제공함. 걷기 외에도 기어가기, 날아가기, 수영하기 등의 다양한 이동 모드 설정가능. 멀티 플레이 네트워크 환경에.. 2023. 8. 19.
Chapter 04. Pawn 4.1 Gameplay Framework 4.1-1 게임플레이 프레임워크 - 언리얼 엔진을 통한 게임 제작이란, 레벨 구성 레벨에 WorldStatic과 같이 미리 배치되어 플레이어와 상호작용할 액터들을 배치하는 작업. 게임 플레이 설계 레벨 구성이 완료된 뒤, 정해진 규칙에 따라(프로그래밍 로직) 게임 플레이가 원활하게 진행되게끔 하는 작업. 이 작업을 원활하게 진행되게끔 하기 위해 언리얼 엔진은 게임플레이 프레임워크를 제공함. - 게임플레이 프레임워크 다양한 게임 장르와 멀티 플레이까지 수용할 수 있도록 언리얼이 자체적으로 설계한 프레임워크. 게임플레이 프레임워크의 핵심 3가지 요소는 언리얼 엔진 게임이 시작되기 위한 3가지 조건이기도 함. 게임 모드(Game Mode) 게임의 규칙을 관리하는 클래스.. 2023. 8. 19.
Chapter 03. Actor 3.1 언리얼의 기본 구조 3.1-1 World - 월드 게임이 진행되는 공간(레벨)과 모든 오브젝트(UObject) 그리고 시간, 물리, 랜더링을 담당하는 오브젝트. 이 모든 것들의 상호작용이 월드 내에서 이뤄짐. Toolbar > Settings > World Settings를 통해 위와 관련된 내용들을 확인 가능. - 레벨 가상 세계를 구성하는 3차원의 공간. 단위는 cm. Viewport를 통해 볼 수 있음. 레벨은 플레이어에게 주어지는 플레이 단계를 의미함. 플레이 버튼을 누르면 Outliner에 기존 레벨을 구성하는 액터(흰색 이름)와 함께 접속한 플레이어와 관련된 액터(노란색 이름)들이 새롭게 생성됨. 정확하게는 동적 생성된(런타임 중에 생성된) 액터가 노란색 이름을 가짐. 만약 레벨이 하나.. 2023. 8. 12.
Chapter 02. Unreal Object 2.1 언리얼 C++ 클래스 2.1-1 언리얼 C++의 필요성 - 게임을 플레이하는 사람들을 위해서는 최대한 최적화되어져서 누구나 플레이 가능해야함. 게임을 만드는 사람들은 규모가 커져도 복잡한 기능을 실수없이 관리할 수 있어야함. - 최대한 최적화 되기 위해서는 매니지드 언어인 C++ 사용이 필수적. 그러나, 매니지드 언어이기에 하드웨어에 직접 접근하며 잘못 사용하면 프로그램에 악영향. 이를 해결하기 위해서 후발 언어들에선 실수를 줄일 수 있는 기능(가비지 컬렉션)과 생산성을 높혀주는 기능(인터페이스/리플렉션/델리게이트)들이 언어에 내장되어 개발됨. - 언리얼 C++에서는 기존 C++에 없고 후발 언어들에서 검증된 기능들을 매크로를 통해서 구현해냄. 이를 구현해낸 클래스가 언리얼 오브젝트 클래스. 2... 2023. 8. 12.