ミニゲーム: 3Dグラフィックテスター
概要
「3Dグラフィックテスター」は、MiniExp MOD に同梱されている WebGL2 ベースの 3D デモ集です。
オブジェクト配置ラボ、レイトレーシング風レンダリング、技術ギャラリーの 3 モードに加え、GPU 情報の表示や簡易ベンチマークを備えています。
ブラウザ単体で動作するよう外部依存はなく、file://
スキームでも利用できます。
起動条件と互換性
- WebGL2 に対応したブラウザと GPU が必須です。初期化に失敗した場合はヘッダーに警告と代替メッセージが表示されます。
- 互換性チェックでは、GPU ベンダー名・レンダラー名・GL/GLSL バージョン・テクスチャサイズ上限などの情報が取得され、ヘッダー右側の情報欄に一覧表示されます。
- WebGL2 が無効の場合でもページは読み込まれますが、描画領域は利用できず操作ボタンも機能しません。ブラウザの設定で WebGL2 を有効化してください。
画面構成
- ヘッダー: モジュールタイトルと「WebGL2」「Ray Marching」「Benchmark」のバッジ、および GPU 情報ブロックを表示します。
- メイン領域: 左側に操作パネル、右側に描画キャンバスが並ぶ 2 カラム構成です。キャンバス上には FPS とデモ固有統計がオーバーレイ表示されます。
- ログパネル: 画面下部のログビューに操作結果やエラー、ベンチマーク結果が時刻付きで追記されます。
基本操作
カメラ操作
- キャンバス上でドラッグすると軌道カメラの角度(θ/φ)を回転できます。
- ホイール操作でズーム距離を調整します(最小 4 〜 最大 40 ユニット)。
- オブジェクトラボと技術ギャラリーの両モードで共通のカメラ挙動が適用されます。
デモ切り替え
操作パネル上部のセレクタからデモを選択します。切り替え時にはログに切り替え履歴が記録され、選択中のモードに合わせて下部の操作 UI が入れ替わります。
各デモの詳細
オブジェクトラボ
- 初期状態でキューブ・スフィア・シリンダーが 6 体ずつ配置され、自動回転が有効になっています。
- 「キューブ追加」「スフィア追加」「シリンダー追加」ボタンでランダムな位置・回転・スケール・色のメッシュを追加できます。
- 「全削除」で配置をリセットし、デフォルトシーンを再生成します。
- オート回転チップで回転処理のオン/オフを切り替えられます。状態変更はログにも記録されます。
- ベンチマーク実行中は毎フレーム最大 8 個のキューブが自動追加され、6 秒後に平均 FPS と描画オブジェクト数がレポートされます。
レイトレーシング風デモ
- フルスクリーンクアッドを用いたレイマーチングのシェーダデモです。
- 「反射回数」スライダーで 1 〜 6 の整数バウンス数を指定できます。
- 「露光」スライダーで 0.4 〜 2.2 の範囲を 0.1 刻みで調整し、発光量の感度を変更します。
技術ギャラリー
- ライト付きの立方体・球体・シリンダーを組み合わせ、リング状インスタンシングや動的モーションブラー風エフェクトを可視化します。
- モーション軌跡は 24 セグメントで保持され、時間経過に応じてフェードアウトします。
- 別途の設定項目はなく、カメラ操作で視点を動かしながら演出を観察します。
ベンチマークの利用方法
- 操作パネル下部の「6秒間ベンチマーク開始」ボタンを押します(自動的にオブジェクトラボへ切り替わります)。
- 処理が始まるとログに開始メッセージが追加され、6 秒間で大量のキューブが追加生成されます。
- 終了時には平均 FPS と最終的なオブジェクト数がログへ出力されます。MiniExp 連携時は FPS 値に応じた経験値ボーナスが付与されます。
オーバーレイとログの読み方
- オーバーレイの 1 行目は現在の FPS(小数第 1 位)です。
- 2 行目はモードに応じた統計を表示します。オブジェクトラボでは配置オブジェクト数、レイマーチングでは反射回数、ギャラリーでは固定テキストです。
- ログパネルは
[時刻] メッセージ
形式で追記されます。スクロールは自動で最新行に追従します。
トラブルシューティング
- WebGL2 初期化に失敗する場合は、ブラウザの WebGL 設定または GPU ドライバを確認し、対応ブラウザで再試行してください。
- 極端に低い FPS が出る場合は、オート回転を停止し、オブジェクト数を減らすか、レイトレーシング風モードで反射回数と露光を抑えてください。
- リサイズ時に描画が崩れた場合は、ウィンドウサイズを戻すかモジュールを再読み込みし、必要ならベンチマークを再走行して GPU 負荷を再確認します。