テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】uGUIのボタンクリック後のハイライトを消す

UnityのuGUIでボタンを作った時、クリック後にハイライトが消えない事があります。この場合、例えば下のような感じで動きます。
対象をクリック後、明らかにハイライトが残っているのが分かります。

f:id:tsubaki_t1:20160215225751g:plain

このハイライトが残っているのは、単純にUIがゲームパット等で上下出来るようにフォーカスが残っているのが原因です。
例えば任意のボタンを押した状態からゲームパットの上下を選択すると動かすことが出来ると思います。この時の動きは、ボタンのNavigationのVisualizeを押すと確認する事が出来ます。矢印が移動方向です。

f:id:tsubaki_t1:20160215230126j:plain

つまり、このNavigationの機能をOFFにしてやれば、ハイライトが残るような事はありません。OFFにするには、ButtonのNavigationをNoneに設定します。

f:id:tsubaki_t1:20160215230347j:plain

f:id:tsubaki_t1:20160215225045g:plain

ちなみに余り意味は無いですが、EventSystem.current.SetSelectedGameObject(null);でもフォーカスを外すことが出来ます。

関連

How do I control which GUI item has input focus? | Unity Community

westhillapps.blog.jp