ダイシングの立ち絵のIconRect指定がずれる

31 views
Skip to first unread message

heqw

unread,
Nov 4, 2022, 2:15:25 AM11/4/22
to 宴ユーザーグループ
お世話になっております。

ダイシングした立ち絵のアイコン矩形の指定が想定とかなりずれてしまいます。
宴バージョン: v3.9.6

Dicing-Inputの画像が 1500x3000くらいで、Dicing-Outputのアトラス画像が 1024x2048 くらいの時に、たとえばIconRectのX座標に500を指定しますと、幅1500の時のX=500(U=0.3)付近ではなく、幅1024の時のX=500(U=0.5)付近が切り取られるようです。

ソースコードの AdvUguiMessageWindowFaceIcon.cs の SetIconDicing() 関数を追ってみますと、
            float w = dicing.PatternData.Width;
            float h = dicing.PatternData.Height;
という箇所が、Dicing-Inputの元画像のサイズではなくアトラス画像のサイズを使っているためにずれるのではないかと見受けられました。
ここで w, h に元画像のサイズを直接書いてやると想定通り動くのですが、実行時に取得する方法が分からず、手詰まりとなっております。

なにかうまい解決方法があればご教授ください。
見当違いな内容でしたら申し訳ありませんが、どうぞよろしくお願いいたします。

heqw

unread,
Nov 4, 2022, 2:46:01 AM11/4/22
to 宴ユーザーグループ
仕様変更となりましたので、 重要度がまったくなくなりました。
今後のために解決法があればありがたいですが、回答まったく急ぎません。
スルーしていただいても構いません。
どうぞよろしくお願いいたします。



2022年11月4日金曜日 15:15:25 UTC+9 heqw:

マッドネスラボ

unread,
Nov 4, 2022, 3:31:38 AM11/4/22
to 宴ユーザーグループ
すみません。これはダイシングコンバーターの不具合の可能性が高いです。
元の画像(Dicing-Input)の最大サイズを念のためアトラス画像並みに大きくしている処理があったのですが、アトラス画像のほうが小さいと逆に元画像を小さくしてしまっていました。
修正しましたので、添付のパッケージファイルを適用してください。
(添付ファイルのダウンロード後に、拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)

元画像のインポート設定を確認し、もし画像サイズ以下(2048など)が設定されている場合は、4096など大きな画像を設定するようにしてください。
ss_0583.png

MaxSizeを確認後、ダイシングコンバーター等でリビルドしてください。



2022年11月4日金曜日 15:46:01 UTC+9 heqw:
FixDicingTexturePacker.unitypackage

heqw

unread,
Nov 7, 2022, 1:51:33 AM11/7/22
to 宴ユーザーグループ
おっしゃる通り、元画像のインポート設定のMaxSizeが2048になっておりました。調べてみるとMaxSizeの影響で立ち絵の解像度も想定より低くなっていたようでした。
MaxSizeを4096に修正してダイシング変換しなおし、顔アイコンのIconRect座標等が問題なく動作することと、立ち絵の解像度が高くなったことを確認しました。

迅速なご対応ありがとうございました!


2022年11月4日金曜日 16:31:38 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages