【Unity】Androidでパーティクルが表示されないときにやったこと(Ensure Read/Write is enabled on the Particle System’s Texture.の対策)

投稿日:2019年4月15日
最終更新日:2019年6月22日

環境

Windows 10
Unity 2018.3.0f2
Androidバージョン 7.0

 

WebGLで公開したゲームをAndroidに移植したらparticleが表示されない

WebGLで公開したゲームをAndroidに移植したのだが、なぜかAndroid上で実行するとparticleが表示されない。WebGL上では表示されているし、UnityのGameビューでもparticleは問題なく表示されている。

 

particle再生時にエラーが出ていることに気付く

particleはscriptから再生しているが、particle再生時に以下のようなerrorが出ていることに気付いた。

Ensure Read/Write is enabled on the Particle System’s Texture.

 

原因を調べてみた

調べてみると、stack over flowに同じエラーに関する質問を発見。

https://stackoverflow.com/questions/51746766/unity-ensure-read-write-is-enabled

textureのRead/Write Enableをonにすればいいらしい。そういえば、particleのtextureってどうなってるんだっけ?設定した覚えがない。調べてみると、以下のように「Default-Particle」というtextureが設定されていた。

こいつの設定を変えればいいんだな!と思ったけど、プロジェクト内を検索しても、default-particleというTextureが見つからない。さらにググってみると、Unityのforumに以下のような内容を発見。こっちはMaterialの話なので混同していいのかよくわからないが、default-partileはUnityにもともと入っているもので、アクセスできないようだ。

https://forum.unity.com/threads/default-particle-is-what.18169/

 

textureを設定しなければエラーは消えてAndroidでもparticleが表示されるようになった

しょうがないのでtextureを自前のものに変更して、そのtextureのRead/Write Enableをonにするか……と思ったけど、そもそもTextureって設定しないと動かないのかな?とふと思う。試しに、textureをNoneにしてみる。

この状態でも、particleは問題なく再生されているように見える。これでビルドしてAndroidで動かした結果、正常にparticleが表示されるようになった。とりあえずはこれで様子を見て、問題があるようなら自前のparticleを設定して、Read/Write Enableをonにしてみよう。

 

Unityゲーム作成プロセス公開中

Unityのインストールから公開まで、野球盤を題材にしたゲームの公開プロセスを公開してます。興味があればぜひ。

【Unity】Unityで3D野球盤をつくろう日記 – Unityのインストールからリリースまで、製作プロセス全部公開

 

 


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください