본문 바로가기

전체 글84

[UE] 언리얼 엔진 - 블루프린트 클래스 C++에 클래스가 있듯이, 언리얼 엔진의 스크립트 언어인 블루프린트에도 클래스가 존재한다. 블루프린트 클래스는 기본적으로 액터, 폰, 캐릭터, 플레이어 컨트롤러, 게임모드 베이스, 씬 컴포넌트, 액터 컴포넌트의 부모 클래스 중 하나를 선택해서 상속 받아 생성이 된다. 각 부모 클래스는 저마다의 특징이 있다. 액터 - 단순히 월드 상에 존재할 오브젝트, 혹은 게임에 적용될 기능 폰 - 플레이어나 AI 입력을 받아 움직일 수 있는 오브젝트 캐릭터 - 스켈레탈 메시 컴포넌트를 통해 움직이며 애니메이션을 재생할 수 있는 캐릭터 오브젝트 플레이어 컨트롤러 - 플레이어가 사용하는 폰의 제어를 담당하는 액터 게임모드 베이스 - 게임에 관한 규칙이나 득점 방식 등 게임에 대한 시스템 적인 부분을 담당하는 클래스 씬 컴.. 2023. 11. 15.
[UE] 언리얼 엔진 - 액터, 폰, 캐릭터 언리얼 엔진의 월드 공간에 배치하는 객체는 기본적으로 액터, 폰, 캐릭터로 정의된다. 액터, 폰, 캐릭터 액터(Actor)는 단순히 메시를 가진 물체이거나, 혹은 메시 없이 특정 시스템을 가진 객체들을 구성할 수 있다. 폰(Pawn)은 월드 공간 상에 배치된 물체임은 마찬가지이지만 플레이어나 AI가 빙의하여 움직임을 가질 수 있는 물체이다. 캐릭터(Character)는 폰과 마찬가지로 움직임을 받을 수 있지만, 기본 컴퍼넌트로 캡슐 콜리전, 화살표, 스켈레탈 메시 컴포넌트, 그리고 캐릭터 무브먼트 컴포넌트를 가진다. 액터와 폰, 캐릭터는 상속 관계로 이어져 있고 캐릭터가 폰을 상속 받고, 폰이 액터를 상속 받는 관계이다. 새로운 블루프린트 클래스를 생성할 시에 어떤 클래스를 부모 클래스로 선택할 건지 고.. 2023. 11. 14.
[UE] 언리얼 엔진 - 컴포넌트 게임을 할 때, 각 요소에는 다양한 기능이 필요하다. 실제로 렌더링에 필요한 메시의 정보, 물리적 충돌에 관한 상호작용을 담당할 충돌체, 만약 애니메이션이 필요하다면 애니메이션에 대한 정보를 담을, 특히 사람 혹은 생물체의 움직임일 경우 뼈대를 구성하는 스켈레톤 등 이런 정보를 언리얼에선 컴포넌트라는 형식으로 통합하여 관리한다. 컴포넌트의 핵심은 기능의 모듈화라고 생각한다. 원하는 기능을 필요할 때 넣고, 불필요할 때 빼서 객체의 정보를 관리하고 데이터 크기를 최적화할 수 있는 기능. 그것이 컴포넌트가 가진 기능의 장점이다. 컴포넌트의 생성 컴포넌트를 생성하는 방법은 간단하다. 우선 컴포넌트가 게임 상에 존재할 수 있게 해주는 액터를 하나 생성한다. 그 이후 해당 액터의 블루프린트를 열어 뷰포트를 확인하.. 2023. 11. 14.
[UE] 언리얼 엔진 - 블루프린트 기존 DirectX11 라이브러리를 이용해서 게임을 만들면서 느낀 점은 불편한 점이 상당히 많았다는 것이다. 마치 맨 땅에 도구들을 던져주고 그 도구들을 이용해 재료를 캐고, 복잡한 도구를 만들어 집을 짓는 느낌이다. 불편함을 느끼면서 이제는 상용 엔진을 다뤄봐야 할 것 같아 언리얼 엔진을 공부하기 시작했다. 언리얼 엔진이란, 에픽게임즈에서 제작한 게임 제작 엔진을 말한다. DirectX에서 제공하는 기능들을 다듬고, 게임 제작을 더욱 편하게 할 수 있게 비쥬얼라이징을 하였는데 일반적인 C++ 코드를 이용해 만든 DirectX 기반 게임들과는 큰 차이가 있다. 블루프린트 블루프린트는 언리얼 엔진의 노드 기반 프로그래밍 언어를 의미한다. 블루프린트는 쉽게 말하면 눈으로 보기 쉬워진 코드이다. 기존에 C++.. 2023. 11. 12.