Wonderland Engine 1.4.0 - GI Probe Volumes, Reverse-Z, Array Properties
疎なグローバルイルミネーションプローブボリューム、Reverse-Z、カスタムコンポーネント用の新しいパラメータタイプ(配列とレコード)。完全な変更履歴はこちらをご覧ください。
疎なグローバルイルミネーションプローブボリューム
このリリースの目玉は最新のプローブボリュームの実装です。我々の手法では、シーンをボクセル化し、球面調和拡散光プローブをシーン内に配置します。この手法により、GPUやダウンロード時間の負担を軽減し、必要に応じてプローブを配置し、データを効率よく利用します。
プローブはエディターから直接ベイクされ、動的およびスキン付きオブジェクトにも間接照明が適用されます。
上記のシーンには約52,000個のプローブがあり、約2.5MBのダウンロードGIデータに相当します。
Reverse Z
この機能はPlaykoのスポンサーシップにより実現しました。

32ビット浮動小数点数がゼロに近い部分でより高精度を持つため、通常のNDC座標の精度範囲(射影の結果)は-1から1の間で最適ではなく、近接および遠隔距離で強いzファイティングのアーティファクトを生じることがあります。非常に近いまたは遠いクリッピングプレーン距離の設定はこの効果を増幅します。
Reverse-ZはNDC空間と射影行列を構成し、32ビット浮動小数点の精度分布を最適に利用するようにし、通常のzファイティングのアーティファクトなしに非常に近接または非常に遠方のオブジェクトをレンダリングできるようにします。
常にSIMD
WebAssembly SIMDの広範な普及により、ランタイムの非SIMDバリアントを全て削除できました。これにより、-simd
のサフィックスはもはや使用されず、ランタイム名において暗黙の了解となります。
1.0.0以前のプロジェクトのサポート
ほぼ2年前にWonderland Engine 1.0.0がリリースされたとは信じ難いことです。
1.4.0では、バージョン1.0.0未満で書かれたプロジェクトファイルを更新する38の個別のプロジェクトファイル移行を削除しました。これほど多数の移行が必要だったことは、我々が後方互換性をどれほど真剣に考えているかの明確な証です。
1.0.0未満のプロジェクトファイルを1.4.0で引き続き使用したい場合は、1.3.4またはそれ以前のバージョンのWonderland Engineで開いて、まず1.0.0以降のバージョンに移行してください。
変更履歴
エディター
- プロジェクト設定に新しいグローバルイルミネーションセクションを追加し、プローブボリュームを作成および設定。
- 削除されたシーンファイルのインポートにより、古いファイル内容がインスタンス化される問題を修正。
- リソースビュー > 画像で、画像圧縮品質とレート歪み最適化(RDO)の設定を公開。
- Linux: クラッシュレポートを有効化。
- パスワードマネージャーのアクセスのために、ブラウザからログインするようにエディター内のログイン画面を改善。
- 各種クラッシュを修正。
エンジン
EXT_clip_control
が利用可能な場合はReverse-Zを使用。- 疎なGIプローブボリュームによる新しいベイク済みグローバルイルミネーション。
- Androidの低スペックデバイスで問題を引き起こす、低精度浮動小数点数向けのEPSILON_F定数の問題を修正。
- meshoptimizer 0.23にアップデート(メッシュのファイルサイズが約5-10%改善の可能性)。
- プラグインのホットリロードでプラグインエントリがプラグインビューに追加される可能性がある問題を修正。
- 低スペックデバイスでのタイルフィードバックバッファの評価を最適化。
- ポイントライトシャドウのアーティファクトを修正。
ランタイム
- WebAssemblyランタイムの非SIMDバリアントを削除。
- ImageBitmapを用いた非圧縮テクスチャのアップロードを最適化。
- ImageBitmapからテクスチャへのアップロードを許可。
ランタイムAPI
Property.array()
およびProperty.record()
を追加。
Dockerイメージ
- ベースイメージをUbuntu 20.04から22.04に変更。
プラグインAPI
- プラグインの
package.json
に"wonderlandengine"
キーが必要になりました。 - 実験的な
tools.computeMeshBounds(mesh)
を追加。 ui.inputTextMultiline()
を追加。