読者です 読者をやめる 読者になる 読者になる

テラシュールブログ

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

シーンビューのオブジェクトをタップしても選択できない

Unity GUI(uGUI/NGUI/旧UI) 2D トラブルシューティング

最近シーンビューのオブジェクトを選択しようとした際、何故か上手く選択できないケースが発生しました。

f:id:tsubaki_t1:20150325001959g:plain

これはどうやらCanvasを選択してしまっている為に発生していました。Hierarchyビューをよく見ると、ボールを選択したつもりがCanvasがアクティブになっている事が分かります。

f:id:tsubaki_t1:20150325002128g:plain

この問題はCanvasのOverlayモードの起点が(x:0, y:0, z:0)にある事が原因のようです。しかし、この座標は変更できません。

自分の行っている対策

手っ取り早い解決方法は、Canvasの座標を変更することです。ですがOverlayは変更することが出来ないので、ScreenSpaceモードを使用します。

これで、カメラの位置へUIが移動してくれるので、入力ミスの発生を減らすことが出来ます。ただしカメラがもう一台必要になるため管理が面倒くさくなる等の問題が有ります。

f:id:tsubaki_t1:20150325002518p:plain

もう一つのアプローチは、自分がよくやっている手法です。

やっている事は単純に、右上のLayersでUIレイヤーにロックをかけてしまう方法です。これでシーンビューからUIレイヤーが選択できなくなりますので、誤入力が防げます。

UIを操作する時以外はUIレイヤーを非表示にしてしまうとストレス無く作業できます。ただし、UIを操作したい場合はロックを外してレイヤーを表示する必要があります。

f:id:tsubaki_t1:20150325002650p:plain

どちらの手法もケースバイケースです。

理想はCanvas (Overlay)の位置が調整出来る事なのですが…

もしくはLayerのロック・表示をボタン一発で。