リジェクトされる?
iPhoneXシリーズからホームボタンがなくなった&上にノッチができた。
画面内のホームバーと、ノッチのへこんでいない部分にはUIを置いたらダメなんだって;;
セーフエリアと呼ばれる場所に置く必要がある><
セーフエリアの範囲 pic.twitter.com/MYwEM2ZjVK
— ツキコウ (@ASD_jp) 2020年7月14日
確実にリジェクトされるのかな~?よくわからないな
ちょうどノッチのへこんでる部分にUIがはまってて操作しやすかったのに!
Unityで確認
UnityのDeviceSimulatorでSafeAreaをオンにしたら表示される
ちなみに
対応
CanvasとUIの間に、画面いっぱいのStretchにしたRectTransformをはさむ
そしてこれの大きさをSafeAreaによって変える。
そのスクリプトはいろいろあったけど、私はこちらのを使った。
ーーー
追記
ただしAwakeじゃなくてStartにする!!!
上のコードで実機(iPhone12Pro)ビルドしたらセーフエリアに対応しなかった。
こちらの記事通りAwakeじゃなくてStartにしたら直った!Unity2019.4でやってるけどまだバグ直ってないのかな?それとも別かな?
ーーー
AssetStoreにもあるみたい。おそらくスクリプトだけなので同じ感じだと思う
テラシュールさんにもある
この処理をしたうえで、Playeを押してDeviceSimulatorで見たら、ちゃんとセーフエリア内に収まってた!
AwakeじゃなくてStartでする!!!
DeviceSimulatorではちゃんと動くけど、実機(iPhone12Pro)ビルドしたらセーフエリアに対応しなかった。
Unity2019.4
全画面
全画面の背景Imageがあったんだけど、これはどうしよう?
SafeAreaオブジェクトの下に入れたら、セーフエリア内に収まって、後ろに隠れてた3Dオブジェクトが見えてしまった><
どうしたらいいんだろう?
SafeArea配下に置かない背景用画像をオンオフするか、そもそも全画面UIのときは、背景をCameraで映さないようにする?
こちらが参考にいなりそう
UGUI以外の部分はカメラをセーフエリア内に移動させてしまえばいいと思います。Viewport Rectを計算してセーフエリアに合わせましょう。カメラを2台用意して帯や枠を全画面に映して、その上にゲーム画面を乗っけるのが一番手っ取り早いかもしれませんね。
結局、全画面背景画像をSafeArea外で作った。
もしくは全画面画像だけストレッチから大幅にはみ出させるでも、まあ問題ないかも
参考
Unity2020.3で入れたDeviceSimulatorは