【Unity2017】Canvasがチラつく場合の対処法

Unity

モンスターのHPゲージの仕様を変えたら、Canvasがなんか妙にチラつきだした。

気のせいかな、と思いつつ何度か検証してみても、やはりチラつく。

まったく原因が分からず、悩むこと数時間。

やっとこさ答えに辿り着きました……

 

原因

「RenderModeがScreen Space – OverlayであるCanvasをヒエラルキーの下位層に配置したこと」

実はHPゲージの仕様変更の際、「新しいモンスター追加するときに楽かなー」なんて思って、HPゲージをモンスターの子オブジェクトにしていました。

WorldSpaceとかなら問題無いっぽいんですが、Overlayだとダメなんですね……
全ッ然知りませんでした……orz

Unityの公式マニュアルをよーく見ると、注意書きにちゃんと書いてありました。

 

 

対処法

はてさて、いつもの如く取説よく読んでなかったせいで貴重な作業時間を棒に振った私ですが、更に仕様変更するのも億劫だったので、↓こんなスクリプトをCanvasにアタッチすることで解決しました。

これでゲーム実行時にCanvasがヒエラルキーの最上位に移動してくれます。

まあ、普通に別の仕様考えるべきだよね、うん。

コメント