Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

キャラクター関連のダイアログを再設計 #2505

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

takusea
Copy link
Contributor

@takusea takusea commented Jan 25, 2025

内容

キャラクターに関連したダイアログがデフォルトスタイルのダイアログとキャラクター並べ替え・試聴のダイアログに分かれているのを構造から再設計し、キャラクターの管理ダイアログとして1つに統一します。

変更が大きいのでこの方向性で大丈夫かどうかという提案の意味も含めたPRです。

CharacterOrderDialog(キャラクター管理ダイアログ(一覧))

  • 立ち絵を削除
  • キャラクターの並び替えパネルを初期時点で表示せずボタンで切り替えるように変更
  • キャラクターの並び替えの変更を保存するタイミングを即時反映に変更
  • 表示するキャラのタイプ(トーク・ソング)を切り替えられるように変更

DefaultStyleSelectDialog(キャラクター管理ダイアログ(詳細))

  • 利用規約も表示するように変更
  • デフォルトスタイルの変更を保存するタイミングを即時反映に変更

スクリーンショット・動画など

CharacterOrderDialog(キャラクター管理ダイアログ(一覧))
image

CharacterOrderDialog(キャラクター管理ダイアログ(一覧))・キャラクター並び替え表示時
image

DefaultStyleSelectDialog(キャラクター管理ダイアログ(詳細))
image

その他

変更差分をわかりやすくするために各ダイアログの名称はそのままですが、後にCharacterListDialogとCharacterDetailDialogなどより実態に伴った名称に改名するつもりです。

@takusea takusea requested a review from a team as a code owner January 25, 2025 19:08
@takusea takusea requested review from Hiroshiba and removed request for a team January 25, 2025 19:08
@voicevox-preview-pages
Copy link

voicevox-preview-pages bot commented Jan 25, 2025

🚀 プレビュー用ページを作成しました 🚀

更新時点でのコミットハッシュ:36f553f

@takusea takusea marked this pull request as draft January 26, 2025 12:39
@Hiroshiba
Copy link
Member

Hiroshiba commented Jan 26, 2025

方針はなるほどと感じました!!

キャラクター周りの操作を「一覧用」と「詳細用」に分けて、前者で並び替え、後者でデフォルトスタイルの設定ができる!
そして以前は2つあった似たキャラクター一覧UIが1つに統合できる!

1点 UX 的に気になったのが、デフォルトスタイルを選択したい人、あるいはキャラクターを並び替えしたい人が、まずそのために「キャラクター管理ダイアログ」を開かないといけないことに気づけない可能性がありそうに思いました!
名前から察する機能の直感が「キャラクターを管理する(例えばアンインストールするみたいな?)」だと勘違いしてしまって、並び替えしたい人はオプションとかを開いてしまう・・・かも?

ではどうするべきなんだという案は。。。。。。まだ浮かんでいません。。。。。
とりあえずコメントまで!!!!

@takusea
Copy link
Contributor Author

takusea commented Jan 27, 2025

デフォルトスタイル選択とキャラクター並び替えが埋もれてしまうのはたしかにですね…!

一応意図を書いてなかったので書くと、OOUI的なダイアログにし他のダイアログと足並みを揃えることです。他のダイアログではエンジン・辞書・プリセットなど対象となるオブジェクトごとにダイアログがある一方、キャラクターはタスクベースでダイアログが区切られていたのでそれを統一する目的です。

ただOOUIにするとオブジェクトがメインでタスクがサブになるので、どうしてもタスクを一番に目立たせるのは難しくはなりますね…キャラクター・スタイルに関する各種カスタマイズ項目がそこに集約されていると直感で分かるようにできればベストなのですが…

名称も(辞書は違いますが)エンジン・プリセットが「~の管理」なのでそれに合わせようということでそうしていました。ただ確かに管理という名前だと、キャラクターという項目自体に対する追加削除などの操作ができるダイアログっぽく捉えられそうですね。

より実態に伴う名前だと「キャラクター」…だとダイアログ内で扱う対象の名前で辞書ダイアログの名称と統一できますが、短くて説明不足な感じもするので「キャラクターの設定」とか…?

@takusea takusea marked this pull request as ready for review January 27, 2025 14:21
@Hiroshiba
Copy link
Member

なるほどです!!!
個人的には他のものは(ほとんど)OOUIになっていないという感覚になりました!

分かりやすいのが「読み方・アクセント辞書」で、これは本来CRUDの対象になってるのは「単語」かもです。
OOUIにするならメニューボタンの中身は「単語管理」やあっても「単語辞書」なはず。
ただユーザーが設定したいと最初に感じるのは単語ではなく、単語の中の読み方やアクセントなので、それに沿った形になってそう!

「キー割り当て」や「プリセット管理」は確かにOOUIになってそうです。
これはユーザーがやりたいことと、データ構造の親(キー割り当て・プリセット)が一致してるから成り立っていそう。

という分析をした後「キャラクター管理」を見直すと、ユーザーが設定したいのは並び順やスタイル順序なので、この観点から考えるとパッとわからない度が高めかも。

・・・・・・・・とここまで書いてて勘違いに気づきました!!
ダイアログの名称は結構オブジェクトベースでいい気がします!!!
メニューボタンが何になってるかが大事かも!!!

@takusea
Copy link
Contributor Author

takusea commented Feb 3, 2025

メニューバーの項目名としてはその後にできることがわかりやすいことが要件でありそうですが、それでいくと複数のことができるダイアログなので定めにくいですね…!

追加で1つ思ったのは、このダイアログから扱えるオブジェクトはキャラクターとそのスタイルの2つなので、「スタイル」も文言に入れたほうがいいのかもと思いました。「キャラクター・スタイル」もしくは辞書と合わせて「キャラクター&スタイル」のような。

そして肝となるのがその後につける語で、キャラクター・スタイル自体の編集ではなく、それに関連するサブ機能のカスタマイズであることを示せるような語であるべき…「管理」や「設定」だとそこが満たされていない、ということですよね。思いつくものだと下3つが例として挙げられそうです。

  • 「カスタマイズ」:前者2つよりはそれ自体のCRUDだけでなく色々できそうでまだマシ?
  • 「関連設定」:愚直ではあるが実態に即している
  • 何もつけない:「キャラクター・スタイル」だとその時点で既に結構文字数があるし、将来の機能追加などを見越すとニュアンスが広く取れるのでアリ?

他にいい案があれば…もしくは、それ自体の追加削除はできないがそのものに関連する設定項目をいじれるページ・ダイアログにメニューから飛べるような既存アプリの例に心当たりがあれば…!

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 3, 2025

名称はたしかに「キャラクター・スタイル」にカスタマイズとか、あるいは何も書かないとかありな気がしました!!

それ自体の追加削除はできないがそのものに関連する設定項目をいじれるページ・ダイアログにメニューから飛べるような既存アプリの例に心当たりがあれば…!

ちょっとパッと思いつかないのですが、クリエイター向けツールに結構多いような・・・気がする・・・?
多分他の音声合成ソフトも同じような悩みを持ってるような気がしました!
AIVOICEとVOICEROIDはキャラクター選択リストからそもそも並び替えできるようになってるかも。
voicepeakやCOEIROINK、あとVoisona TALKとか・・・?

他にはトーク系じゃなくてソング系も同じ悩みを持ってそう?ボカロ、SynthV、VoiSona等々・・・。
あとはペイントツールのブラシ設定とか・・・?あるいはYMM4のキャラクター選択とか。。
あとは・・・・OS標準のファイラーとかにヒントがあったりしないかな。。。。


色々見回って UX が色々気になったとこがあったのでちょっと列挙してみます 🙇

  • 再生ボタンが何かしらの飾りに見えるかも
    • セパレーターあるいは何かしらの模様みたいな。ちょっと考えすぎかも。
  • 「試聴」のニュアンスが消えているので、キャラクター一覧で各キャラのスタイル変更をした時、それがサンプル音声の切り替えであることがわからない(かも)
    • こっちがデフォルトスタイルの選択だと思うかもしれない
    • 今メニュー的に「デフォルトスタイル」という言葉が消えたから「デフォルトスタイルを変えたい」と思ってここに人はそんなに多くないかもだけど、そういう問題が起こりうるのは念頭に置いてもいいかも
  • 「戻る」が右上なのは避けたい
    • そこはダイアログを閉じるボタンの場所だというUXを統一した方が良い気がする
  • キャラクターをクリックすれば詳細に遷移できることに気づきづらいかも
    • これは単純に、ボタンの上にボタンがあるので、親の方のボタンがボタンだと気づかれにくいから・・・?
  • 本当にデフォルトスタイル選択をキャラクター一覧ダイアログの下に置いていいのか若干自信がない
    • 「キャラクターごとに設定されているものはここに置く」という方針なら、プリセット管理もここに置くとかも考えられそう
    • でもそれを「キャラクター・スタイル」の下に置くと多分たどり着けない
    • 何が言いたいかというと、「キャラクターを選ぶ」という点でデフォルトスタイル選択やキャラクターの並び替えは似ているけれども、実は一緒にしない方が良い説もありそうだなと。。。。。(どっちが良いか考えましたが、結論はまだ出てないです。。スタイルだけはキャラクターと一緒でも良いのかも・・・・・・・?)

@takusea
Copy link
Contributor Author

takusea commented Feb 6, 2025

例示ありがとうございます…!持ってるソフトウェアの範囲で少し調べてみました↓

voicepeak、Voisona、SynthVはそもそも並べ替えなどキャラクター関連の設定項目を持っていなさそうでした。
COEIROINKは「キャラクター設定」ダイアログから並べ替えやデフォルトスタイル選択ができる本PRで提案している構造に近しいものでした。

image

OpenUTAUも調べたところ、「シンガー」ダイアログがあり、そこから音域ごとに原音のファイル名にPrefix, Suffixをつける機能や、各エイリアスごとのオフセットや子音部などのパラメータ設定の、確認ができるようになっていました。編集についてはそのダイアログ内から別ソフトを起動して行うような構造になっており、OpenUTAU自体は持っていなそうでした。

image

CLIP STUDIOのアセットも(削除はできますが)一応調べました。これは、一応「アセットの管理」内でお気に入りの付け外しや同期のする・しないの切り替えなどを行えそうでした。


複数ご指摘ありがとうございます…!

再生ボタンが何かしらの飾りに見えるかも

確かにボタンに見えづらくはあるかもです。IconButtonにテキストボタンと同じ枠のついたスタイルを増やすかですね…。線だらけになりごちゃつきそうなのと、IconButtonに枠有り無しのバリエーションが増えることで他の場所でどちらにするか迷うようになることが懸念点です。

「試聴」のニュアンスが消えているので、キャラクター一覧で各キャラのスタイル変更をした時、それがサンプル音声の切り替えであることがわからない(かも)

ラベルなど付与するのが確実ですが、できればこれ以上要素が増えて複雑にしたくないのもありツールチップの内容を次のスタイルから次のスタイルを試聴にする策でいきたいです…!

「戻る」が右上なのは避けたい

たしかにです。意味合い的にも戻るを左にしたほうが良さそうなのでそうします…!

キャラクターをクリックすれば詳細に遷移できることに気づきづらいかも

動画サイトやブログサイトでカード自体をクリックするとそのコンテンツ自体、その中の制作者名をクリックすると制作者ページなど、クリック可能な要素内にボタンは一応昨今ではよく使われてはいるので、どの程度許容できるかですね…

詳細を表示などの文言を入れて明示すれば良くないそうですが、カードのサイズが増えるため一覧性が減り、UIの見た目が複雑になり認知負荷が高まりそうではあります。

本当にデフォルトスタイル選択をキャラクター一覧ダイアログの下に置いていいのか若干自信がない

まとめると中に何の項目が詰まっているのかは分かりづらくなる反面、分けた場合将来的にキャラ並べ替え、デフォルトスタイル以外のキャラクター・スタイルに関するカスタマイズ項目が増えるたびに、ダイアログが更に重複していく懸念もあります。
そうなった場合に、よく使うキャラクターに対して色々カスタマイズしたいとなった際いろんなダイアログをたらい回されるようになりそうです。
そういったキャラクター単位でいじりたい人と、カスタマイズ項目単位でいじりたい人どちらが多いかも判断材料になるかな…と思います。

@Hiroshiba
Copy link
Member

Hiroshiba commented Feb 7, 2025

色々ありがとうございます!!!!!!

項目が多くなってくると、メニューに「(オブジェクト名)管理」等を用意するしかなさそうですね!!!
「キャラクター・スタイル管理」とかで良さそう!!

まとめるほど項目が多いのか考えましたが、このプルリクエストの実装だけでもすでに「キャラクター並び替え」「試聴」「利用規約の閲覧」「デフォルトスタイルの変更」機能が備わってそう!
将来的に追加でありえそうな機能は「キャラクターのダウンロード」「キャラクターの表示オンオフ切り替え」「キャラクターページへの移動」「キャラクターグループ作成」とかがありそう。
ここまで来ると専用の管理ダイアログが必須だなと思いました!

デフォルトスタイル機能がUX的にだいぶ遠くに配置されることになるけど、まあ結構操作に慣れてきた人向けの機能なのでそこまで問題ではなさそう!
気づく人が少ないとかだったら、ショートカットして遷移できるUIを用意してあげれば良さそう。

使い方は変えないといけなそうなので、忘れないようにメモしておきました。

IconButtonに枠有り無しのバリエーションが増える

これは再生ボタンだけ専用でコンポーネントを作っちゃえば良さそうかも!
音声ソフトウェアならではですが、結構使う箇所あるので。
(メイン画面の再生ボタンとか)

「試聴」のニュアンスが消えているので、キャラクター一覧で各キャラのスタイル変更をした時、それがサンプル音声の切り替えであることがわからない(かも)

ラベルなど付与するのが確実ですが、できればこれ以上要素が増えて複雑にしたくないのもありツールチップの内容を次のスタイルから次のスタイルを試聴にする策でいきたいです…!

すみません、ここ別の課題もあることに気づいたのでコメントまで 🙇
ボタンの上にボタンがあるのはまずいかもです。。(以前もそうだったけど、効果が一緒だったからそこまで課題ではなかった)
再生ボタンを押し間違えると詳細ページに遷移してしまう。

「音声サンプル」という単語がキャラクター数分並んでるのを確かに見づらいんですよね。。。。
何か良い解決策があると良いのですが。。。。。。。

キャラクターをクリックすれば詳細に遷移できることに気づきづらいかも

動画サイトやブログサイトでカード自体をクリックするとそのコンテンツ自体、その中の制作者名をクリックすると制作者ページなど、クリック可能な要素内にボタンは一応昨今ではよく使われてはいるので、どの程度許容できるかですね…

たしかに!!!
雰囲気、上にボタンがあるからカード自体がボタンだと気づきにくい、くらいかもです。
まあマウスカーソルやホバー時に色が変わるので、気づける気はする・・・かも!

@takusea
Copy link
Contributor Author

takusea commented Feb 8, 2025

これは再生ボタンだけ専用でコンポーネントを作っちゃえば良さそうかも!
音声ソフトウェアならではですが、結構使う箇所あるので。
(メイン画面の再生ボタンとか)

これは難しいところで、メイン画面のものだと唯一の再生ボタンかつ高優先度なものなので目立つ、かつサイズ大になるようなFAB的なスタイルにする必要があると思うのですが、この画面のキャラ分×3でそれをやると目立つ要素が多くなりすぎるかもですね…もしくは同コンポーネントでpropsで分岐するか、としても両者で求められるものの差分が割と多いかも‥っていう感じで迷いです。もしくは後述のデザイン変更で解決できるかもです。

ボタンの上にボタンがあるのはまずいかもです。。(以前もそうだったけど、効果が一緒だったからそこまで課題ではなかった)
再生ボタンを押し間違えると詳細ページに遷移してしまう。

ボタン上ボタンを避ける方法を考えると、1つはWebページ側同様キャラアイコンの部分だけ詳細ページに飛ぶようにして、手がかりがなくならないよう以下のようにホバー時に詳細を見る等の表示をするようにする方法かなあと思います。

イラスト

Pros

  • ボタン上ボタンを避けられる
  • ホバーすれば詳細に飛べる事がわかる

Cons

  • ホバーするまでは相変わらずわからない
  • アイコンだけがクリック範囲だということが分かりづらい
    • こういうスタイルにするとか…
    • image

もう1つ思いついたのは、結構実装に変更が必要となるのですが、キャラのカードはクリックで選択のみにして、サイドなどに選択したキャラクターに対して色々できるプロパティパネル的なものを置くことです。Google Fontsの、プレビューする文章の内容やフォントサイズを変更できるのが近しいかなと思います。またはWindows 11のエクスプローラーの右側に出る詳細ウィンドウなど。

イラスト3

Pros

  • ボタン上ボタンを避けられる
  • コンポーネントが各キャラごとに沢山並ぶことが無くなり見た目の煩雑さが大幅に軽減される

Cons

  • 各キャラ自体の項目とその操作のUIが遠くなる
  • 各アクションに要する操作回数が増える

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants