This repository is a sample of safe area and cutouts.
UnityEngine.Screen.safeAreaとUnityEngine.Screen.cutoutsを確認する為のサンプルです。
使用しているUnityのバージョンはUnity2021.3.13f1です。(スクリプトリファレンスにはsafeAreaはUnity2017.2、cutoutsはUnty2019.4から記載があります) Android,iOSプラットフォームに関して検証を行っており、Androidに関してはPixel3XL(実機)とAndroidエミュレーター、iOSに関してはiPhone11(実機)とiPhone14(Simulator)で確認をおこなっています。 また、こちらのページによるとAndroidでcutoutsはAndroid 9(API レベル 28)以降の端末でcutoutsで対応と記載がありますのでご注意下さい。
以下の表の順番と内容で矩形の描画を行っています。
Color | 内容 |
---|---|
赤 | 画面全体 |
青 | safeAreaの範囲 |
緑 | cutoutsの範囲 |
現時点では、AndroidではsafeAreaとcutoutsの両方、iOSではsafeAreaのみ対応しているように見えます。
iOSではcutoutsを取得するAPIをAppleが提供していない為、Unityの中で端末毎のパラメータを埋め込んでいます。その為、Unityのバージョンによってはcutoutsの値が取れない端末が発生します。 Unity2021.3.13f1ではiPhone14系の端末のcutoutsの情報が含まれていません。 詳細に関しては、Unityが出力したxcodeプロジェクトに含まれる、UnityView.mmで定義されているGetCutoutToScreenRatio()を確認して下さい。
以上