会話シーンでの顔アイコン表示方法

647 views
Skip to first unread message

tukino...@gmail.com

unread,
May 28, 2017, 9:39:55 AM5/28/17
to 宴ユーザーグループ
宴のバージョン:3.0.9
Unityのバージョン:5.6.1

初歩的な質問で失礼します。
会話シーンでの顔アイコンが表示できません。

宴をインポート
Tools→Utage→New Project
New Adv Sceneで作成
Characterフォルダ内に、キャラの立ち絵(png)とアイコン絵(jpg)をインポート
ExcelのCharacterシートで、CharacterName記入、pattern記入、FileNeme記入、Icon記入

この状態でStartシートのArg1に上記のキャラ名と適当なTextを記入して保存しました。
これですと、立ち絵とテキストは表示されるのですが、指定したアイコンは表示されませんでした。

次に上記でIcon欄に書いたファイルパスを消して、IconRect欄に入力して保存
440,140,400,400 → 立ち絵のみ表示されて、アイコン非表示
1,1,400,400 → 同上
1,1,100,100 → 同上
1,1,1000,1000 → 同上

この様に顔アイコンが表示できないのですが、何か使い方を間違えているのでしょうか?

マッドネスラボ

unread,
May 28, 2017, 12:16:37 PM5/28/17
to 宴ユーザーグループ
ご報告ありがとうございます。
こちらのバグでした。
一番最初にアイコンつきのキャラ表示がある場合にのみ、
アイコン表示処理の準備が間に合わず表示できていませんでした。
(アイコンなしのテキスト・キャラ表示が先に来た場合には、問題がおきないため気づけていませんでした)

修正しましたので、添付ファイルのパッケージを適用してみてください

BugFixFaceIcon.unitypackage

tukino...@gmail.com

unread,
May 28, 2017, 1:20:42 PM5/28/17
to 宴ユーザーグループ
迅速な対応、ありがとうございます。

早速試してみたのですが、IconRect欄に
1,1,400,400 → 会話ウィンドウの上段中央付近に、使用しているキャラ画像の全身が表示

300,1,600,600 → 会話ウィンドウの左から三分の一くらいの場所に、キャラ画像の全身が上記より少し大きく表示されて、アイコンの画像が左半分切れて見えなく

1,1,800,800 → アイコンの様に、顔の周辺だけアップで表示されないかと思い試してみましたが、画像表示が乱れて顔のアップには出来ませんでした

x=300が会話ウィンドウの左三分の一で半分に切れてしまうのは、私が大きい画面サイズを指定しているからかもしれません
PC以外にスマホの横画面でも使うことも想定してまして、画面を1920x1080で使っています

Icon欄にアイコン画像のパスを入力したら、左三分の一の場所でしたが、きちんと表示されました

画面サイズは16:9を守れれば良いだけなので、もう少し小さい画面サイズでも試してみようと思います

マッドネスラボ

unread,
May 28, 2017, 6:18:55 PM5/28/17
to 宴ユーザーグループ
IconRectはアイコンの表示位置ではありません。
「現在表示しているグラフィックの一部を顔アイコンにする場合の切り抜き矩形」になります。
顔アイコン専用のファイルを用意しないで、立ち絵の一部を顔アイコンとして使いまわす場合に使うためのものです。
ドキュメントに図解を入れましたので確認してください。


表示する顔アイコンの位置や大きさは、Unity上のUIオブジェクトの値を調整してください。

tukino...@gmail.com

unread,
May 29, 2017, 2:49:18 AM5/29/17
to 宴ユーザーグループ
丁寧な解説、ありがとうございます。
xの値を大きくしたら画像が左に動いたので、アイコン画像のUI自体が動いたのかと勘違いしておりました。

おかげさまで、きちんと表示も位置調整もできました。
ありがとうございました。


ひとつ我儘なのですが、FaceIconのUIを2つに増やすことはできますか?
会話ウィンドウの左端と右端に、別々のキャラのアイコン画像を同時に表示させられると嬉しいです。

使用時のイメージとしては
・真っ暗な洞窟or明かりの消えた部屋
・背景Bg→真っ黒、キャラ立ち絵→非表示
・アイコン画像を会話ウィンドウの左右に出して、プレイヤーに誰が喋ってるのかが伝わるように

このような使い方をしたいのですが、可能でしょうか?

マッドネスラボ

unread,
May 29, 2017, 4:45:57 AM5/29/17
to 宴ユーザーグループ
顔アイコンは、名前のテキストと同じように「今喋っているキャラのアイコンを表示する」という仕様になっています。

二つにした場合、「どっちにどのキャラを表示して、いつ消すか?」
という制御は自動ではできなくなるため、現状の顔アイコン機能でそれを行うのは難しいです。

なので、デフォルトの顔アイコン機能を使うのではなく、
通常の立ち絵によるキャラクター表示や、Spriteコマンドで、顔アイコンのテクスチャを表示するのがよいと思います。

キャラクターやスプライトをUIより手前に表示するには、
レイヤーのLayerMaskを「UI」などに設定し、Orderを「1000」など十分手前に設定した
UIより手前にくるレイヤーを作成し、
キャラクターやSpriteの表示レイヤー指定にそのレイヤー名を指定してください。

サンプルでいうと、
宴3の新機能>レイヤー(キャンバス)処理>LayerMaskやカメラによる描画順  で似たようなことをしています。


tukino...@gmail.com

unread,
May 29, 2017, 7:41:55 AM5/29/17
to 宴ユーザーグループ
ありがとうございます。
ご提案という形でファイルを添付させて頂きましたので、ご確認をお願い致します。

素人考えの提案ですので、問題が有るようでしたら「無理」と一蹴していただければ
(^_^;)
ご提案.xls

マッドネスラボ

unread,
May 29, 2017, 8:17:52 AM5/29/17
to 宴ユーザーグループ
基本仕様として組み込むには、状況が特別なのと今までの仕様と互換性を保つのが大変なので、ちょっと無理です。


顔アイコンに関しては、プロジェクトによってやりたいことが違うので、
宴として用意するのは、最も基本的な「現在喋っているキャラのアイコンを表示する」というものだけです。
細かい調整が必要であれば、上記のUIの手前に表示するやり方でやってみてください。

また、ある程度自動的にアイコンを表示したいのであれば、
アイコンを表示するプログラムを独自に実装するという手もあります。
ページ切り替えなどの特定のタイミングで、プログラムを呼び出すことができますので
顔アイコンを自分の好きなように切り替えるようにするプログラムを書いて呼び出せば割りと簡単に実装できると思います。
デフォルトの顔アイコンは、下記のプログラムで表示されていますので、プログラムを書く場合の参考になるかと思います。
AdvUguiMessageWindowFaceIcon.cs



tukino...@gmail.com

unread,
May 29, 2017, 8:43:19 AM5/29/17
to 宴ユーザーグループ
承知いたしました。
上記を参考に、実装したいと思います。

長々とお付き合いいただき、ありがとうございました。
Reply all
Reply to author
Forward
0 new messages