Bブログ

Deki 0.30.3: 3D、ライト、Miyoo Mini

ボードとデスクトップで動く 3D、2D と 3D 共通のライトと GPU の影、HLSL シェーダー、そして新しい携帯機 Miyoo Mini。

投稿日
著者
Jai
読了
約 4 分
エディターのプレイビューに映る Sponza: 赤、緑、青の垂れ幕がある、照らされた石の回廊。

3D

新しい deki-3d パッケージは、2D と同じフレームに同じソート順でメッシュを描きます。UI は 3D シーンの上にも、ほかの画面と同じように置けます。

  • ボード上ではソフトウェアラスタライザーです。タイル単位で描くので、深度バッファーは 1 タイル分で済みます。32 ピクセルなら 2 KB で、320x240 全体の 150 KB ではありません。
    • T-Deck で 2,000 三角形のテクスチャー付き回廊: 毎秒 20 フレーム。
    • 82,000 三角形の Sponza も T-Deck で毎秒 1.3 フレームで動きます。
    • Miyoo Mini では 6,000 三角形のシーンが 60 フレームを保ちます。
  • デスクトップでは OpenGL で描き、影とシェーダーが使えます。
  • モデルは .obj ファイルから、サイズの制限なく読み込めます。各プラットフォームのビルドが残す三角形の割合 (詳細度) を決められ、テクスチャーはそのプラットフォーム向けの画像の設定に従います。モデルがボードのメモリーに収まらないときは、ボードのビルドが止まります。
  • カメラは投影が透視投影のときにメッシュを描きます。

deki-3d は実験的です。プロパティとファイル形式はまだ変わることがあります。

ライト

1 つの Light コンポーネントが、メッシュと 2D の世界の両方を照らします。種類は環境光、ディレクショナル、ポイント、スポットで、色と強さを持ちます。

  • ボード上の 2Dは CPU で照らすので、T-Deck でも光だまりや夜のシーンが作れます。段階を 2〜8 にすると、ディザ付きのくっきりした輪になり、ピクセルアートらしい見た目になります。
  • デスクトップの 2Dは GPU でピクセルごとに照らします。
  • カメラの「照らすソート順の上限」設定で、UI を光の外に置けます。
  • GPU の影: 1 フレームでディレクショナルかスポットのライト 2 つまでが影を落とします。OpenGL のないボードは影なしでライトを描画し、ビルドがどのライトかを示します。
  • Light のないゲームは、ライトにメモリーを使いません。

シェーダーと GPU

  • HLSL シェーダー。 メッシュに付けた .shader で色を決め (Shade())、草や水のように頂点を動かすこともできます (Displace())。画面エフェクトはフレーム全体にシェーダーをかけます。
  • デスクトップでは 2D も GPU で: スプライト、テキスト、図形がフレームに直接描かれます。
  • プラットフォームごとのテクスチャーフィルター: 画像ごとにポイント、バイリニア、トライリニアを選べます。GPU のないボードはポイントで描画し、インスペクターがそう示します。

Miyoo Mini

新しい deki-miyoo-boards パッケージは、Miyoo Mini 向けにゲームをビルドし、SD カードにインストールします。純正ファームウェアでも Onion でも使えます。

Onion OS の Miyoo Mini で動く 3D
  • 320x240 の ARGB8888 を、パネルに 2 倍で表示します。
  • 6,000 三角形の 3D シーンが毎秒 60 フレーム、13,000 三角形のシーンが安定して 30 フレーム。
  • MENU でゲームを終了します。

Onion で確認済みです。純正ファームウェアはまだ確認していません。サウンド、バッテリー、明るさはこのバージョンにはありません。

そのほかの新機能

  • プロジェクト名の変更: Project Settings > Project > Name で変えられます。
  • ビルドエラーが失敗したものを示します: パッケージ、プロジェクトのコード、エンジンのどれか。
  • デスクトップのターゲットは「Desktop」になりました。 Windows、Linux、macOS 向けに、ゲームの PC 版をビルドします。
  • Tactility: サウンドと、USB や Wi-Fi でのインストール。 実験的です。ビルドはできますが、まだデバイス上で動くのは確認していません。
  • プログラムとして動くゲームは、エンジン自身の main() から始まります。 デスクトップも Miyoo Mini も同じで、終了時にすべてのメモリーを解放します。

アップデート

0.22 で作ったプロジェクトを開くと、まずアップグレードするかを尋ねます。アップグレードでは、プロジェクト自身のファイルにある desktop-os を hosted に、SIMULATOR を DEKI_HOSTED に名前を変えます。シーンとアセットには触れず、すべての変更はバージョン管理で確認できます。キャンセルすればプロジェクトはそのままです。

パッケージはそのままでも動きます。更新するには、Package Manager か DekiEditor --packages-update all <project> を使ってください。

パッケージの作者向け: 0.22 でビルドしたパッケージは再ビルドされます (リフレクション ABI 23)。

変更履歴 ·エディターをダウンロード

Sponza: Frank Meinl (Crytek)、Marko Dabrovic のオリジナルに基づく。Morgan McGuire の Computer Graphics Archive より (CC BY 3.0)。

← すべての記事