まきゼミ技事録!

とあるゼミのプログラマー達が送る技術ブログのようなもの

Unity初心者がUIを実装した話 マップ編

どうも、ぴょんさんです。

わけあって久しぶりの更新になります。あれです、夏休みの宿題を夏の終わりに慌ててやる学生みたいになっていました。

 

そんなこんなで今回は、前回の続きとして「マップ編」です。

ちなみに前回はこれ↓

makizemi.hatenablog.com

 

環境

  • Unity2017.4.0f1

 

マップ系UIを実装する

経験者からするとわざわざシェーダを書いてマテリアルで実装するよりかは、uGUIとスクリプトで実装するほうが楽かもしれません。(私は勉強をしたくなかったのです。)

 

実装する上で大事なのが、移動・回転・拡大縮小です。(ゲーム によってはいらないものもあるかもしれませんが)

シェーダでも移動・回転・拡大縮小はできちゃいます。そのコードがこちらになります。

↑こんな感じで行列計算を行い、移動、回転、拡大縮小を組み合わせることで、自由な動きを作成することができます。

 

実装したものは、こんな感じ↓になります。赤い三角形のアイコンの座標等が変わっていることがわかると思います。

f:id:MakiZemi:20180906205036g:plain

マップのテクスチャとアイコンのテクスチャはlerpという関数で重ねています。

lerpは線形補間値を返してくれる関数ですが、シェーダだと↑こんな感じでテクスチャを重ねることにも使えます。

 

まとめ

以上、Unity初心者がUIを実装した話 マップ編でした。がんばればシェーダで色々できちゃうので、使える場面では是非使ってみてください。もちろんデメリットもあると思うので、その辺はケースバイケースで...。

 

参考にしたところ

thebookofshaders.com

 

おわり(。-`ω-)