게임을 구성하는 가상 세계가 수학으로 어떻게 만들어지는지 기반에서부터 하나씩 다루는 강의입니다. 기반 수학을 통해 게임 엔진의 구성 원리를 이해하고, 3차원 공간을 구성하는 실질적인 게임 수학을 학습합니다.
이런 걸
배워요!
선형대수기초
벡터수학
게임그래픽스
게임엔진의 원리
3D 게임 프로그래밍,
본질을 알아야 더 잘 할 수 있어요! 🎮
안녕하십니까?
청강문화산업대학교 게임콘텐츠스쿨에서 학생들에게 게임 프로그래밍을 가르치고 있는 이득우입니다.
우리 학생들은 매년 졸작 프로젝트를 통해 우수한 게임을 배출하고 있어 현업 게임 개발 분야로부터 높은 평가를 받고 있습니다.
그런데 많은 학생들이 언리얼(Unreal)과 유니티(Unity) 같은 상용 게임 엔진에 어느 정도 숙달되고 나면, 반복되는 게임 로직 제작 패턴에 지루함을 느낍니다. 그리고 한 단계 더 성장하기 위해 게임 엔진의 구조 및 렌더링 파이프라인과 같은 심도있는 내용을 이해하고 싶어합니다.
하지만 이러한 내용을 체득하기 위해서는 게임 시스템의 기반을 이루는 수학의 원리와 이의 활용 방법을 이해해야 합니다.
보통은 상용 게임 엔진을 사용하지 않고 DirectX나 OpenGL을 사용해 렌더러를 만들면 심도있는 내용을 이해한다고 생각합니다. 하지만 막상 DirectX로 렌더러를 만든 학생들과 이야기해보면, 예제 코드에서 사용하는 수학을 잘 이해하지 못하고 사용하는 경우가 많았습니다.
이러한 문제를 해결하기 위해, DirectX와 같은 그래픽 라이브러리를 사용하지 않고 오직 수학과 WinAPI만을 이용해 정교한 3차원 그래픽을 구현할 수 있도록 수학 커리큘럼을 고안했습니다.
강의에서 다루는 수학을 활용해 WinAPI로만 제작한 3차원 프로그램입니다.
학교에서 두 학기 동안 깊이있게 진행되는 실제 강의 커리큘럼의 핵심적인 내용을 요약했습니다.
게임의 구성 원리가 궁금하셨던 분들, 게임 수학의 이해를 높이고 싶은 분들께 이번 인프런 강의가 좋은 학습의 기회가 되기를 바랍니다.
효율적인 게임 제작을 위해
수학 지식을 보강하고 싶은
게임 개발자
게임 엔진의 기반이 되는
게임 수학이 궁금한
프로그래머
벡터 수학의 원리를
확실하게 알고 싶은
테크니컬 아티스트
이 강의는 게임의 구성 원리가 궁금한 개발자를 대상으로 기획되었습니다.
수업을 들은 수강생들로부터 고교 1학년 공통과정 정도의 수학 수준으로 벡터부터 원근투영까지 이해하는 데 큰 어려움이 없다는 평가를 받았습니다. 다만 난이도와 별개로 수학을 기반으로 안정적인 3차원 시스템을 구축하고 원근감있게 화면을 구성하기까지의 전 과정을 온전히 이해하기까지는 꽤나 오랜 시간이 걸립니다.
본 강의는 가장 밑바닥 체계인 수의 공리로부터 시작해 게임의 가상 공간을 구축하는 과정을 하나씩 이해하도록 설계되었습니다. 본 강의를 온전히 이해했다면 이후부터는 돌아다니는 코드를 복붙하는 것이 아닌 내가 필요한 수식을 직접 설계하고 이를 직접 구현할 수 있게 됩니다.
강의를 모두 완주했다면 게임 엔진의 기반을 이루는 수학을 이해하고, 이를 활용할 수 있는 프로그램을 모두 만들 수 있는 능력을 갖추게 됩니다. 게임 제작 과정에서 GPU가 알아서 처리하는 원근보정보간, 삼각형 클리핑, 은면 제거, 뎁스 버퍼와 같은 세세한 기능을 모두 직접 구현할 수 있는 이론과 실전 능력을 갖출 수 있게 됩니다.
아래는 수업을 완주한 학생이 WinAPI만 사용해 직접 만든 예제 프로그램입니다. 3D 모델링 파일을 불러들여서 계층구조로 구성된 캐릭터를 생성하고, 이를 조절하는데 필요한 수학 이론과 관련 기능을 모두 다 스스로 구현했습니다.
게임 수학을 이해하면, WinAPI만으로도 3D 그래픽스 알고리즘을 조절/구현할 수 있습니다.
첫 번째 파트에서는 선형대수의 기초를 알려줍니다. 프레임마다 게임 콘텐츠를 구동시켜주는 렌더링 파이프라인의 핵심 시스템은 행렬인데, 행렬을 이해하기 위해 필요한 기초 수학을 모두 정리해보았습니다.
파트2에서는 파트1에서 배운 행렬 지식을 바탕으로 실제 게임 콘텐츠를 구성하는 요소와 벡터의 유용한 연산을 알려줍니다. 파트 2에서 배운 수학을 바탕으로 화면상에 효과적으로 물체를 그려내는 방법을 학습하고, 이를 확장해 게임 엔진이 가진 구조를 설명합니다.
파트3에서는 파트2까지 배운 게임 엔진의 구조 위에서 3차원 그래픽을 구현합니다. 3차원 공간에서 신경써야 할 3차원 공간의 회전, 3차원 공간의 유용한 연산인 외적의 활용법 그리고 원근 투영 기법을 학습하면서 3차원 그래픽을 구현하기 알아두어야 할 기본 내용을 학습합니다.
본 강의는 강의 노트와 함께 진행됩니다.
강의 노트에서 사용된 다양한 샘플 이미지를 통해서 수학의 원리에 대해 학습하고, 시스템의 기본 원리를 구성하는 공식을 직접 하나씩 증명할 수 있도록 모든 내용을 수식편집기를 사용해 정리해두었습니다.
📝 이렇게 학습해보세요!
Q. 수학을 잘 모르는데 이 강의를 들을 수 있나요?
기본적으로 고등학교 1학년 공통수준의 기본 수학 지식만 가지고 있다면 본 강의를 수강하는데 문제 없습니다. 하지만 문제 풀이가 아닌 탄탄하게 시스템을 구축하기 위해서는 방대한 내용을 모두 촘촘히 이해해야 합니다. 긴 시간동안 끈기를 가지고 들은 수업은 자신만의 노트로 정리하시길 권장합니다.
Q. 강의에서 게임 엔진을 배우나요?
게임 엔진의 구성 원리가 되는 수학을 다루지만, 언리얼이나 유니티와 같은 상용 엔진의 사용법을 알려주지 않습니다.
Q. 이 강의를 들으면 재미있는 게임을 만들 수 있나요?
본 강의에서는 게임을 제작하지 않습니다. 게임 엔진과 렌더링 파이프라인을 구성하는 기반 수학을 공부하는 강의입니다.
저서
게임 수학의 이해
게임 수학에 대한 전반적인 이해, 이 강의로 요약 정리!무료 강의
본 강의 내용과는 좀 동떨어져 있지만, 유튜브에 PBR 관련 강의도 있으니 참고해보세요. 🙂
청강이 가면 길이 됩니다. 대학 건학이념 청강문화산업대학교는 남양알로에(現유니베라) 창업자인 故이연호 선생이 자연사랑, 인간사랑, 문화사랑의 교육이념 위에 사람을 사랑하며 참사랑을 키워내는 숭고한 교육이념을 실천하고자 설립한 학교입니다.
학습 대상은
누구일까요?
효율적인 게임 제작을 위해 수학 지식을 보강하고 싶은 개발자
게임 엔진의 기반이 되는 수학이 궁금한 프로그래머
벡터 수학의 원리를 확실히 알고 싶은 테크니컬 아티스트
선수 지식,
필요할까요?
공통수학(고교1학년) 수준의 수학 지식
수강생 수
11,995
수강평 수
940
강의 평점
4.9
강의 수
7
청강문화산업대학교에서 언리얼 엔진, 게임 수학, UEFN 게임제작을 가르치고 있습니다.
- 이득우의 언리얼 C++ 프로그래밍, 넥슨 코리아 공식 교육 교재 선정 2023
- 스마일게이트 언리얼 프로그래머 양성 프로그램 언신(Unseen) 교육 총괄 2023
- 에픽게임즈 언리얼 공인 강사 (Authorized Instructor) 2022
- 에픽게임즈 개발자 지원 언리얼 데브그랜트 수상 2017
- 언리얼 서밋 2017, 2018, 2019 발표
- 시작해요 언리얼, UEFN 2022, 2023 웨비나 진행
- 대한민국 게임백서 2022 기술부문 편찬위원
- 부산인디커넥트페스티벌(BIC) 2022, 2023 심사위원장
전체
20개 ∙ (7시간 43분)