前言
AR Quick Look讓使用者使用iOS的Safari浏覽器打開網頁,網頁中的3D模型可以被放置在現實環境中的任何表面上。
使用者可以與3D模型互動:使用手勢移動和縮放3D模型,點選拍照鍵拍照,長按拍照鍵錄制視訊,并通過Safari浏覽器的分享按鈕分享給他人。
AR Quick Look的效果如下:
一、準備工作
建立一個網頁,在網頁中加入以下代碼。
<
屬性rel="ar":表示連結位址用AR Quick Look模式打開,否則會下載下傳檔案。
屬性href:.usdz格式的檔案。該檔案是一個3D模型,可以将常見的.fbx、.obj、.gltf等格式轉換為usdz格式。
屬性src:一個圖檔位址。AR Quick Look模式要求在a标簽中必須顯示一個圖檔。
注1:如果使用純文字連結.usdz檔案,則需要配置HTTP伺服器,為.usdz擴充名增加MIME類型,讓Safari知道這是一個需要AR Quick Look模式打開的檔案。
注2:純文字連結的使用者體驗:使用者點選文字連結,Safari首先顯示一個.usdz檔案的縮略圖,接着使用者點選縮略圖才進入AR Quick Look模式。
舉例:apache的MIME配置
AddType model/vnd.usdz+zip usdz
二、添加自定義按鈕
自定義按鈕的效果如下:
可自定義的部分:
配置參數:callToAction:按鈕顯示文本。
checkoutTitle:标題
checkoutSubtitle:副标題
price:價格
注1:如果無法在一行顯示副标題和價格,則會裁剪和顯示省略号。文字需要用URL編碼處理。
&checkoutTitle=Biplane%20Toy
注2:4個配置參數callToAction、checkoutTitle、checkoutSubtitle、price等都不能為空。如果為空,則自定義橫幅不顯示。
注3:純文字連結.usdz檔案,不會顯示橫幅。
三、添加自定義HTML
自定義HTML的效果如下:
配置參數:
custom:用于橫幅顯示的一個絕對位址URL。
customHeight:橫幅的高度,支援的值:small、medium、large等。
注1:AR Quick Look隻顯示HTML的内容,如果HTML包含嵌傳入連結接和事件等操作,會被忽略。
https
注2:自定義HTML包含的視訊,即使設定自動播放,也不會播放。
四、檢測使用者點選的事件
當使用者點選自定義按鈕時,Safari會向a标簽發送事件。
<a id="custome-link" rel="ar"
href=model.usdz#custom=https://example.com/page.html">
<img src="poster.jpg">
</a>
在網頁中監聽a标簽的message事件,當event.data的值為_apple_ar_quicklook_button_tapped時,表示使用者點選了AR Quick Look的橫幅。
var linkElement = document.getElementById("custome-link");
linkElement.addEventListener("message", function (event) {
if (event.data === "_apple_ar_quicklook_button_tapped") {
// 自定義點選事件
}
}, false);
注:點選AR Quick Look橫幅中的自定義HTML,會退出AR Quick Look界面。在監聽a标簽的message事件中,會檢測到點選了橫幅。
五、使用限制
硬體:iPhone 6S及以上、新款iPad、iPad Mini 5及以上。
軟體:iOS 12及以上。
iOS 12:在網頁中浏覽.usdz檔案。
iOS 13:除了浏覽.usdz檔案,還可浏覽Reality Composer建立的.reality檔案。另外,模型可以放大到很多倍,比如放大房屋模型,使用者可以進入房屋模型裡面浏覽。
iOS 13.3:支援添加自定義橫幅。
iOS 13.4:支援播放.usdz檔案中的音頻。