在畫布應用程式中載入 3D 模型
從各種來源在畫布應用程式中載入 3D 模型。 您可以從附件或媒體內容、直接 URL 或 Base64 編碼的 URI (統一資源識別項) 取得模型。
請確定您的 3D 模型已針對 Power Apps 的使用進行了最佳化,以將載入時間降至最低。
從一般連接器載入 3D 模型
從附件或媒體內容載入 3D 模型,會依支援資料連接器的方式而定。 若要檢查資料連接器是否適用於混合實境控制項,請在畫布應用程式中新增標籤控制項,並將 Text 屬性設定為資料來源。 如果標籤文字的開頭為 appres://
,則此資料連接器應該使用 3D 物件控制項。
提示
您可以將 .glb 副檔名重新命名為 .jpg,然後透過媒體索引標籤直接將其上傳到應用程式。
從 Microsoft Lists 載入 3D 模型
首先,在 SharePoint 中建立清單,並為您要安裝在應用程式中的每個 3D 模型新增項目。
- 使用 Microsoft Lists 建立清單。
- 選取 + 新增資料行資料行標題,然後選取顯示/隱藏資料行。
- 選取附件,然後選取套用。
- 新增項目至清單。 在項目表單中,選取新增附件,然後選取您的 3D 模型檔案。
- 對要包括在應用程式中的每個模型重複此步驟。
然後,將資源庫新增至應用程式,將其來源設定為清單,新增 3D 物件控制項,並將其來源設定為資源庫。
- 在 Power Apps Studio 中 新增資源庫。
- 將資源庫資料來源設定為清單。
- 新增 3D 物件控制項。
- 在 Advanced 屬性索引標籤中,將來源設為 First(Gallery1.Selected.Attachments).Value。
從 Excel 活頁簿載入 3D 模型
首先,在 OneDrive 包含模型檔案的相同資料夾中建立 Excel 活頁簿。 對要包含在應用程式中的每個模型新增含有資料列的資料表。
建立 Excel 活頁簿並將其儲存在包含模型檔案的 OneDrive 資料夾中。
在活頁簿中,建立一個包含名為 3DModel [image] 和 Name 資料行的資料表。
為要在應用程式資源庫中顯示的每個模型新增資料列。 在Name 資料行中輸入模型的標籤,在 3DModel [image] 資料行中輸入模型文件的相對檔案路徑。
關閉活頁簿。
然後,將資源庫新增至應用程式,將其來源設定為 Excel 活頁簿,新增 3D 物件控制項,並將其來源設定為資源庫。
- 在 Power Apps Studio 中 新增資源庫。
- 使用 OneDrive 連接器將資源庫資料來源設定為 Excel 活頁簿。
- 新增 3D 物件控制項。
- 在 Advanced 屬性索引標籤中,將來源設為 Gallery1.Selected.'3DModel'。
從 URL 載入 3D 模型
3D 物件控制項的 Source 屬性可以是 3D 模型檔案的 URL。
3D 模型檔案必須位於沒有限制性跨原始來源共用 (CORS) 設定的伺服器上。 主控伺服器必須允許來自 powerapps.com 的跨原始要求。 您可以使用 Dropbox 或 GitHub 來託管您的檔案,並取得符合 CORS 的 URL。
在 Dropbox 中託管您的 3D 模型文件
- 將 3D 模型檔案上傳至 Dropbox 並選取共用。
- 產生公用下載連結。 例如,https://www.dropbox.com/s/rANdoMGeneR4tedLink/my-file.glb?dl=0。
- 用以下方法修改 URL:將 www 取代為 dl,並在結尾移除 ?dl=0。
您現在有直接存取 URL (在我們的範例 https://dl.dropbox.com/s/rANdoMGeneR4tedLink/my-file.glb 中),您可以使用它做為 3D 控制項的來源。
在 GitHub 中託管您的 3D 模型文件
- 請確定 3D 模型檔案儲存在公用存放庫中。
- 取得檔案的 URL。 例如,https://github.com/microsoft/experimental-pcf-control-assets/blob/master/robot_arm.glb。
- 用以下方法修改 URL:移除 /blob/,並將 https://github.com 取代為 https://raw.githubusercontent.com。
您現在有符合 CORS 的 URL (在我們的範例 https://raw.githubusercontent.com/microsoft/experimental-pcf-control-assets/master/robot_arm.glb 中),您可以使用它做為 3D 控制項的來源。
載入 Base64 編碼的 3D 模型
3D 物件控制項的 Source 屬性可以是 Base64 編碼的 3D 模型資料 URI,格式為 data:base64,<Base64-encoded content>。
重要
如果您使用 Base64 編碼模型,您的應用程式可能需要較長的時間才能載入。
您可以使用 Microsoft Power Automate 或 Microsoft Dataverse 建立模型的 Base64 編碼 URI。
使用 Microsoft Power Automate 建立 Base64 編碼的 3D 模型
Power Automate 可以使用 dataUri(base64(file content)) 運算式,將儲存在 SharePoint 文件庫中的 3D 模型檔案轉換為 Base64。
在以下範例中,名為 3DModelBase64Library 的文件庫和名為 3DModelBase64 的清單存在於相同的 SharePoint 網站中。 此清單必須包括類型為多行文字的資料行。
在文件庫中,根據在 SharePoint 中新增檔案時,完成自定動作範本來建立流程。
將文件庫名稱設定為 3DModelBase64Library (此範例中的文件庫名稱)。
新增步驟,從 SharePoint 取得檔案內容。
將檔案識別碼設定為識別碼。
新增步驟,從 SharePoint 建立項目。
將清單名稱設為 3DModelBase64 (此範例中的清單名稱),並將標題設定為具有副檔名的檔案名稱。
將 dataUri 設定為下列運算式:
concat('data:model/gltf-binary;base64,', Last(split(dataUri(base64(body('Get_file_content'))), ',')))
將檔案新增至文件庫時,流程會執行,並將檔案轉換成 Base64 編碼的資料 URI。
在 Power Apps Studio 中,使用 SharePoint 資料連接器將 3D 物件控制項連接至清單。 將控制項的 Source 屬性設定為 Base64 編碼的資料 URI。
使用 Microsoft Dataverse 建立 Base64 編碼的 3D 模型
Microsoft Dataverse 中的說明 (註解) 表格會將文件欄位中附加的所有檔案轉換為 Base64。
在畫布應用程式中的 URL 載入 3D 模型時的已知限制
- Power Apps 的資訊安全性架構需要 HTTPS 連結,而不是 HTTP。
- 託管模型檔案的伺服器不得要求驗證,而且必須符合 CORS。