utageのUnity2022.2やUnity2023の適応について

70 views
Skip to first unread message

Shunpei

unread,
Nov 7, 2022, 6:31:12 AM11/7/22
to 宴ユーザーグループ
マッドネスラボ様

お世話になっております。
以前、こちらでボタンを押すときに音声を鳴らす方法や言語選択、
音楽モードのグリッド化について質問をした者です。

この度は、現在ベータ版であるUnity2022.2やアルファ版のUnity2023エディターへの
Utageの適応についてご質問をさせて頂きたく存じます。

以前ご質問したときのゲームはPC版として問題なく完成いたしました。
これをGoogle PlayでAndroidで発売しようと考え、出力したところ、
API30での出力はUnityからエクスポートしたファイルをAndroid Studioで出力し動作の確認ができました。

ところが、発売をするためには現状API31以上でなくてはならず、それに合わせてGradleやSDKを更新して31にしたのですが、出力したゲームがうまく起動ができませんでした。

正式リリースであるUnity2022.1までは、デフォルトの対応がAPI30までで使っているGradleも4.0(現状の最新バージョンは7.3)と古く、使われていないスクリプトの書き方がされています。

UnityHubからアルファ版のUnity2023やベータ版のUnity2022.2をダウンロードしたところ、デフォルトのAPIも32対応で、Gradleも6.0以上で、エクスポートしたファイルのスクリプトを見てもほぼ最新版に対応されています(例えば、API32で出すには、gradleの設定文にandoird:exportedタグを埋め込まないと出力できないのですが、デフォルトで必要な要素が入っています)。

そこで、Unity2022.2やUnity2023で出力ができれば、API31以上の問題も解決すると考え(おそらく現状のUnity2022.1まではAPI30までのプログラムになっているかと思います。どうもAPI30とAPI31の間で大きなプログラムの違いがあるような気がします)、それらで改めて制作をしようと考えました。
Unity2022.1までのプロジェクトフォルダをUnity2022.2やUnity2023で読み込むとUtageのプログラムも、音声データなどAssetのデータが壊れます。
そこで、新規プロジェクトをUnity2022.2やUnity2023で作り、Utageをインポートし、これまで使っていたAssetBundleを移植しようと考えたのですが、Utageをインポートすると、インポートしたデータが壊れてしまうようです。
ここで壊れるとは、Utageのツールからプロジェクトの新規作成を選び設定しても「create」ボタンがなくそれ以上進められない(プロジェクトを生成できない)ということです。
セットアップ(プロジェクトの作成) | Unity用ビジュアルノベルツール「宴」 (madnesslabo.net)
ちなみに新規プロジェクトにAssetを読み込むことに関しては、問題なくできます。

これは、Utageそのものが正式リリース版にのみ現状では対応していると考えたほうがよろしいのでしょうか。

お手数をおかけいたしますが、ご回答いただけますと幸いです。

マッドネスラボ

unread,
Nov 7, 2022, 9:31:23 PM11/7/22
to 宴ユーザーグループ
>Utageそのものが正式リリース版にのみ現状では対応していると考えたほうがよろしいのでしょうか。
はい。そうです。
Unityのベータ版はUnity側の不具合が多いので、対応していません。
発生している不具合も、おそらくはUnity側の不具合だと思います。


2022年11月7日月曜日 20:31:12 UTC+9 Shunpei:

Shunpei

unread,
Nov 13, 2022, 4:56:21 AM11/13/22
to 宴ユーザーグループ
マッドネスラボ様

いつもお世話になっております。
ご回答ありがとうございます。

あのあと、正規リリースのUnioty2022.1にAPI33のSDKを導入し、ただそれでは出力したデータが動かないため、
Warningコードから問題となっている原因を特定し、いくつかSDkフォルダ周りを自分で組み替えることで出力の問題を解決することができました。

これは完全にスマホのスペックや機種依存(最適化)の問題だと思われますが、
出力したゲームをandroid12のあるスマホで初回起動すると、音声ファイルが流れなかったり(これはアプリを一度閉じ、2回目以降開けば問題はないです)、
本編をUtageのskipモードで飛ばしていると、ゲームがフリーズしたりはしました(これもアプリを終了し、もう一度起動すれば、前回のセーブデータから問題なくできます)。
ところが、メーカーによって違うandroid12のスマホの方は上記の問題は起こりませんでした。

さて、一つご質問がございます。
出力したときのWarningで
「Compressed texture 1title01 is used as icon. This might compromise visual quality of the final image. Uncompressed format might be considered as better import option.」
というのが表示されます。
アプリのアイコンとしては問題なく実機でも表示されているので無視しても良いのですが、これを可能なら解消したいと考えています。
プレイヤーデータでデフォルトアイコンが.asset化されているようでして、今はAdvEngineStarterのStrageTypeがStreamingAssetのためそのフォルダを参照しています。

Unityのプレイヤーデータ側からはResourcesフォルダ(Videoフォルダだけアセット化しないようにして残しています)を参照できなかったため、Resourcesフォルダに.asset化していない元のアイコン画像を入れてもうまく当てはめられません。
assetbundleの詳しい仕組みが分かっていないのですが、例えば、StreamingAssetフォルダに元の画像を入れることでうまくいくようになるのでしょうか。

お手数をおかけいたしますが、もしご存じでしたら、アドバイス頂けますと幸いです。


2022年11月8日火曜日 11:31:23 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Nov 13, 2022, 6:00:10 AM11/13/22
to 宴ユーザーグループ
おそらくアプリのアイコンとして指定しているテクスチャのインポート設定が、圧縮になっていてその警告なのだと思います。
宴の機能ではないので、どう設定しているとどうメッセージが出るのかはわかりませんが、
宴のシナリオ内で使用しないテクスチャ素材などは、ResorcesフォルダやStreamingAssetsフォルダに入れる必要はありませんので、アイコンの置き場所を移動してしまったほうが楽だと思います。
そのうえで、そのアイコンテクスチャのインポート設定を変えて圧縮されない状態にすればよいと思います。




2022年11月13日日曜日 18:56:21 UTC+9 Shunpei:

Shunpei

unread,
Nov 18, 2022, 8:52:43 AM11/18/22
to 宴ユーザーグループ
マッドネスラボ様

お世話になっております。
ご回答ありがとうございます。

アイコンの画像のプロパティを確認したところ、画像そのものに圧縮が設定されていたので、
その値をNoneに変更したところ、Warningがすべて消えました。
Unityにインポートしたpngやjpegが、自動的に圧縮変換されていることに気づいてませんでした。

これでandroidの一切の警告もなく、API33で出力することができ、これから審査に回すことができます。
ここまで大変ありがとうございました。


2022年11月13日日曜日 20:00:10 UTC+9 マッドネスラボ:
Reply all
Reply to author
Forward
0 new messages