このプログラムはコイカツのキャラクターデータを学習し、キャラクターのランダム生成を可能とすることを目的としています。 現状のところ、VariationalAutoEncoderで生成を行っています。 また、学習対象とするデータはコイカツ公式アップローダーにあるMod無しのデータのみとしています(学習の安定性のため)。
このプログラムで得られた学習モデルを使ってゲーム中からキャラクターを生成するMOD、KoikatuGen-Pluginを作りました。 学習パラメータを使用する方法はKoikatuGen-PluginのREADME.mdに記載してあります。
90epochの学習が終わった状態でのモデルで生成しています。 他の例は生成データ一覧にあります。
Python 3.9とpoetryが実行できる環境が必要です
$ git clone https://github.com/tropical-362827/KoikatuGen
$ poetry install
上のコマンドでモジュールをインストールしたあと、
$ poetry run python ./koikatugen/vae_train.py
のようにプログラムを実行します。
kk_charas
フォルダ内のキャラクターデータを順番に開き、データのベクトル化を行います。
ベクトル化したデータはkk_charas.csv
に出力されます。
公式アップローダーから削除されているかどうかの判定を行うため、公式アップローダーの情報を取得する処理を含みます。
さらに、png画像の名前は全て公式アップローダーで振られているidの数字でなければなりません。(この辺の処理は面倒なので、2021/02/21時点でベクトル化したデータをkk_charas.rar
に入れてあります。解凍して使ってください。)
kk_charas.csv
のデータを学習し、学習モデルを5epoch毎にvae_models
に出力します。
学習モデルからキャラクターデータを生成します。プログラムのオプションは
$ poetry run python ./koikatugen/vae_generate.py (vae_models内のフォルダ名:"20210222_0328"など)
のように指定します。
服やキャラクター情報などはdefault.png
のものが使用されます。(デフォルトではちかりんです😄)
を使用しています。