﻿DCS Skin Viewer 使い方
========================

DCS World のリバリー（塗装）制作を手伝う、手元のPCで動く3D・UVビューアーです。
画像編集ソフトでリバリーの画像を保存すると自動で読み直し、変わった場所を
2Dの画像と3Dの機体の両方に色付きで表示します。

本ツールは非公式です。Eagle Dynamics SA が作成・サポートするものではありません。
THIS MATERIAL IS NOT MADE OR SUPPORTED BY EAGLE DYNAMICS SA.


■ 必要なもの
- Windows 10 / 11（64bit）
- DCS World がインストールされていること
- WebGL2 に対応したブラウザー（Chrome または Edge の最新版）
- メモリに余裕のあるPC（4K画像を十数枚監視すると、ブラウザーが合計で5GB前後のメモリを使うことがあります）

Python などを別にインストールする必要はありません。


■ 起動と終了
1. zip を好きな場所に展開します（日本語や空白を含むフォルダでもかまいません）。
2. 展開したフォルダの「DCSSkinViewer.cmd」をダブルクリックします。
   黒いウィンドウが開き、ブラウザーに設定画面が表示されます。
   セキュリティの警告が表示された場合は、発行元とファイル名を確認してから「実行」を選びます。
3. 終了するときは、黒いウィンドウを閉じます。

もう一度「DCSSkinViewer.cmd」を開くと、起動中の画面をブラウザーで開き直します。


■ 使い方
1. 「DCSとSaved Games」
   DCS のインストール場所と Saved Games の DCS フォルダは自動で探します。
   違う場合は「別のフォルダを選ぶ…」で指定してください。
2. 「機体」で機体を選びます。
3. 「リバリー」でリバリーを選びます。
   - 「Saved Games」と付いたものは、自分の Saved Games\DCS\Liveries にあるリバリーです。
   - 「DCS」と付いたものは DCS 標準のリバリーです。
   自分で塗るときは、元にするリバリーのフォルダを Saved Games\DCS\Liveries\<機体名> に
   コピーしてから使うことをおすすめします。
4. 「保存監視」を選びます。
   - 「このリバリーのフォルダを監視する」: Saved Games のリバリーを選ぶと最初からこれになります。
   - 「別のフォルダを監視する」: 書き出し用のフォルダを分けている場合に選びます。
   監視フォルダに保存された DDS / PNG は、拡張子を除いたファイル名が同じ画像に割り当てられます。
5. 「開く」を押します。初回は機体の変換に数十秒〜数分かかります。
   2回目からは変換済みのデータを使うので、すぐに開きます。
6. 画像編集ソフトでリバリーの画像を上書き保存すると、自動で表示が更新され、
   変わった場所が桃色（3Dの面にもある場所）または橙色（どの面にも使われていない場所）で示されます。
   DDSの一部を描き直した保存は1秒以内に反映されます。PNGの保存や、画像全体が変わる保存
   （全体の色調整など）は、2〜数秒かかることがあります。
   「ノイズ抑制」をオンにすると、DDSの再圧縮による細かな差を除外できます。

画面の左上「← 機体・リバリーを選び直す」で、別の機体やリバリーに切り替えられます。


■ 読み込める画像
- DDS: BC1(DXT1)、BC3(DXT5)、BC7、非圧縮32bit（RGBA/BGRA）。ミップマップ付きも可。
- PNG: 8bit・16bit（インターレース形式は不可）。
- 次の形式は今は読めません（理由を画面に表示します）: BC2(DXT3)、BC4、BC5、BC6H、24bit以下のRGBなど。


■ 安全のための約束
- DCS のインストールフォルダと Saved Games のファイルは読むだけで、書き込みません。
- 変換したデータ・設定・ブラシで描いた内容は次のフォルダに保存します。不要になったら削除してかまいません。
  %LOCALAPPDATA%\DCSSkinViewer
  変換したデータは、開いたリバリーごとに増えます（F-16Cでリバリー1件あたり約100MB）。
  自動では削除しないので、容量が気になるときは本ツールを終了してから scenes フォルダを削除してください。
  次に開くときに変換し直します。
- 通信は自分のPCの中（127.0.0.1）だけで、インターネットには送信しません。


■ 分かっている制限
- 表示は簡易的なもので、DCS の見た目とは一致しません（Normal・RoughMet・ダメージ表現などは表示しません）。
- Mi-8、MiG-23、Su-30、Tu-160 などは、形状ファイルを読めないため選べません。
- 画像全体が変わる保存（色調整を全体にかけた場合など）は、反映に数秒かかることがあります。
- 機体番号の切り替えや可動部の姿勢は、DCS と異なる場合があります。


■ ライセンス
- 本ツールのプログラム: MIT License（LICENSE.txt）
- 同梱している Python・numpy・Pillow・EDM読込コード: THIRD_PARTY_NOTICES.txt に記載した各ファイル
- DCS World と機体のデータは同梱していません。利用者の手元のインストールから読み取ります。
