VRをやっているとuGUIではなくQuadを空中に浮くパネルとして使いたいことがあると思うんですけど、そのときのQuadを角丸にしたい。
・Blenderとかで角丸のメッシュを作る
・テクスチャを角丸にする
・Mask機能?
が考えられるかな
MaskはUIだけか
Blenderで角丸メッシュを作る
Blender2.8
Planeを置く。
編集モードで頂点を選んで、Ctrl+Bを押して何かをクリックすると下にベベル画面が出てくる。
頂点のみにチェックを入れて、幅やセグメントの数字を変えると、角丸の大きさや滑らかさが変わる。
もしくはモディファイアー>ベベルでもできた。
同じように「頂点のみ」にチェックを入れて幅とセグメントを調整
objで書き出し
Unityでメッシュセット
別にQuadにメッシュを差し込む必要はないけど、差し込むならMeshの部分を読み込んだ角丸オブジェクトのメッシュにする。私はdefaultっていう名前だった
向きが違った。
テクスチャを角丸
↓白くて見えないかもしれませんが、角丸の四角をXDなどで用意します
QuadのテクスチャにセットしてTransparent
いいね!
でもこの方法だと別のテクスチャを入れたいときや、VideoPlayerを付けたときにテクスチャが置き換わって丸角にならなくなる。
シェーダー
乗算できるシェーダーだと二つのテクスチャを使えそう.
作っていただきました😌
できました!
VideoPlayerでもいけた
最後に
メッシュを変えるより、UIとシェーダー調整のほうがパフォーマンス良いのかな
Blenderおまけ
平面メッシュといえば昔丸や三角のメッシュを作ったのを思い出した!!
平面丸を作る
昔作った平面丸を再び作ってみる。3年前だからバージョンも変わって、UIの名前も変わってた。
Add>Mesh>Circleでメッシュなしのサークルができる
なぜかメッシュがない。
Add>Mesh>Circleを押した直後だけに左下に出てくる「円を追加」を開く
それのフィルタイプをNゴンなどにするとメッシュがつく!
「UVを生成」にもチェックを入れておく
もしくは、編集モードにして、頂点>頂点からの新規辺/面(もしくはF)で面ができる。
でもこの方法だと、UVがついていないので、Unityでテクスチャを付けようとしてもつかない。
日本語化
英語分からないので日本語にする。Edit>Preference>Interface>Translationにチェック
日本語選んでInterfaceにチェック入れるとすぐに切り替わる!
2.83だとBlenderを立ち上げたときに出てくるダイアログでも変更できた。