lilxyzw / lilycalInventory

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

メニュー管理ウィンドウが欲しい #48

Closed Sayamame-beans closed 4 weeks ago

Sayamame-beans commented 3 months ago

LI AutoDresserやLI Propといった、"コンポーネントを付けるだけ"で概ね設定が完了する方式はとても興味深く、良いシステムだと思います。 反面、設定箇所が散らばってしまって管理しづらいケースも想定され、設定内容を一覧するためのウィンドウがあっても良いなという考えに行き当たります。

或いは、コンポーネントに馴染みのないユーザーは、メニューを組み上げるイメージで設定を行いたい可能性があります。(NDMF以前のツールはこの形式が多いと認識しています) prefabを活用した非破壊改変においては、こちらのケースでも設定内容をコンポーネントに保存する必要がありますが、コンポーネント式管理とは少し方向性の異なる内容だと思います。

これら2つについて考えてみます。

1. 設定したコンポーネントを一覧するためのウィンドウ

このウィンドウでは、各コンポーネントで設定した内容を一覧することになります。 表示するだけが目的であれば、Menu Folderのプレビューのように表示すれば良いですし、並べ替えなどの設定変更も可能にする場合は2のケースに話が近付いてきます。 内容例:

2. メニューを組み上げるイメージで設定するためのウィンドウ

1のような自由な階層構造と異なり、各メニューの親となるフォルダを作ってその中のメニュー項目を作成/設定という2段構造を想定したRISライクなUIです。 設定保存用のコンポーネントにはCostumeChangerやItemTogglerを用いることを想定しています。 また、親メニューとメニュー項目の表示は、それぞれReorderableListを想定します。

今私が考えているイメージは2つあります。

  1. 親メニューは名前だけ並べ、メニューのアイコン等はメニュー項目一覧の上部で設定する方法
親メニュー メニュー項目 メニュー設定
≡親メニュー名A 選択中の親メニューの設定(アイコン等と、排他orトグル) 選択中のメニュー項目の設定
≡親メニュー名B ≡メニュー項目名1 メニュー名やアイコン等の設定等
≡親メニュー名C ≡メニュー項目名2 オブジェクトのオンオフは
初めから展開しておいて欲しいです
  1. メニュー名やアイコン等も一緒にリストの中で表示/設定する方法
親メニュー メニュー項目 メニュー設定
≡親メニューA(名前やアイコン等と、排他orトグル) 選択中の親メニュー名 選択中のメニュー項目の設定
≡親メニューB(名前やアイコン等と、排他orトグル) ≡メニュー項目1(名前やアイコン) 切り替え対象の設定等
≡親メニューC(名前やアイコン等と、排他orトグル) ≡メニュー項目2(名前やアイコン) オブジェクトのオンオフは
初めから展開しておいて欲しいです

1は現在のLIのコンポーネントに近い設定UIになると思います。 2は現在の設定UIとは少し離れたものになりますが、私はかなりこちら推しです(設定しやすさがこちらの方が良いかな?と…)

Sayamame-beans commented 2 months ago

2.の方式のウィンドウについてですが、今更ながら、LI本体には無くて良いような気もしてきました… 1つのツールで2方式の設定方法が2通り(コンポーネントorGUI)あると、どっちの需要もカバー出来てお得かなと思っていた気がしますが、却って操作方法で迷子になりそうですし…

LI本体は、現状のコンポーネントを付けるだけ(+オプション設定可)な分かりやすい仕様1本だけにしておいた方が紛らわしくないかもな、と今は思っています。 (特に最近は、コンポーネントを付けることで作用するタイプのツールも多いですから…)

lilxyzw commented 4 weeks ago

非破壊ツールが増えてLI本体にエディタウィンドウはなくてもいいかなってなってきたので、LI本体には入れないことにします。ただウィンドウが欲しい方もいるかもしれないので外部ツールからいじれるようなAPIを生やすかもしれません。