テーマ
Turian の Studio と出荷されるゲームは、1つの GUI レイヤー(DVUI、内部的には「Guinevere」と呼ばれています)と、その上にある1つのテーマシステムを共有しています。.uitheme アセットは色と角の丸みを記述します。同じアセットを、Studio 自身のクロームとして選択することも、ビルドされたゲームが UI を起動する際のテーマとして選択することもできます。
.uitheme アセット
.uitheme ファイルは JSON です。以下をカバーします:
- 基本色:
fill、fill_hover、fill_press、text、text_hover、text_press、border、focus、およびdarkフラグ。 - 7つのスタイルグループ、それぞれが役割に対して基本色を上書きします:
control(ボタン)、window(ルートキャンバスとタブストリップ)、highlight(選択/メニュー項目)、err(破壊的なアクション)、app1(ドックパネル本体のクローム——下記参照)、そしてapp2/app3(プロジェクト固有の用途のために予約)。 corner——デフォルトのウィジェットの角の種類(square/round/chamfer/…)と半径。panel_border_width——論理ピクセル単位でのドックパネルの境界線の太さ。テーマはデフォルトのままにするか、0に設定してパネルの境界線を完全に非表示にできます。font_family——オプションの推奨フォントファミリー名(すでに読み込まれている必要があります——下記のフォントを参照)。空の場合はベーステーマのフォントを維持します。
window(ルートキャンバスとタブストリップ)と app1(ドックパネル本体)には、すべての組み込みプリセットで意図的に異なる塗り/境界線の色が割り当てられています。これにより、残りのクロームに溶け込むのではなく、パネルの境界が一目でわかるようになっています。
フォントのサイズは意図的に .uitheme の一部ではありません——テーマを切り替えるたびに変わってしまわないように、独立した Studio 全体の設定のままです(下記のフォントサイズとズームを参照)。
アセットブラウザから作成します:右クリック → Create → UI/Theme → 5つの組み込みプリセットのいずれか(その後編集する出発点)、または既存の .uitheme アセットをダブルクリックしてインスペクターエディターを開きます——役割ごとのカラーピッカーとライブプレビューパネル付きです。
組み込みプリセット
エンジンには5つのテーマが同梱されており、プロジェクトを開いていなくても常に利用可能です:Dark、Light、Dark High Contrast、Darcula、Catppuccin。
Studio のテーマ、フォントサイズ、ズーム
Studio 自体の見た目を制御する、同等の2つの場所があります:
- Settings → UI——Theme ドロップダウン、Font Size と Zoom のスライダー、Import/Export ボタン、その下の System Font ピッカーを持つパネル。変更は Save で適用されます。
- View → Theme——別途の Save ステップなしで素早く変更できるメニュー。テーマ項目にカーソルを合わせると即座にプレビューされます(カーソルを外す、またはクリックせずにメニューを閉じると、実際に選択されていたものに戻ります)。項目をクリックすると、選択して即座に永続化されます。ここの Font Size と Zoom のスライダーも、ホバープレビューのステップなしで即座に適用・永続化されます。
どちらも同じ Studio 全体の設定に書き込まれ、~/.turian/settings.json / <project>/.turian/settings.json に保存されます——これは特定のプロジェクトの .uitheme アセットとは独立しています。
ズーム(0.7×–1.5×)は、OS のディスプレイスケーリングの上にボタン/タブ/メニューのクロームをスケールしますが、意図的にテキストのレンダリングサイズは変更しません——Font Size(8–20)は、クロームがどれだけズームされているかに関わらず、読みやすいサイズを調整できる独立した絶対的な設定です。
インポートとエクスポート
Studio は、特定のプロジェクトから独立したグローバルフォルダー ~/.turian/themes/ にユーザーテーマを保持します。Import Theme…(テーマドロップダウンの隣)は、ディスク上のどこからでも .uitheme ファイルをそのフォルダーにコピーし、すぐにドロップダウンで利用可能にします。Export Theme… は、現在選択されているテーマを、プロジェクトの外で共有またはバージョン管理できるファイルに書き出します。
フォント
.uitheme は、font_family を介してフォントファミリーを提案できます(Settings → UI またはテーマのインスペクターエディター)。これはベストエフォートで適用されます——そのファミリーが読み込まれていない場合、dvui は静かにフォールバックします。
本当に組み込まれていないファミリーには、Settings → UI → System Font → Browse… を使用して、OS のファイルダイアログを通じて到達可能な任意の .ttf/.otf ファイルを選択します(実際には、これが Windows、macOS、Linux でインストール済みのシステムフォントに到達する方法です)。これは、どの .uitheme がアクティブかに関わらず、クリアされるまですべてのテーマのフォントを上書きします。
出荷されるゲームのテーマ
プロジェクトのプロジェクト設定には、Boot の下に .uitheme アセットの GUID を保持する UI Theme フィールドがあります。設定されている場合、ビルドされたゲームは起動時にそのテーマを読み込み、OS のライト/ダークのデフォルトの代わりにそのテーマで UI を起動します——Studio 自体が使用するのとまったく同じアセット形式と色解決コードなので、.uitheme インスペクタープレビューで見えるものが、出荷されるものと一致します。
今日の動作を維持するには、空のままにしてください:ゲームはテーマの上書きなしで OS のライト/ダーク設定に従います。