原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity2018.3】ビルドが「Building scene ~」から進まないので困った話(Android)

『コーラを飲むと骨が溶ける』って誰かが言ってた

社会人になって最初のころ、右も左も分からない私を根気よく指導してくれて信頼を寄せていた会社の先輩に「重要な話がある」と呼び出されたので行ってみると、ダイヤモンドのセールスマンを紹介されて危うく15年ローンを組まされそうになって以来、他人の話を安易に信じない、例えば『炭酸水を飲むとお腹が空く』みたいな似非科学話に対して「言われてみると、そんな気がしないでもない・・・」とかアホみたいに受け入れるのは止めようと自分を戒めるようになったのですが、やっぱり人間切羽詰ってくると藁にもすがると言うか、すがれるものなら何でもすがりたくなる様で、今回の記事はエラー原因がちっとも分からないけれどネットでそれっぽい話があったので試してみたら案外上手くいったよ、って話。

 

前回の続きから

前回の記事で、Unity2018.2からUnity2018.3へバージョンを上げたらコンソールにエラーが出たという話を書いたのですが、

 

www.karvan1230.com

そのエラーをアレコレで改修した後、Andorid機でテストしようとビルドしてみると・・・

 

「Building scene 4: Credit」の表示とともにビルドのプログレスバーが全く進まない

 

最初は「バージョンアップした一発目のビルドだから時間が掛かるのかな?」とか根拠のない楽観論でビルドが終了するのを待っていたのですが、

 

一時間経過・・・

f:id:Karvan:20190116001150p:plain

 

二時間経過・・・

f:id:Karvan:20190116001150p:plain

 

三・・・

f:id:Karvan:20190116001258p:plain

もうだめだ!待てない!⇒ビルドキャンセル

 

といわけで対処法を探りました。

 

止まっているわけではないらしい

例によって例のごとくGoogle先生に尋ねてみるとそれっぽい記事を紹介されました。

 

ikosami.hotcom-land.com

で、上記の記事によると「GI(Global Illumination)というのが異常に時間がかかり・・(中略)・・ビルドが止まっているのかと思うほど全然進まなくなります。」と書かれている。

 

GI(Global Illumination)とはライティングの機能で、シーン内のオブジェクトに対して光源からの反射光を考慮した光の様子を再現するという機能です。
例えば青い立方体に白い光を当てたらその反射光で周りが少し青くなる、みたいな状態を表現する時に使用されます。

 

この説明だけを聞くと、ビルドが止まったかのように進まない(進んでいるけどすごく遅い)のも分かるのですが、ここで疑問となるのは、止まってている(ように見える)scene 4: Creditには3Dオブジェクトが存在しない、という事です。

 

ええ、シーン名が「Credit」となっていることから分かると思いますが、当該のシーンはTextを表示するのみで光の影響を受けるような3Dオブジェクトは一つもありません。

 

f:id:Karvan:20190116001536p:plain

 

こんな感じの画面。黒バックに白い文字が表示されるだけの画面です。

 

ないからこそ逆に・・・

このGI(Global Illumination)の設定はデフォルトでONとなっているので何もしていない場合は必ず適用されます。


GIが適用されるとビルド時に光の影響を計算してテクスチャに書き込む処理が動くのですが、3Dオブジェクトが何もない空間でライトだけ設定されている場合、光の影響範囲が無限に大きくなって計算に時間が掛かるのではないか?・・・と上記の記事を読んで全く根拠のない推測を立てる私。

 

90%ぐらいは"(原因が)そうであってくれ"という願望が占めているのですが、何はともあれ、藁にもすがる思いでGIの設定をOFFに変えました。

 

OFFにするにはMenu からWindow->Lighting を選ぶとLighting Window が開くので、

 

f:id:Karvan:20190116001725p:plain

 

ここのRealtime LightingとMixed LightingのBaked Global Illuminationチェックを外します。

 

Unityのマニュアルを参考にするとMixed Lightingの設定をOFFにすれば良いだけの様な気もしますが、今回のシーンではそもそも光の影響は受けないのでどちらもチェックを外しました。

 

で、この状態でビルドを再実行すると・・・

 

f:id:Karvan:20190116001926p:plain

ビルドが数分完了!!あ~、よかった。。。

 

一応解消された

上記の対応でビルドが進まない、という現象は解消されたましたが、そもそもUnity2018.2では同じ設定でもビルドは進んでいたので、これはUnity2018.3独特の現象なのかもしれません。

 

また、3DオブジェクトがないからGIに時間が掛かる、というのも私の勝手な推測なので正しいかどうか分かりません。

 

ただ、GIをONにするとビルドに時間が掛かるだけでなく、アプリサイズも大きくなるそうなので、見栄えが少し変わることに問題がなければ通常のシーンでも切ったほうがよいと思います。

 

といわけで、次回からはいよいよリリース間近の「Dull Things No Life」の紹介をしたいと思います。

 

 

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。