3Dゲームプログラミング、
本質を知ってこそ、もっと上手にできますよ! 🎮
ゲームプログラミング、
一歩進みたいのなら?
こんにちは?
青江文化産業大学ゲームコンテンツスクールで学生たちにゲームプログラミングを教えているゲンウです。
私たちの学生は毎年卒業プロジェクトを通じて優秀なゲームを排出しており、現業ゲーム開発分野から高い評価を受けています。
しかし、多くの学生がUnrealやUnityなどの商用ゲームエンジンにある程度熟達すると、繰り返しのゲームロジック制作パターンに退屈することを感じます。そして、さらに一歩進むために、ゲームエンジンの構造やレンダリングパイプラインなどの深い内容を理解したいと思います。
しかし、このような内容を体得するためには、ゲームシステムの基盤となる数学の原理とその活用方法を理解する必要があります。
ゲームシステムの中核、
ゲーム数学をお見逃しなく。
普通は商用ゲームエンジンを使わずにDirectXやOpenGLを使ってレンダラーを作れば深い内容を理解すると思います。しかし、いつもDirectXでレンダラーを作成した学生と話してみると、サンプルコードで使用する数学をよく理解できず、使用することが多かったです。
この問題を解決するために、DirectXなどのグラフィックライブラリを使用せずに、数学とWinAPIのみを使用して洗練された3次元グラフィックを実装できるように数学カリキュラムを考案しました。
グラフィックライブラリなしで実装する
コア3Dグラフィックス。
講義で扱う数学を活用し、WinAPIのみで製作した3次元プログラムです。
実際のゲームスクールカリキュラムの核心をカバーしています。
学校で2学期の間に深く進行する実際の講義カリキュラムの重要な内容をまとめました。
ゲームの構成原理が気になった方、ゲーム数学の理解を高めたい方に、今回のInflearn講義が良い学習の機会になることを願っています。
ゲームの構成原理
知りたい開発者なら!
効率的なゲーム制作のために
数学の知識を強化したい
ゲーム開発者
ゲームエンジンの基盤となる
ゲーム数学が気になる
プログラマー
ベクトル数学の原理
確かに知りたい
テクニカルアーティスト
この講義は、ゲームの構成原理が気になる開発者を対象に企画されました。
授業を受けた受講生から高校1年生共通課程程度の数学レベルで、ベクトルから遠近投影まで理解するのに大きな困難がないという評価を受けました。ただし、難易度とは別に数学に基づいて安定した3次元システムを構築し、遠近感のある画面を構成するまでの全過程を完全に理解するまでにはかなり長い時間がかかります。
このレッスンは、最下位のシステムである数の公理から始まり、ゲームの仮想空間を構築するプロセスを1つずつ理解するように設計されています。このレッスンを完全に理解したら、それ以降は周りのコードを複製するのではなく、私が必要な式を直接設計し、それを直接実装できるようになります。
ゲーム数学の基礎体力
育てることができます。
講義をすべて完走したら、ゲームエンジンの基盤となる数学を理解し、それを活用できるプログラムをすべて作る能力を備えています。ゲーム制作の過程で、GPUが知って処理する見通し情報補間、三角形クリッピング、銀面除去、デプスバッファなどの細かい機能をすべて直接実装できる理論と実戦能力を備えることができるようになります。
以下は、授業を終えた学生がWinAPIだけを使って自分で作ったサンプルプログラムです。 3Dモデリングファイルを呼び込み、階層構造で構成されたキャラクターを生成し、これを調節するのに必要な数学理論と関連機能を全て自ら実装しました。
ゲームの数学を理解すると、WinAPIだけで3Dグラフィックスアルゴリズムを調整/実装できます。
3段階で学ぶ
ゲーム数学のA to Z!
Part 1 - ゲームを支える基礎数学
最初の部分は線形代数の基礎を教えてくれます。フレームごとにゲームコンテンツを駆動させるレンダリングパイプラインのコアシステムは行列ですが、行列を理解するために必要な基礎数学をすべてまとめてみました。
Part 2 - ゲームコンテンツの制作
パート2では、パート1で学んだ行列の知識に基づいて、実際のゲームコンテンツを構成する要素とベクトルの有用な操作を教えています。パート2で学んだ数学を元に、画面上に効果的に物体を描き出す方法を学習し、これを拡張してゲームエンジンが持つ構造を説明します。
Part 3 - 3次元ゲームのための数学
パート3では、パート2まで学んだゲームエンジンの構造上に3次元グラフィックを実装します。 3次元空間で気にするべき3次元空間の回転、3次元空間の有用な演算である外積の活用法、および遠近投影技法を学習しながら、3次元グラフィックスを実装することを知っておくべき基本内容を学習します。
講義ノートと
理解力を高めてみてください。
ゲームコンテンツの制作原理 - テクスチャマッピング中 この講義は講義ノートと共に行われます。
講義ノートで使用されているさまざまなサンプル画像を通して数学の原理について学習し、システムの基本原理を構成する式を直接一つずつ証明できるようにすべての内容を修飾エディタを使ってまとめておきました。
- 授業を一つずつ聞くたびに、自分の考えをノートに記録しながら、自分で理解して納得できるように、ノートにまとめながら勉強してください。 (個人的にはノッションをおすすめします!)
よくある質問
確認してみてください。
Q. 数学がよく分からないのにこの講義を聞くことはできますか?
基本的に高校1年生共通レベルの基本数学の知識しか持っていなければ、本講義を受講するのに問題ありません。しかし、問題解決ではなく、しっかりとシステムを構築するためには、膨大な内容をすべて丁寧に理解する必要があります。長い時間の間、粘り気を取った授業は自分だけのノートで整理することをお勧めします。
Q.講義でゲームエンジンを学びますか?
ゲームエンジンの構成原理となる数学を扱いますが、アンリアルやユニティなどの商用エンジンの使い方を教えてくれません。
Q. この講義を聞くと楽しいゲームを作ることができますか?
本講義ではゲームを制作しません。ゲームエンジンとレンダリングパイプラインを構成する基礎数学を勉強する講義。
この講義を作った
知識共有者を紹介します。
利得
- 県清江文化産業大学教授
- アンリアル・デブグラント教育部門選定 (2017)
- 元ユニティテクノロジーズ韓国支部取締役/教育エヴァンジェリスト
著書
学習者のためのディスコードサーバー
一緒に見ると、より良い講義を紹介します。
本講義の内容とは少し離れていますが、YouTubeにPBR関連講義もありますので参考にしてみてください。 🙂
聴講が行くと道になります。大学建学理念 青江文化産業大学は南陽アロエ(現ユニベラ)創業者である故イ・ヨンホ先生が自然愛、人間愛、文化愛の教育理念の上に人を愛し、真の愛を育てる崇高な教育理念を実践するために設立した学校です。
www.ck.ac.kr