大家可以在异形屏的手机上分别打印Screen.safeArea和Screen.width、Screen.height来观察它们值的差异. 关于该接口的说明可以参考下图或官方文档.(这个接口在2020和以下版本的Unity中, 对于灵动岛设备支持有问题, 可以自己通过设备信息或Objective-c的代码进行替代,...
5. 然后在需要适配的页面内使用 css 常量 constant(safe-area-inset-bottom)、env(safe-area-inset-bottom) 来适配,参考:为iPhoneX设计网站。微信小程序模拟器不支持,以真机为准。 比如为列表底部添加内边距避开安全区,在 iPhoneX 上列表底部会有内边距,在其他设备上没有内边距: .list { padding-bottom: 0; ...
物理材质 物理材质可设定物体的表面材质,不同的材质可影响碰撞后的物理效果,Unity提供了物理材质包, Import Package->Physic Materials,有5种常用,弹性(Bouncy),冰(Ice),金属(Metal),橡胶(Rubber),木头(Wood), 角色控制器:Unity已经提供了角色控制器的包,其中有第一人称与第三人称,只需要导入即可Import Package->...
采用Unity自带的函数 Screen.safeArea,在横屏下其中的X值就代表刘海的高度,Unity版本使用的是2017 privateIEnumeratorInitNotchiOS(){floatnotchSize=Screen.safeArea.x;if
1、第一种简单粗暴,直接在打包那里进行设置,对安全区域以为的地方不进行渲染 2、计算异型区域的高,在UI展示的时候进行适配, 需要进行适配的UI必须放在同一父级下面,如图所示 适配的代码如下 publicvoidApplyVerticalSafeArea(RectTransform SafeArea){varbottomPixels=Screen.safeArea.y;vartopPixel=Screen.currentResolution...
Unity UGUI在刘海屏手机的屏幕适配主要是针对iPhoneX的适配。 解决方法是每一个界面的最上层都是一个横纵Stretch自动拉伸的,当检测到当前是IPhoneX时,打开界面代码自动设置Left Top Right Bottom 为44。 通过分辨率来判断当前手机是不是iPhoneX。 /// /// 自适应...
Unity UGUI在刘海屏手机的屏幕适配主要是针对iPhoneX的适配。 解决方法是每一个界面的最上层都是一个横纵Stretch自动拉伸的,当检测到当前是IPhoneX时,打开界面代码自动设置Left Top Right Bottom 为44。 通过分辨率来判断当前手机是不是iPhoneX。 /// /// 自适应...
1.首先要检测是否是刘海屏。这里可以使用平台和分辨率来判断,也可以读取SystemInfo.deviceModel获取设备型号,或者用这个UnityEngine.iOS.Device.generation也可以,主要是要实现这么个接口就好。 2.如果是刘海屏,对需要设置适配的UI(只有那些交互元素贴边的UI需要适配,其余不需要),设置其最底层Panel的offsetMin或者offsetMax(...
在iOS系统中,可以利用Unity自带的函数Screen.safeArea获取刘海高度。通过这个信息,开发者可以设置UI偏移,确保游戏界面在刘海区域不被遮挡。在实现时,可以使用UGUI来调整UI布局,通过Anchor属性来设置RectTransform的矩形范围,根据刘海高度和屏幕宽度计算出合适的偏移量,从而实现界面的适配。通过在横屏游戏的...
return new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("currentActivity"); else return null; } 2.获取到android jar包中的关于刘海屏相关代码启动部分。 3.根据当前activity初始化,获取到当前手机厂商 4.判断是否是androidP系统 (Build.VERSION.SDK_INT >= Build.VERSION_COD...