如何將新 iOS 裝置的螢幕參數新增至 Cardboard SDK 和 XR 外掛程式

每年都會推出新的 iOS 裝置。如要讓 Cardboard SDK 或 Cardboard XR 外掛程式與這些新裝置搭配運作,請更新所用專案的 resolutions.csv 檔案。

資訊來源

  • 您可以從 Apple Wiki 取得模型字串。
  • 您可以從 Apple 的技術規格取得每英寸像素數 (DPI,也稱為 PPI) 值 (例如參閱 iPhone 16 規格)。

需要更新的內容

請根據您使用的是 Cardboard SDK 或 Cardboard XR 外掛程式,更新對應的 resolutions.csv 檔案:

兩者都會在執行階段從 resolutions.csv 內部動態載入裝置螢幕參數。sdk.bundle

  • 向上游的 Google Cardboard 提交新的裝置參數時,請對 Cardboard SDK 和 Cardboard XR 外掛程式存放區提交提取要求 (這兩個存放區會使用 LINT.IfChange / LINT.ThenChange 保持同步)。
  • 如果本機 Unity 專案在 Library/PackageCache/ 中使用不可變動的 UPM 套件,開發人員可以直接在 Frameworks/com.google.xr.cardboard/Runtime/iOS/sdk.bundle/resolutions.csv 下方匯出的 Xcode 專案中編輯 resolutions.csv。

resolutions.csv 的格式

請為每部裝置新增一行,並使用下列以半形逗號分隔的格式:

identifier,device_name,dpis
  • identifier:從 The Apple Wiki 取得的硬體型號字串,並將所有半形逗號替換為半形句號 (例如 iPhone17,3 會變成 iPhone17.3)。
  • device_name:裝置的行銷名稱 (例如 iPhone 16)。這個名稱不得包含半形逗號,因為執行階段剖析器 (screen_params.mm 中的 stringSplit) 會以半形逗號做為分隔符號,將名稱分割為固定 3 個元素的陣列,且不支援引號;如果名稱中含有半形逗號,DPI 權杖就會錯位,並評估為 0.0。
  • dpis:以 DPI/PPI 為單位的螢幕像素密度,後接 f (例如 460.0f)。

範例項目

iPhone17.3,iPhone 16,460.0f
iPhone17.4,iPhone 16 Plus,460.0f
iPhone17.1,iPhone 16 Pro,460.0f
iPhone17.2,iPhone 16 Pro Max,460.0f