Skip to content

katsumasa/SimpleSampleSafeAreaAndCutouts

Repository files navigation

SimpleSampleSafeAreaAndCutouts

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のみ対応しているように見えます。

Android

Pixel3XLを撮影した結果と画面をキャプチャーの比較

Pixel3XL

Pixel3XL Capture

Androidエミュレーターでの比較

punch hole

punch hole

double

double

corner

corner

iOS

iOSではcutoutsを取得するAPIをAppleが提供していない為、Unityの中で端末毎のパラメータを埋め込んでいます。その為、Unityのバージョンによってはcutoutsの値が取れない端末が発生します。 Unity2021.3.13f1ではiPhone14系の端末のcutoutsの情報が含まれていません。 詳細に関しては、Unityが出力したxcodeプロジェクトに含まれる、UnityView.mmで定義されているGetCutoutToScreenRatio()を確認して下さい。

iPhone11

iPhone14Pro

iPhone14Pro(Simulator)

iPhone14Pro

iPhone14Pro

以上

About

This repository is a sample of safe area and cutouts.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages