設定ファイル¶
このアプリケーションは、YAML 形式の設定ファイルによっていくつかの挙動変更が可能です。
設定ファイルで設定できる項目は、環境変数でも設定が可能です。該当する設定が環境変数でも設定されている場合、環境変数の値が優先されます。
設定ファイルのパス¶
このアプリケーションは、既定では実行ファイルと同じ階層の data フォルダにある config.yml を設定ファイルとして使用します。
📂
| 📦 splashscreen-changer.exe
\- 📂 data
\- 📄 config.yml
環境変数 CONFIG_PATH を使用することで、設定ファイルのパスを変更することができます。詳しくは 環境変数 ページをご覧ください。
設定項目¶
設定ファイルでは、以下の設定変更が可能です。
sourcepath: スプラッシュスクリーンのもととするファイルが格納されたフォルダパスrecursive: 深いフォルダにある画像ファイルも対象とするか
destinationpath: スプラッシュスクリーンの反映先(アプリケーションフォルダ)のパスwidth: リサイズ・クロップ後の画像横幅height: リサイズ・クロップ後の画像縦幅
各設定項目を示すとき、source.path のようにピリオドで区切った形で表現することがあります。
source.path¶
| 必須か | デフォルト値 | 環境変数 |
|---|---|---|
| いいえ | 動的に設定 | SOURCE_PATH |
スプラッシュスクリーンのもととするファイルが格納されたフォルダパスを設定します。ソースフォルダと呼びます。
アプリケーションは、このフォルダにある PNG ファイルをランダムで選択・取得し、スプラッシュスクリーンとして設定します。
この引数はオプションで、以下のフローでフォルダパスが決定されます。以下のフローで決定できない場合、アプリケーションはエラーを出力し、異常終了します。
- 環境変数
SOURCE_PATH - 設定ファイル
source.path - ユーザーフォルダの Pictures フォルダ内、VRChat フォルダ
source.recursive¶
| 必須か | デフォルト値 | 環境変数 |
|---|---|---|
| いいえ | true |
SOURCE_RECURSIVE |
ソースフォルダで PNG ファイルを選択・取得する際、深いフォルダにある画像ファイルも対象とするかを設定します。
この設定値を true (有効) にすると、以下のツリーのうちすべての PNG ファイルが対象となります。false (無効) にすると、shallow.png のみが対象になります。
📂
| 🖼️ shallow.png
\- 📂 folder1
\- 🖼️ deep.png
\- 📂 folder2
\- 🖼️ deeper.png
\- 📂 folder2
\- 🖼️ deepest.png
destination.path¶
| 必須か | デフォルト値 | 環境変数 |
|---|---|---|
| いいえ | 動的に設定 | DESTINATION_PATH |
スプラッシュスクリーンファイル SplashScreen.png を格納するアプリケーションのフォルダパスを設定します。宛先フォルダと呼びます。
指定されたパスのフォルダには、EasyAntiCheat フォルダが存在する必要があります。
この引数はオプションで、以下のフローでフォルダパスが決定されます。以下のフローで決定できない場合、アプリケーションはエラーを出力し、異常終了します。
- 環境変数
DESTINATION_PATH - 設定ファイル
destination.path - Steam ライブラリフォルダの中で、VRChat がインストールされているフォルダ
destination.width¶
| 必須か | デフォルト値 | 環境変数 |
|---|---|---|
| いいえ | 800 |
DESTINATION_WIDTH |
スプラッシュスクリーンファイル SplashScreen.png の横幅を設定します。
この設定項目の値と、destination.height の値から、選択された画像を自動的にクロップ・リサイズします。具体的な挙動については、後述する「クロップ・リサイズの仕様」をご覧ください。
destination.height¶
| 必須か | デフォルト値 | 環境変数 |
|---|---|---|
| いいえ | 800 |
DESTINATION_HEIGHT |
スプラッシュスクリーンファイル SplashScreen.png の縦幅を設定します。
この設定項目の値と、destination.width の値から、選択された画像を自動的にクロップ・リサイズします。具体的な挙動については、後述する「クロップ・リサイズの仕様」をご覧ください。
log.path¶
| 必須か | デフォルト値 | 環境変数 |
|---|---|---|
| いいえ | logs/ |
LOG_PATH |
ログファイルの出力先フォルダパスを指定します。
指定しない場合、実行ファイルと同じ階層の logs フォルダに yyyy-MM-dd.log 形式で出力します。
クロップ・リサイズの仕様¶
選択された画像は、設定ファイルで指定された destination.width と destination.height の値に基づき、自動的にクロップおよびリサイズされます。
1. アスペクト比の計算¶
元の画像の幅と高さからアスペクト比を計算します。同様に、指定された幅と高さから目的のアスペクト比を計算します。
2. 画像のクロップ(切り取り)¶
元の画像と目的のアスペクト比が異なる場合、画像の中心を基準に余分な部分を切り取ります。
- 横長の画像の場合: 左右の端を切り取ってアスペクト比を調整します。
- 縦長の画像の場合: 上下の端を切り取ってアスペクト比を調整します。
3. 画像のリサイズ¶
クロップされた画像を、指定された destination.width と destination.height のサイズにリサイズします。
この一連の処理により、スプラッシュスクリーンに最適なサイズとアスペクト比の画像が生成されます。
設定ファイルのサンプル¶
設定ファイルのサンプルファイル を用意しています。