uGUI基本設定[Canvas]
はじめに
uGUIリリースされてから、一体どれぐらいたったのかわからない。
いままで仕事上ではNGUI使っていたので、逃げていたけれど
ついにuGUI触ってみようかな、と。
環境
Unity2018.2f
Canvasの作成
まずは基本としてRootに当たる部分を作らないとね。
えーと、GameObject > UI > Canvas っと。
あれでしょ、ここで画面解像度の差分を吸収するんでしょ?
NGUIのUI Panelみたいなもんでしょ?
デフォルトでくっついてるComponentは下記4つ。
・Rect Transform
・Canvas
・Canvas Scaler
・Graphic Raycaster
まずはCanvas
RenderModeが3種類
・ScreenSpaceOverlay 2D Canvas を使用してシーンの最後にレンダリングします
・ScreenSpaceCamera Canvas の Camera 設定を使用してレンダリングします
・WorldSpace レイヤーをレンダリングできる Camera を使用してレンダリングします
ScreenSpaceOverlayは必ず一番最後に描画されて
ScreenSpaceCameraはアタッチされているCameraのdepthに依存するのかな?
WorldSpaceは同layerを描画対象にしているCameraを使うのか。その場合の描画順序はOrder In Layerに準ずるんだろうか。っていうか、そもそもuGUIの描画順序把握してないや。
まぁサンプルなのでUIが一番手前でいいでしょ、ってことで、ScreenSpaceOverlayを使用。
切り替えたら、またよくわからないのが出てきたぞー。
sort orderって必ず一番手前に来るんじゃないの?って思うんだけど、同設定のCanvasがあった場合の表示順序ってことなのかな。あとで試してみるべ。
targetDisplayもadditional Shader Channelsもリファレンスに情報ないんだけどwどういうことw
targetDisplay
docs.unity3d.com
モバイルデバイス全然関係なさそうでワロタ。platform、スマホにしてるんだから隠しといてくれよw
additional Shader Channels
tsubakit1.hateblo.jp
あーなるほど。これは便利かもしれない。
これは独自のshader作るときに応用ききそうだなぁ。
特にアトラス化したテクスチャ使う時とか。
意外と長くなったので、ここまで。
次回は次のコンポーネントの話ができれば。