fullmated's blog

技術系や考え事、進捗などなど

複雑な形をしたButtonでも簡単に作れるAsset「Alpha Raycaster」を使ってみる

UnityのButtonコンポーネントで作れるボタンの形は通常長方形ですが、三角形や星形などの多角形の形をしたボタンを作りたいな〜という状況があると思います。そんな場合におすすめなのがこのAlpha Raycasterです。ただし$25かかります。

https://www.assetstore.unity3d.com/jp/#!/content/28601

Alpha RaycasterはCanvas要素以下に対して用いられます。何が行われているかというと、まずAlpha Raycasterと呼ばれる本アセット独自のRayが作られます。そして、AlphaCheck.csがアタッチされたGameObjectに対してそのRayの判定が行われています。重要なのはAlphaCheck.csがアタッチされたGameObjectのImageにおいて、透明な部分はRayが当たらないけど不透明な部分はRayとぶつかるということです。透明部はクリックできないけど不透明部はクリックできる!という優れものです。

3DのRaycastやColliderではなく、Graphic Raycasterを継承して作られていたのでuGUIに対してこのアセットが使えます。

Demoを見た方が早いので画像をば。

f:id:fullmated:20170208013309g:plain

地図のように複雑な形をしているボタンにはこのアセットがとても適していると思います。