Clausewitzy用にtgaテクスチャを一括で変換するやつ
- Digital0 JPY


# Clausewitzy用にtgaテクスチャを一括で変換するやつ ## 1. はじめに 本ツール は、 _diffuse _specular _metallic _normal _gross _emission の接尾詞を持つTGAのテクスチャをD&Dするだけで Clausewitzyエンジン用の * Normal * Specular * Diffuse へ一括で変換する為のツールです。 --- ## 2. 動作環境 ### 対応OS * Windows 10 / 11 ### 必須ソフトウェア * Python 3.x * texconv.exe(DirectXTex)※ DDS 出力時のみ microsoftのgithubから入手して下さい。 https://github.com/microsoft/DirectXTex/wiki/texconv ### 使用ライブラリ * PySide6 * Pillow * NumPy --- ## 3. インストール方法 ### 3.1 必要ファイルの準備 以下のファイルを **同一フォルダ** に配置してください。 ``` AutoNormalSpecularComposer/ ├─ main_gui.py ├─ config.json (初回起動時に自動生成されても可) ├─ requirements.txt ├─ start_windows.bat (任意) ``` --- ### 3.2 Python のインストール 1. 以下の公式サイトから **Python 3.x(64bit)** をダウンロードします。 2. インストーラ起動時に **"Add Python to PATH" に必ずチェック** を入れてください。 3. インストール完了後、コマンドプロンプトで以下を確認します。 ``` python --version ``` バージョンが表示されれば正常です。 --- ### 3.3 必要ライブラリのインストール プロジェクトフォルダで、以下のコマンドを実行します。 ``` pip install -r requirements.txt ``` 正常に終了すれば、GUI 実行に必要なライブラリが揃います。 --- ### 3.4 texconv.exe の準備(DDS 出力を使う場合) DDS 出力を行う場合のみ必要です。 1. Microsoft の DirectXTex から `texconv.exe` を入手します 2. 任意の場所に配置します(例:ツールフォルダ内) 3. 起動後、Settings 画面で `texconv.exe` のパスを指定します ※ TGA 出力のみの場合、この手順は不要です。 --- ### 3.5 起動方法 以下のいずれかで起動します。 #### 方法A:コマンドライン起動 ``` python main_gui.py ``` #### 方法B:bat ファイル起動(Windows) ``` start_windows.bat ``` ウィンドウが表示されれば起動成功です。 --- ## 4. 入力ファイルのルール ### 対応形式 * `.tga` のみ ### 必須テクスチャ(5枚) 以下の **接尾詞(suffix)** を持つファイルが必須です。 ``` *_emission.tga *_gross.tga *_metallic.tga *_normal.tga *_specular.tga ``` ### 任意テクスチャ(1枚) ``` *_diffuse.tga ``` ※ ファイル名の先頭(ベース名)はすべて同一である必要があります。 --- ## 4. 基本操作 ### 4.1 起動 `main_gui.py` を実行するとメインウィンドウが起動します。 --- ### 4.2 ファイルの読み込み 以下のいずれかの方法で TGA ファイルを読み込みます。 * 画面中央の枠に **ドラッグ&ドロップ** * 「Browse…」ボタンから複数ファイル選択 読み込まれると、必須ファイルの有無が自動チェックされます。 * 必須5枚が揃っていない場合: * ステータス表示:`不足あり(必須5枚)` * Compose ボタン:無効 * 必須5枚が揃った場合: * ステータス表示:`OK(必須5枚揃い)` * Compose ボタン:有効 --- ### 4.3 出力フォルダの指定 * 「Output Dir…」ボタンから任意の出力先を指定可能 * 未指定の場合は **入力ファイルと同じフォルダ** が自動的に使用されます --- ## 5. Settings(設定) ### 5.1 texconv.exe の指定 DDS 出力を行う場合は、`texconv.exe` のパスを指定してください。 * 「Browse」ボタンで選択可能 * 設定内容は `config.json` に保存されます --- ### 5.2 DDS オプション | 項目 | 内容 | | ---------------- | --------------------------- | | Format | BC1 / BC3 / BC4 / BC5 / BC7 | | sRGB | sRGB フラグの有効/無効 | | Generate Mipmaps | ミップマップ生成の有無 | --- ### 5.3 出力形式 | チェック | 動作 | | ---------- | --------- | | Export TGA | TGA 形式で出力 | | Export DDS | DDS 形式で出力 | ※ いずれか一方、または両方を選択可能 --- ## 6. Compose(合成処理) 「Compose」ボタンを押すと、以下の処理が実行されます。 ### 6.1 サイズの統一 * `_normal` テクスチャを基準サイズとします * 他のテクスチャは自動的にリサイズされます --- ### 6.2 Normal テクスチャの合成ルール | チャンネル | 内容 | | ----- | ------------------- | | R | normal の R | | G | normal の R | | B | emission の輝度(RGB→Y) | | A | normal の G | --- ### 6.3 Specular テクスチャの合成ルール | チャンネル | 内容 | | ----- | --------------- | | R | 0(黒) | | G | specular の R | | B | metallic の R | | A | 255 - gross の R | --- ### 6.4 Diffuse(任意) * `_diffuse.tga` が存在する場合 * サイズを合わせた上で、そのまま出力されます --- ## 7. 出力結果 ### 出力ファイル名例 ``` <basename>_normal.tga / .dds <basename>_specular.tga / .dds <basename>_diffuse.tga / .dds(任意) ``` ### 完了時 * ログ欄に保存されたファイルパスが表示されます * ダイアログで完了通知が表示されます --- ## 8. エラーについて ### よくあるエラー * texconv.exe が未設定/存在しない * 必須5枚の TGA が揃っていない * 出力形式が未選択 エラー発生時は、詳細がダイアログおよびログ欄に表示されます。 --- ## 9. 注意事項 * 入力は必ず `.tga` 形式を使用してください * suffix(_normal など)は正確に付与してください * texconv.exe は **DDS 出力時のみ必須**です ---

