DXライブラリとC言語で3Dゲーム制作記録のまとめ。これから3Dゲーム作る人に参考にでもなれば。
※※※注意事項※※※
バグ・不具合は極力無いようにしていますが見落としているバグ・不具合があったりコピペの際に数文字ずれるなどでミスってるものがあるかもしれません。あと「問題なく動けばいい」精神で書いているのでもっとスマートなコードの書き方があるかもしれません。
DXライブラリとは
DXライブラリとはデスクトップアプリの開発に必要になるDirectXやWindows関連のプログラムを使いやすくまとめたライブラリ(※ゲームエンジンではない)。これでDirectXを直接叩く必要がなくなりゲームのプログラミングに専念できるようになる、というもの。C++向けに作られているがC言語だけで大丈夫。AndroidやiOS版もある。DXライブラリ本家はこちら。
DXライブラリは無償で提供されていて、ソフトウェアに対するライセンス料なども商法利用問わず発生しないため無料で使用可能(2025年現在)。
開発者は山田巧氏。公開は2001年と歴史が長く、老舗。現在も年に1回更新が入っている。
今だとUnityやUnreal Engineなどもっと便利な開発環境があるもののDXライブラリを使っているユーザは一定数いる。
- C++やC#はわからないがC言語はある程度わかる人
- Unityなどは便利すぎて逆にコーディング力が身につかないのであえてDXライブラリで鍛える
- 意地でもライセンス料を避けたい
この辺りが多いだろうか。
ゲーム制作に使われるのがメインだがそれ以外のソフトウェア・アプリなども使われている。DXライブラリで開発されたものはこちら(※基本個人製作のもので企業のゲームの紹介はないです)。
3Dゲームを作ろう
DXライブラリで3Dゲームを作る場合、まず開発環境を整えておく。Visual Studioが一番使用率が高いのでこれを使う。
導入が済んだらガンガンコードを書いていく。
DXライブラリ土台編
キーボード・ゲームパッドでの操作など、3Dゲーム・ジャンルにかかわらずほぼ必要となる機能の実装。下準備といったところで退屈かもしれませんがここで全部整えておくと楽です。
ゲームパッドはXInutを使う前提です(DirectInputだと各社の仕様が違っていてやりにくいので…)。
1-1:キーボードで操作できるようにする
1-2:ファイルを分割してコンパイルする
1-3:シーンの切り替え機能を作る
1-4:選択項目を作る
1-5:フレームレートを固定する
1-8:キーコンフィグを実装する
3Dゲームプログラミング基本
ここからは3Dゲーム向けの処理の実装。3Dアクションゲームを作る前提で書いています。もう何項目か追加予定。
2-1:3Dモデルを表示する
2-4:3Dモデルを動かす
2-5:ジャンプの実装
2-6:大ジャンプ・小ジャンプの実装
2-7:3Dマップとの当たり判定
2-8:敵を実装する
2-10:敵との当たり判定
2-11:画像を表示する(3Dゲーム版)
トラブル対処
ゲーム制作時のトラブル対策まとめ。ブログ主が経験したものに限るので参考にならないかもしれませんが載せておきます。
3-1:コンパイル時に「LNK2019未解決の外部シンボル~」が出たとき
そのほか
現在上の区分に当てはまらないもの。シェーダー系は数が揃い次第独立させる予定。
4-1:DxLibModelViewerの使い方(3Dモデルの確認)
4-3:自作のシェーダを使用する
参考にしたサイト一覧
DXライブラリ置き場(DXライブラリ本家サイト)
新・C言語 ~ゲームプログラミングの館~(たまに繋がりにくい場合がある)
dxライブラリ隠し関数のページ(本家サイトのサンプルコードで使われているのにリファレンスがない関数の確認)
コメント