🛠️

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

に公開

はじめに

自身初となるオープンソースソフトウェア (OSS) を公開しました。
Unity ライクな DirectX 用ゲームフレームワーク「UniDx」です。

リポジトリはこちら👇
https://github.com/nittamas/UniDx.git

簡単な紹介と制作経緯を記します。

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:
https://apps.apple.com/app/id6473955035
Android - Google Play Store:
https://play.google.com/store/apps/details?id=com.Nittam.Cave

Discussion