💡
原文中文,约3700字,阅读约需9分钟。
📝
内容提要
VR系统中显示2D应用的问题主要涉及分辨率和DPI。解决方法是根据调用者的身份返回正确的DisplayInfo给用户。获取Density的方法也需要进行拦截,以确保显示正常。
🎯
关键要点
- 在 VR 系统中,显示 2D 应用主要通过 VirtualDisplay 方式,确保正常显示是基本功能。
- VR 眼镜的分辨率通常很高,显示 2D 应用时需要保持正常的分辨率和 DPI。
- 建议将分辨率设置为 1920*1080 或更小,以避免影响 Unity 的纹理大小。
- DPI 的计算需要考虑屏幕大小,推荐使用 4.95 英寸的常见屏幕进行计算。
- 获取屏幕信息时,直接使用主屏幕的大小可能导致显示不正常,需要根据调用者身份返回正确的 DisplayInfo。
- 在获取屏幕宽高时,需指定 DisplayId,避免使用默认的主屏幕信息。
- 获取 Density 的方法需要拦截,以确保根据正确的 Context 获取屏幕信息。
- 在 Zygote 启动时获取资源信息时,需注意 binder 无法使用的情况,需加判断。
➡️