【Unity】【Android】Unity2019 へのアップグレードの問題点 メモ 
2019/08/07 Wed [edit]
Unity2019.2.0 も出たし、そろそろ VRM Live Viewer も Unity2019 にアップグレードしたいのだが、割と大きな問題点があるなぁ…。いずれは妥協しなくてはならないかもだが、しばらくは様子見と調査が必要そうなのでメモ。
以下、問題点など
(※) Unity 2019.1.13f1, 2019.2.0f1 / Windows10(x64) / Android 8.0 で確認
●Unity2019 では Standard Shader のロジックが一部変わったらしい。Standard Shader 依存のカスタムシェーダーなどを使っている場合は、見た目が変わってしまう場合があるので注意。
→ 今後はこれがデフォとなるっぽい。シェーダー等は修正する必要があるだろう。
・【Unity】Unity2019 の StandardShader の処理が少し変わったらしいよ
●Android 実機で音の感じが以前と違う。具体的には Unity2018以前は端末のエフェクト(例えばベースがシステムの設定でブーストされてたり)が入ってる感じだったが、Unity2019以降はエフェクトのかかってない状態の感じになっている。
新しいオーディオレンダリング/ミキシングエンジンとは直接関係ないかもだが、内部システムに変更があったのかも。Windows上では変わらない。
→ 今後はこれがデフォとなるっぽい。Unity2018 と Unity2019 で同じものをビルドして色々試してみたのだが、どうやら Unity2018 の場合、端末に付属しているアプリ(例えば GalaxyMusic など)でイコライザを編集した場合、Unity2018 でビルドしたアプリでも反映される(Unity製以外の他のアプリも同じ。自分の好きな音質にできる)。しかし Unity2019 では反映されず、ビルドしたアプリに依存するっぽい(通常はフラットな音質のため、例えば普段端末でベースをブーストして音楽聴いている場合、Unity2019 での音楽は低音のないフラットな音に聞こえる)。まぁ、アプリによっては AudioMixer などのイコライザエフェクトを使って音質を好みにできる機能を付けても良いかも知れない[負荷はともかく])。
・新しいオーディオレンダリング/ミキシングエンジン (Unity2019.1)
●Android でサウンド再生中(特に音楽)に、例えば何らかのWebダウンロードなど、処理に負荷がかかることをすると、ブツブツとノイズが入る(音切れする)ことがある。もしかして Unity本体の負荷に対して、サウンドエンジンが影響を受ける構造になってしまったのか(Unity2018以前は割とサウンド関連は独立したシステムとなっていたため、Unity自体がカクついても音が途切れることは無かった)?
(※) とりあえずこれは、Unity公式にバグレポートとして送っておいた。
→ いつの間にか直っていた(バージョンはわからないが、少なくとも Unity2019.2.14f1 ではノイズが入らなくなっている)。
・新しいオーディオレンダリング/ミキシングエンジン (Unity2019.1)
●Unity2019.2.0 において、外部APIなどでの連携が上手く行かなくなったものがある。Unity2019.3ではネイティブの構造が変わるらしいが、既に一部のネイティブの構造が変わっていて、外部からの Intent などを上手く受け取れなくなった可能性がある(外部からのバラメータが一部無視されている?)。外部APIとの連携機能を使うアプリなどは注意。2019.3 になったらネイティブ関連の不具合は色々出てきそう。
→ いつの間にか直っていた(バージョンはわからないが、少なくとも Unity2019.2.14f1 ではOK)。
・【Unity】Unity2019.3 で Android / iOS ネイティブの構成が変わるらしい
・Intent
●Unity2019.2.0 ではなぜか PlayerSettings で Bundle Identifer にアンダーバー(アンダースコア "_")が入力できない(バリデーションで消える?)。既にリリースしているアプリでは Bundle Identifer が変わってしまうと、別のアプリとして認識されてしまうので注意。
(※) とりあえずこれは、Unity公式にバグレポートとして送っておいた。
[8/11 追記] Unity公式から、確認(バグ再現)できたので、今後のバージョンで修正されるという旨の返信メールが来ました。いずれ修正されるでしょう。
・【Unity】【Android】2019.2.0 でパッケージ名(Bundle Identifer)でアンダーバーが使えない
シェーダとサウンド関連、外部APIでのアプリ連携機能は結構問題大きいので、しばらくはまた据え置きかな…。まぁ、サウンド関連は Unity2019 の状態がこれからのデフォになりそうな気がするので、
とりあえず今使っている Unity2018 LTS は2年間は持つから、2020~21年くらいまでには、何らかの手段・代替案が出てくれば良いが…。とは言え、いつもながらデフォの仕様/状態が変わるのはなかなかキツいものがあるな…。なるべくこれまでのものはそのままに、自分で選択して新しい機能を使えるように設計して欲しいもんだね…(※私もその辺りは気をつけよう…)。|||orz
(関連記事)
【Unity】【Android】2019.2.0 でパッケージ名(Bundle Identifer)でアンダーバーが使えない
【Unity】Unity2019.3 で Android / iOS ネイティブの構成が変わるらしい
【Unity】Unity2019 の StandardShader の処理が少し変わったらしいよ
【Unity】Unity2018 でビルドエラー「CommandInvokationFailure: Gradle build failed.」が出る
- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/329-6fa2ba05
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |