Unity2019で制作したシーンをUnity2022にアップグレードした際に発生する不具合の修正方法

Unity2019で制作したシーンをUnity2022にアップグレード後のSTYLYで体験すると発生する不具合があります。不具合と解決方法についてまとめました。

頂点数が多いモデルデータのMeshColliderが機能しない

頂点数が多いモデル(フォトグラメトリモデルなど)上に3Dモデルデータが乗るはずが、すり抜ける現象が発生します。

Image1

左:Unity2019版STYLY、右:Unity2022版STYLY


解決方法
3Dスキャンした部屋のモデルに、Unity上でMeshColliderを付けて、部屋モデル(fbxデータ)のimport設定でRead/Writeにチェックを入れて、STYLYに再アップロードすると解消します。

頂点数の多いモデルにMeshColliderを付けている場合は、同様の対応を試してみてください。

Image5

Terrainのテクスチャが抜ける、明るくなる、シェーダーエラーになる

Unity2017からSTYLYにアップロードしたTerrainが、Unity2022版STYLYで読み込むとTerrainデータ上のテクスチャデータが抜けてしまう、シェーダーエラーになる現象があります。

Image9

解決方法
該当のTerrainアセットを含むUnityプロジェクトのバージョンを2022.3.24f1にアップデートして、最新のSTYLY Plugin for Unity(2022/6/26以降のもの)経由でSTYLYにアップロードしてください。

アセットが表示されない、エラー(ピンク色)になる

Image6

Unity2017のアセットがSTYLYモバイルアプリ(Android版)では表示されなかったり、エラー(ピンク)になります。

解決方法
Unity2019.4.40f1から該当アセットを再アップロードしてください。

Lightを複数配置したシーンで、明るさが起動ごとに変わる

Image3

複数のLightが置かれたシーンで、Unity2019版STYLYでは常に固定の結果になりますが、Unity2022版STYLYでは起動ごとに明るさが変わって見えることがあります。どのLightが優先されるのかは、intensityの値によって決まります。しかし、intensityの値が同値のLightが複数ある場合に優先度が決まらないために発生するようです。

解決方法
複数あるLightのいずれかを他より高いintensityにすることで解決できる可能性があります。

Image2

TrailRendererのModifierを付けているとクラッシュする

Image7

Studio Modifier機能のTrailRendererがついてる場合、クラッシュします。Studio、WebPlayerでのみ発生します。

解決方法
セーフモードでModiferアセットを除外してください。

 

WebPlayer上で再生ごとにライトの当たり方が変わる

Image4

シーンに複数のライトを置いている場合に、影の落ち方など再生ごとに見え方が変わることがあります。Lightのrender modeがAutoになっていて且つIntensityが同値の場合に、どちらのライトが優先されるのかが定まらないために発生します。

解決方法
LightのRender ModeをImportantに変更することで、解消します。但し大量のLightを置いている場合は処理が重くなる可能性があります。

Image8

Studioでシーンを開くとエラーになる

一部のアセットがStudio/WebPlayerでエラーを引き起こすことがあります。この場合はStudioで該当シーンを開いても、エラー発生のためにシーンを編集できません。

解決方法
このような場合はセーフモードで起動し、アセットを一つずつ除外して開けるようになるかどうかを試してみてください。

特定アセットによるクラッシュ

シーンがクラッシュする原因の多くは、Unity2017に作られたアセットです。
Shaderが原因で、主にSTYLYモバイルアプリ(Android版)でクラッシュを引き起こします。

解決方法

対処法は以下の2つです。

  1. Studioで開いてもクラッシュする場合は、セーフモードでアセットを除外する。
  2. 該当アセットをUnityからアップロードし直す

古いARシーンを再生した際に、平面検知に遷移せずVRモード表示になってしまう

従来なら平面検知に遷移していたものが、VRモードがデフォルトになってしまいます。

解決方法
該当シーンをWebStudioで開いて保存し直すことで解消します。

Unity2019でアップロードしたInput FieldのOn End Eventが、Unity2022で機能しない

Unity2019でアップロードしたInput FieldのOn End Eventが、Unity2022で開くとOn Submitに設定変更されます。STYLY3.0でもInput FieldのOn End Eventが機能しなくなります。

左:Unity2019、右:Unity2022

解決方法
Unityプロジェクトのバージョンを2022.3.24f1にアップデートして、Input FieldのOn Submitに設定されている内容をOn End Eventに設定し直してください。

LightのBakeが効かない

BakeしたLightが反映されません。

STYLYモバイルアプリはv10.1.0で修正予定(6/26リリースされるバージョンはv10.0.0)
WebPlayerとStudioはv3.1.0で修正予定(6/26リリースされるバージョンはv3.0.0)

バージョンについてはリリースノートをご確認ください。
https://document.styly.cc/doc/docs/en/releases/release_notes/