2020年03月28日

[Unity] Unity2019.3.6でLWRPからURPに移行しようとして苦労した話

Unity2019.3からLWRP(軽量レンダーパイプライン)からURP(ユニバーサルレンダーパイプライン)に変更されるということで、プロジェクトを更新しようとした話の続き。

先の記事では、とりあえずPackage Manager関連のエラーを解消することができた。

先の記事:
http://blog.be-style.jpn.com/article/187319324.html

シーンを実行したところ、LWRPで作っていたShaderMaterialが紫一色に!
どこかでリンクが切れているときに起こる現象なので調べてみたところ、それっぽい記事を発見。

Unity2019.2までのLWRPプロジェクトをUnity2019.3以降のURPにアップグレードする方法:
https://raspberly.hateblo.jp/entry/UniversalRPUpgrade

LWRP -> Universal RP Upgrade Guide:
https://docs.google.com/document/d/1Xd5bZa8pYZRHri-EnNkyhwrWEzSa15vtnpcg--xUCIs/edit

読んでみたものの、正直、すべてを理解できませんでした(おぃ
Unityのメニューを色々見ていたら「Upgrade Project Materials to UniversalRP Materials」というそれっぽいメニューを発見。

スクリーンショット 2020-03-28 15.35.26.png

これはいけるのでは!

スクリーンショット 2020-03-28 15.35.46.png

「Proceed」を押して実行してみたところ、問題は解消されませんでした!

初心に戻って、問題のシェーダーのInspectorを見直してみることに。

スクリーンショット 2020-03-28 15.59.41.png

どうも初期化されてないっぽいということで、Shader Editorを開き、「Save Asset」を実行してみました。

スクリーンショット 2020-03-28 16.00.11.png

Inspectorの表示を見ると初期化されたっぽい!

スクリーンショット 2020-03-28 16.00.25.png

これでシーンをもう一度実行してみたところ、ちゃんとシェーダーが動きました。
よかったー。
posted by be-style at 16:37| Comment(0) | Unity

[Unity] Unity2019.3.6 にバージョンアップしたら Unable to add package [com.unity.render-pipelines.universal@7.3.1]

Unity2019.3からLWRP(軽量レンダーパイプライン)からURP(ユニバーサルレンダーパイプライン)に変更されるということで、プロジェクトを更新せねば!で始まった移行作業。

Unityからの告知:
https://blogs.unity3d.com/jp/2019/09/20/how-the-lightweight-render-pipeline-is-evolving/

LWRP -> URP への移行手順:
https://docs.google.com/document/d/1Xd5bZa8pYZRHri-EnNkyhwrWEzSa15vtnpcg--xUCIs/edit

まだ移行は完了していないけど、1つのエラーを解消できたのでメモ。

Unity2019.3.6 にバージョンアップしてプロジェクトを更新したところ、
Unity起動後にエラーが出るようになってしまった。

---------------------------------------------------------
Cannot perform upm operation: Unable to add package [com.unity.render-pipelines.universal@7.3.1]:
One or more dependencies could not be added to the local file system:
com.unity.render-pipelines.core: connect ETIMEDOUT 23.194.79.92:443 [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
---------------------------------------------------------

Package Managerを開いて使っていたパッケージを更新しても解消せず。

スクリーンショット 2020-03-28 15.04.03.png

よく見ると、Universal RPのバージョンが「7.1.8」のままで、エラーに書いてある「7.3.1」ではないことに気づく。
Package Manager > Universal RP の左側にある矢印をクリックして開くことができて、
そこで「7.3.1」にアップデートすることができた。

スクリーンショット 2020-03-28 15.04.20.png

見逃してたー。
posted by be-style at 15:18| Comment(0) | Unity

2020年03月27日

[iOS] iOS13でTerminating app due to uncaught exception 'NSInternalInconsistencyException'で落ちる

Xcode 11.3.1でビルドして、iOS13.3のiPhoneでアプリ起動時にエラーで落ちる事象が出ました。

↓エラ〜メッセージ
------------------------------------
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<TableViewController: 0x1419b1a00> returned nil from -traitCollection, which is not allowed.'
*** First throw call stack:
(0x18cb9896c 0x18c8b1028 0x18ca954fc 0x18cf284e4 0x1909060b0 0x191107c60 0x1911079cc 0x190e44980 0x190e7d9f8 0x1000a04c0 0x19063d550 0x190642184 0x190642570 0x10012e0bc 0x1016db27c 0x1016dcc88 0x10012cd58 0x1911397e0 0x18c8aca4c 0x19374fa9c 0x19374feec 0x193762614 0x1936a71c4 0x1936d1fd0 0x1936d2ba4 0x18cb13524 0x18cb0e1c4 0x18cb0e774 0x18cb0df40 0x196d8b534 0x190c86a60 0x100115c8c 0x18c98ce18)
------------------------------------

ネットで情報を探しても見当たらなくて困っていたら、ある一文を発見。

self.tableViewController = [TableViewController alloc];
↓ 修正
self.tableViewController = [TableViewController new];

本来は alloc と init をセットで書くべきところを、allocだけで動いていたので油断していました。
allocとinitが一緒になったような「new」に変えたところエラーが解消しました。

こんな事があるんだなー。
posted by be-style at 13:34| Comment(0) | iOS