オープンソースソフトウェア「UniDx」の公開

はじめに
自身初となるオープンソースソフトウェア (OSS) を公開しました。
Unity ライクな DirectX 用ゲームフレームワーク「UniDx」です。
リポジトリはこちら👇
簡単な紹介と制作経緯を記します。
UniDx の用途
- DirectX 入門(特に Unity 経験者)
- ゲームフレームワークの構造理解に役立てるため
- フレームワーク作成の参考・たたき台として
このまま本格的なゲームを作れるほどではありませんが、ちょっとしたゲームを作ってみても良いし、フレームワークのソースを読んで、低レベル層への理解やフレームワーク作成の手助けになればと思います。
特徴
執筆時点ではアニメーションのサポートがまだですが、
- GameObject、Component、Transform、Behaviourなど、Unity でおなじみの階層構造
- ライト、テクスチャ、マテリアル、シェーダーの利用
- glTFモデルやプリミティブ描画
- 簡易的な物理エンジンとRigidbody
- テキスト表示
等々をサポートしていながら、比較的コンパクトで理解しやすいコードになっています。
エディタはありませんが、簡単なソースコードでシーンを作れるようにしています。

そのほかの詳細はリポジトリの README をご確認ください。
公開経緯
ゲーム作りに忙しい毎日ですが、これは専門学校で教えている内容の副産物のようなものです。
C++の授業で、DirectX を使って三角形を描画することから始めたのですが、もっと具体的なノウハウ(例えばコリジョンの計算方法や、シェーダーを書くなど)を教えるには、前提となる環境がないとなかなか厳しいと思いました。
そこで、授業のトピックごとに必死で基本機能を整えていったら、フレームワークっぽくなりそうだったので、せっかくだからOSSとして公開してみようと思いました。
サンプルモデル
OSSのサンプルでは、ゲームっぽいものを動かしたいと思いました。
権利的に問題ないものを引っ張ってきても良いのですが、せっかくなので自作モデルをつけてみようということで、自分のゲーム『求む!洞窟探検家』に登場した「エマ博士」をデフォルメした「ミニエマ」ちゃんを付属しました。

こちらは、クリエイティブ・コモンズ (CC BY-SA) に従って利用可能としています。
今後の展開
もう少しゲーム制作に必要な部分は整えたいと考えています。
具体的には、アニメーション(スキニング)や物理演算の効率化など。
ただし、フレームワークの読みやすさは重視したいので、あまり複雑になりすぎないようにしていきたいですね。
レスポンスは遅いかもしれませんが、OSSなので Pull Requestなどコントリビューションも歓迎です!
宣伝
〜 私たちと洞窟調査をしませんか? 〜
新体験2.8Dアドベンチャー
『求む!洞窟探検家』
好評配信中!
iOS - App Store: Android - Google Play Store:
Discussion