AY3の6畳細長部屋

DXライブラリとC言語で3Dゲームを作る

DXライブラリとC言語で3Dゲーム制作記録のまとめ。これから3Dゲーム作る人に参考にでもなれば。

※※※注意事項※※※
バグ・不具合は極力無いようにしていますが見落としているバグ・不具合があったりコピペの際に数文字ずれるなどでミスってるものがあるかもしれません。あと「問題なく動けばいい」精神で書いているのでもっとスマートなコードの書き方があるかもしれません。

DXライブラリとは

DXライブラリとはデスクトップアプリの開発に必要になるDirectXやWindows関連のプログラムを使いやすくまとめたライブラリ(※ゲームエンジンではない)。これでDirectXを直接叩く必要がなくなりゲームのプログラミングに専念できるようになる、というもの。C++向けに作られているがC言語だけで大丈夫。AndroidやiOS版もある。DXライブラリ本家はこちら

DXライブラリは無償で提供されていて、ソフトウェアに対するライセンス料なども商法利用問わず発生しないため無料で使用可能(2025年現在)。

開発者は山田巧氏。公開は2001年と歴史が長く、老舗。現在も年に1回更新が入っている。

今だとUnityやUnreal Engineなどもっと便利な開発環境があるもののDXライブラリを使っているユーザは一定数いる。

この辺りが多いだろうか。

ゲーム制作に使われるのがメインだがそれ以外のソフトウェア・アプリなども使われている。DXライブラリで開発されたものはこちら(※基本個人製作のもので企業のゲームの紹介はないです)。

スポンサーリンク

3Dゲームを作ろう

DXライブラリで3Dゲームを作る場合、まず開発環境を整えておく。Visual Studioが一番使用率が高いのでこれを使う。

導入が済んだらガンガンコードを書いていく。

DXライブラリ土台編

キーボード・ゲームパッドでの操作など、3Dゲーム・ジャンルにかかわらずほぼ必要となる機能の実装。下準備といったところで退屈かもしれませんがここで全部整えておくと楽です。

ゲームパッドはXInutを使う前提です(DirectInputだと各社の仕様が違っていてやりにくいので…)。

1-1:キーボードで操作できるようにする

1-2:ファイルを分割してコンパイルする

1-3:シーンの切り替え機能を作る

1-4:選択項目を作る

1-5:フレームレートを固定する

1-6:ゲームパッドで操作できるようにするその1

1-7:ゲームパッドで操作できるようにするその2

1-8:キーコンフィグを実装する

3Dゲームプログラミング基本

ここからは3Dゲーム向けの処理の実装。3Dアクションゲームを作る前提で書いています。もう何項目か追加予定。

2-1:3Dモデルを表示する

2-2:カメラを操作・回転できるようにする

2-3:3Dモデルのアニメーションを再生する

2-4:3Dモデルを動かす

2-5:ジャンプの実装

2-6:大ジャンプ・小ジャンプの実装

2-7:3Dマップとの当たり判定

2-8:敵を実装する

2-9:似た要素をまとめて処理する管理部を実装する

2-10:敵との当たり判定

2-11:画像を表示する(3Dゲーム版)

トラブル対処

ゲーム制作時のトラブル対策まとめ。ブログ主が経験したものに限るので参考にならないかもしれませんが載せておきます。

3-1:コンパイル時に「LNK2019未解決の外部シンボル~」が出たとき

3-2:3Dモデルの表示がうまくいかないとき

そのほか

現在上の区分に当てはまらないもの。シェーダー系は数が揃い次第独立させる予定。

4-1:DxLibModelViewerの使い方(3Dモデルの確認)

4-2:Effekseerで作ったエフェクトを表示させる

4-3:自作のシェーダを使用する

スポンサーリンク

参考にしたサイト一覧

DXライブラリ置き場(DXライブラリ本家サイト)

DXライブラリ置き場 HOME

新・C言語 ~ゲームプログラミングの館~(たまに繋がりにくい場合がある)

新・C言語 〜ゲームプログラミングの館〜 [DXライブラリ]
C言語による、誰でも作れる2Dゲームプログラムから本格的なゲーム作成まで解説。DXライブラリを使い、C言語入門者にも気軽にゲームが作れます。疑問質問は掲示板で気軽に質問して下さい。同時に管理人は四聖龍神録、Aerobeatなどフリーゲームを...

dxライブラリ隠し関数のページ(本家サイトのサンプルコードで使われているのにリファレンスがない関数の確認)

dxライブラリ隠し関数のページ - CCS Wiki
モバイルバージョンを終了