[UE5/C++] 이득우 교수님의 언리얼 강의 Part 1 시작 (OT 요약)
- 목차
최근에 인프런에서 이득우 교수님의 언리얼 C++ 강의를 듣기 시작했는데, 이게 사실 교안도 제공이 안되고 필기하면서 하면 시간이 너무 오래걸려서, 블로그에 정리하면서 공부를 해가려고 한다.
또, 공부하는걸 기록하고 싶어서 올리려는 것도 있다.
강의 내용을 블로그에 올라오는게 문제가 되면 안올리겠지만, 내용을 그대로 올리는게 아니라 내가 공부한 내용을 다시 재구성해서 올리는 거니까 괜찮지 않을까 싶다.
Q: 언리얼은 C++을 쓰는데, C++을 잘 하기만 하면 되는 것인가?
A: Nope!
세상에는 다양한 언어가 있다.
성능과 정확성을 위해 저수준 하드웨어를 다루는 언어가 있다면,
또 그런 것 보다 복잡한 로직설계에 효과적인 언어가 있다.
그런데, 게임은 성능도 중요하고 로직도 복잡하기 때문에 두가지를 다 가져야 한다.
이러한 딜레마에 언리얼 엔진은 저수준 레벨을 제어하고 효율성이 있으면서 복잡한 로직을 관리할 수 있는 C++을 선택했다.
하지만 C++의 단점은 배워야할 표준도 많고 사용이 복잡하다.
또한 객체지향언어이지만 초기에 만들어진 언어이다 보니 관리가 어렵다.
후발주자인 Java나 C#이 이를 보완하지만, 언리얼은 이 C++을 자체적으로 개조해서 사용하기로 했다.
이 개조된 언어는 C+++라고 해도 될 정도로 많은 내용이 추가되었다고 한다.
교수님은 이것을 "언리얼 C++"로 부르기로 했다고 한다.
언리얼 C++는 저수준을 제어할 수 있으면서 동시에 후발 객체지향 언어들이 갖고있는 장점들을 흡수할 수 있다.
이러면 모든 문제가 해결된 것 같지만, 기본적으로 알아야할 것들이 너무 많아졌다.
언리얼 프로그래밍을 하기 위해서는 두개의 언어를 배워야한다고 해도 과언이 아니다.
즉, 단순히 C++를 잘 안다고 해서 언리얼을 잘 할 수 있는 것은 아니다.
Q: 게임프로그래밍 언어만 잘 알면 게임을 만들 수 있을까?
A: 언어는 도구일뿐, 결국 게임 콘텐츠 프로그래밍의 구조를 이해해야한다.
게임을 만들다보면 자기만의 노하우와 규칙이 생기는데, 이것을 게임 프레임웍이라고 한다.
언리얼의 장점은 이런 게임 프레임웍을 제공한다는 것!
게임 프레임웍을 공부하는 것은 집을 짓고 기둥을 세우고 지붕을 세우는 것에 비유할 수 있다.
프로 스포츠선수가 되기 위해서는 기초체력과 기본가 두가지 모두 중요하듯,
프로 언리얼 개발자가 되기 위해서는 언리얼 C++과 게임 프레임웍에 대한 이해 둘 다 중요하다.
기초체력에 해당하는 언리얼 C++을 학습하는 방법은
크게 모던객체지향설계에 대한 하이레벨 설계 방법과
메모리 등과 같은 로우레벨의 설계방법으로 나눌 수 있다.
기본기에 해당하는 게임 프레임웍의 학습방법은
게임을 구성하는 요소들을 전체 개발구조에 맞춰서 필요한 것에 알맞게 배치하는 방식
(Part 2 참고)
강의 링크:
'프로그래밍 > UE5' 카테고리의 다른 글
| [UE5/C++] 언리얼엔진 C++에서 print 하기 (LOG_UE) (0) | 2024.04.22 |
|---|---|
| [UE5/C++] 언리얼엔진 컴파일 하는 방법 (0) | 2024.03.28 |
| [UE5] 기본적인 에디터 설정 (0) | 2024.03.06 |
| [UE5] 프로젝트 생성 에러(버전 낮추기, 런타임 설치) (0) | 2024.03.06 |
| [UE5/C++] 언리얼엔진 코딩표준 (2) | 2024.02.29 |