lilxyzw / lilycalInventory

Modify avatar at build time.
MIT License
21 stars 3 forks source link

CostumeChanger の 0 番目は何も指定できるべきではないかも #68

Open nekobako opened 2 months ago

nekobako commented 2 months ago

ItemToggler は、メニューを操作していないときはアバターがビルド時の状態となり、メニューを操作したときにアバターの状態が変化するのに対し、CostumeChanger は全てのメニューに対して状態を指定できるため、デフォルトだと思っていた状態がデフォルトでないということが起こりうるかなと思いました。

オブジェクトのオンオフについてはビルド時に 0 番目のコスチュームに合わせる処理がありますが、オブジェクトのオンオフ以外はそのままになるという点と、プレイモードに入ったら勝手に状態が変わるという点で混乱が生じそうですので、ビルド時の状態を 0 番目の衣装として扱い、ユーザーが指定できるのは 1 番目以降という仕様とするならば、ItemToggler とも挙動が一致していて分かりやすいのではないかと思います。

ただ、アイコンやメニュー名は 0 番目から設定できる必要があるので、Inspector では 0 番目のコスチュームの部分がグレーアウトして表示されるとよいのではないかと思っています。

nekobako commented 2 months ago

0 番目のコスチュームの部分がグレーアウトして表示されるとよいのではないか

ItemToggler に関してもメニューがオフのときの状態をグレーアウトして表示できるととても分かりやすくなりそうです。

ItemToggler の Inspector のイメージ

CostumeChanger の Inspector のイメージ

こうなってくると ItemToggler は実質コスチュームが 2 つしかない CostumeChanger なので、生成するパラメータの型とフォルダを生成するかどうかが異なるだけで内部的には共通化できたりしないかなと思っています。(が、話が大きくなりすぎな気がするのでまた別の話かも)

nekobako commented 1 month ago

SmoothChanger に関しても、LightChanger プレハブでパペット設定値を 0% - 2% - 100% のように設定している箇所がいい感じにならないかなと少し思ってます。 (0% は強制デフォルト状態で、設定できるのは 1% からなど)