提案:冒険者のキャスト画像複数設定

Issue #412 new
権兵衛 七篠 created an issue

七篠です。
冒険者のキャスト画像の変更についてのレスを書いていて、
ふと思うところあったので、新しく記事起こしてみました。

題記のとおり、キャスト画像を一人の冒険者に複数持たせて
デザインの変更画面で切り替え可能にすることを提案してみます。

ぱっと思いつく限りでは、
学園バリアントにおける夏服・冬服・水着・体操服、といった服装チェンジとか、
あるいは絵柄のAsk風、オリジナル、○×風みたいな応用くらいしか
考えられないのですが(汗)、
「デザインを変更する」から出てくる設定画面で
「Image」直下のキャスト画像の左右三角つつくと
色々なバリエーションを選べるのは面白そうだと考える次第です。

(表情切り替えとか状態異常時のパターンというのも考えたんですが、
その場合シナリオ側に切り替えコンテントが必要だとか、
画像の順番予め決めないといけないとか、
増えたパターン分だけグラフィック用意する手間が膨らむと思ったので
個人的には見送りというか、提案には含めないことにします。
あくまで本稿はプレイヤーないし連れ込みNPCの制作者が
設定できるキャスト画像の枠を増やすという話です)

Comments (3)

  1. 権兵衛 七篠 reporter

    あとから気づいたんですが、実はコレ
    Materialフォルダひっくり返して画像追加すれば
    どうにでもなる案件なんでしょうか(汗
    レイヤ指定として強制的に重ね表示になりそうなのが気になりますが
    この辺を回避する手法も実はあったりするのでしょうか?

  2. k4nagatsuki repo owner

    ご提案ありがとうございます。様々な顔を持ったり人間以外だったりするPCが増えてきている現状を見ると、この機能は面白そうです。

    重ねて表示するレイヤ機能とは目的が異なるので、新しい機能として実装する必要があると思います。インタフェースが最大の問題になりそうです。今のところ左右ボタンに対して上下ボタンを設けて切り替え、一番下からさらに下を押すと新しいイメージ枠を追加できる、というようなイメージしか浮かびません。

  3. 権兵衛 七篠 reporter

    仰るとおり、UIのデザインがこの機能の成否を左右していると思います。
    (あるいはさらにデータ構造も関連するかも?)
    すでに本提案とは別に高解像度対応案(issue #397)もありますし、
    さらに今回の提案範囲に含めなかった、
    表情切り替えとか状態異常時などといったパターン追加の余地
    (もっと云えばユーザーのみならずシナリオやエンジンでも画像選択を行う可能性)
    .......を考えると、この提案の実現のために解決すべきは
    「格納すべき多数のキャスト画像データを、
    整理された形でキャストデータへ格納するためのデータ構造と
    それら整理格納済み画像データの閲覧、選択、
    およびデータ構造編集インタフェースの提供」であると愚考しています。

    さしあたって、どのように整理するか、が課題でしょうか。
    個人的にぱっと思いつく範囲では、
    「高解像度対応」の議題で言及されたfile.bmp.xmlみたいな
    何らかの補助データを用いて画像それぞれにメタタグを付加する、
    ないしはフォルダのようなツリー構造を作って整理する、
    あるいはそれらの併用、といったところでしょうか。
    恐らくレイヤ機能を実装している時点で、
    何らかの整理用補助データが存在していると思いますが、
    可能ならばこれら既存データや機能との整合性も
    考慮して考えるべきなのでしょう。


    個人的にはフォルダとツリー形式かそのエミュレートによって、
    シナリオ選択画面にあるような形式に整理された画像セットを
    ラジオボタンで選ぶ、といったインタフェースを考えたりする次第です。
    ラジオボタンで親フォルダを選ぶことで、
    このフォルダに含まれた画像セットを一括で選択できるといった寸法で、
    高解像度ほか追加の表示機能は
    親フォルダのさらに下位のフォルダに格納されている画を
    適宜エンジンが判別して表示する形になります。
    機能に対応した画像が見つからない場合は、親フォルダの画像で代替されるでしょう。

    文字で説明してもわかりにくいと思うのでAAで表現してみますが、
    具体的には、たとえば以下のような形になるでしょうか。
    (レイヤ機能の表現に便利そうなので某公務員使ってますが他意はございません(何))
    (なおファイル名やフォルダ名は適当なので、互換性確保を考えると
    表示機能に関するフォルダは括弧でくくるとか、クーポンの「@」みたいな
    識別符号をつける、といった命名規則の調整も必要かもしれません。)

    その他、ファイルやフォルダのクリックないしマウスポインタのホバーで
    個々の画像やレイヤ機能で重ねた場合の表示サンプルを閲覧できるとか、
    ファイルやフォルダの移動やレイヤ重ね順変更、
    改名や追加や複製や削除といった編集用機能も必要かもしれません。

    なおこの形式についてぱっと思いつく問題としては、
    「負傷したダスキンの表情差分」みたいな、
    複数の条件重ねたような設定をフォローしづらい、あたりでしょうか?
    「@injury@angry」みたいなメタタグめいたフォルダ名にするか、
    解像度指定をサブフォルダに入れたような階層整理で対処するか、
    あるいはツリー形式以外の手法を考えるか、
    このあたり、個人的にはどうしたものかな、という感があります。
    #そもそも今回の提案範囲に含めてないところまで無理に考えないほうが吉?

    ダスキン
     ├─ ●[-]ダスキン(デフォルト)
     │   ├─ メガネ.bmp
     │   ├─ [-]トービアス
     │   │  ├── file.bmp.xml
     │   │  ├── [-]x1
     │   │  │   └── トービアス.bmp
     │   │  ├── [-]x2
     │   │  │   └── トービアス倍寸.bmp
     │   │  └── [-]x4
     │   │      └── トービアス四倍寸.bmp
     │   ├─ [-]bind
     │   │  ├── メガネ.bmp
     │   │  └── トービアス猿轡.bmp
     │   ├─ [-]danger
     │   │  ├── メガネ(破損).bmp
     │   │  ├── 包帯.bmp
     │   │  ├── 絆創膏.bmp
     │   │  └── [+]トービアス
     │   ├─ [-]faint
     │   │  ├── メガネ(破損).bmp
     │   │  ├── 包帯巻きすぎ.bmp
     │   │  ├── 絆創膏.bmp
     │   │  └── [+]トービアス
     │   ├─ [-]injury
     │   │  ├── メガネ(ひび割れ).bmp
     │   │  ├── 絆創膏.bmp
     │   │  └── [+]トービアス
     │   ├─ [-]paraly
     │   │  ├── メガネ.bmp
     │   │  └── トービアス(無表情).bmp
     │   ├─ [-]petrif
     │   │  ├── メガネ.bmp
     │   │  └── トービアス(無表情モノクロ).bmp
     │   └─ [-]sleep
     │      ├── メガネ.bmp
     │      ├── 鼻ちょうちん.bmp
     │      └── トービアス(目閉じ).bmp
     ├─ ○[-]ダスキン_劇画調
     │   ├─ daskin_gorugo.svg
     │   ├─ [+]bind
     │   ├─ [+]danger
     │   ├─ [+]faint
     │   ├─ [+]injury
     │   ├─ [+]paraly
     │   ├─ [+]petrif
     │   └─ [+]sleep
     ├─ ○[-]実写版ダスキン
     │   ├─ [-]x1
     │   │  ├── mask.x1.png
     │   │  └── 有明で~1.jpg
     │   └─ [-]x4
     │      ├── mask.x4.png
     │      └── 有明で~2.jpg
     │
     └─  [-]Face
         └─ [-]Male-YNG
        ○   ├── Male-YNG00.png
        ○   ├── Male-YNG01.png
        ○   ├── Male-YNG02.png
        ○   ├── Male-YNG03.png
        ○   └── Male-YNG04.png
    
  4. Log in to comment