akyboxブログ

旧AkiIroブログ

【Unity】AndroidでCubemapを使ったShaderが表示されないとき

Materialが黒くなって正しく表示されない

Editor上では問題のないMaterialが実機上だとうまく表示されないことがままあります。
今回もまさにそのパターンで自作ShaderのSkyboxがうまく機能しなかったので、自分用覚書に。 症状としてはMaterialが問答無用に真っ黒になる、というものでした。

MaterialからShaderが外れているならば、紫になるはずなので、真っ黒ならShader自体はくっついているはずです。

原因はGraphicsAPIに

Edit>GraphicsEmulationを見てみましょう。
何もいじっていなければUnity5.4.1f現在、OpenGL ES2.0になっているはずです。
f:id:AkiIro:20161106165451p:plain
一方で、PlayerSettingsを開いてOtherSettings>AutoGraphicsAPIにチェックがついているのを確認してください。
犯人はそいつです。チェックを外してみるとおそらく次のようになっています。
f:id:AkiIro:20161106165736p:plain
ここからOpenGLES3を外してやればUnityEditor上の表示と一致するはずです。

参考(情報元)

answers.unity3d.com