微吼云上線多路互動直播服務 加速多場景互動直播落地
1722
2025-03-31
該文章是WebView 插件系列文章,傳送門:瀏覽器插件3D WebView專欄
上一篇文章對3D WebView 插件的Demo示例場景做了一個簡單的說明介紹
那本篇文章就來介紹下 該插件不同平臺版本 之間的區別和注意事項
插件不同平臺版本的區別和注意事項
在前的文章中也介紹過該插件有對應不同平臺的不同版本
分別是Windows /Mac、Android、IOS和UWP/Hololens等幾個版本
在這里說一下分為這幾個版本都有什么特點以及注意事項
首先,這個插件的不同版本都是可以在電腦上導入Unity工程的!
并不是說我使用的Android版本,就需要用Android系統來開發~ 那顯然是不可能的
我們正常在使用Unity開發的時候都是Windows電腦和Mac電腦
所有版本的插件都是可以正常導入電腦的Unity中去使用的!這一點一定要清晰知道!
有的小伙伴可能會問,那分為這么多版本是干什么的呢?
那是因為不同的版本只能在不同系統的真機上使用!
什么意思呢,就是我導入了一個Windows/Mac版本的插件,在自己的電腦端可以正常使用
但是當你想打包成Apk去裝進手機用,那肯定是不行的,因為你買的是電腦端版本的插件
其次,假如我導入的是Android版本的插件,那我在電腦端直接沒法顯示,他會提示平臺版本不正確
雖然可以正常寫代碼,使用插件的腳本,但是由于導入的是Android版本,所以電腦端是無法看得一個正常的網頁視圖的
其他所有版本都是一樣的,在電腦端都看不到顯示網頁視圖的效果,直接運行在電腦端都是下面這個效果
不過打包到對應插件版本的平臺都是可以正常顯示的,只是用電腦開發的時候沒法實時的看效果很頭疼!
所以這里要特別注意,假如我最終開發的項目是用在Android手機端的,那我就需要導入· Android版本的插件· 和 ·Windows/Mac版本· 的插件
一定要導入這兩個,我們才能正常在電腦端開發的時候,實時的看到網頁視圖顯示的效果,然后打包成APK正常裝到手機上使用!
如果不同版本的插件都有,只要是版本號一致,那就可以都導入進去,不會發生沖突,這樣就沒什么顧慮了~
安卓設置:
將“圖形 API”設置為“OpenGLES3”或“OpenGLES2”
將“最低 API 級別”設置為“Android 5.0 Lollipop”(或更高)
驗證“構建系統”是否設置為“Gradle”(默認)
IOS設置:
iOS 無需更改 Unity 播放器設置
視窗設置:
將“Windows 圖形 API”設置為“Direct3D11”
macOS 設置:
將“Mac 圖形 API”設置為“金屬”
驗證是否啟用了“Metal Editor Support”
通用 Windows 平臺 (UWP) 設置:
將“構建類型”設置為“XAML 項目”(這是支持 webview 所必需的)
禁用“自動圖形 API”
將“圖形 API”設置為“Direct3D11”
如果針對 Hololens 2,請禁用“圖形作業”
在“發布設置”中,啟用以下功能:“InternetClient”、“SpatialPerception”
(可選)如果使用混合現實工具包 (MRTK),請將以下符號添加到“腳本定義符號”以啟用 MRTK 指針兼容性:VUPLEX_MRTK
打包不同版本的時候,要將上面都設置好了才行,要不然可能會出現打包出錯的問題
這個插件的Android平臺有兩個版本,一個是普通的Android 3D WebView,另一個是3D WebView for Android with Gecko Engine
這兩個版本區別還是挺大的,要不然也會額外的分出來
簡單一句話:如果是打包給普通的Android手機用,那就使用普通的Android平臺的插件;如果是要在VR設備上用,那就使用3D WebView for Android with Gecko Engine 就好了!
官方解釋:
這兩個版本使用的是不同的瀏覽器引擎
3D WebView for Android使用 Android 的內置系統 WebView作為其瀏覽器引擎。
帶有 Gecko 引擎的 Android 3D WebView嵌入了 Mozilla 的Gecko 瀏覽器引擎,它提供了更好的穩定性,并為 VR 耳機上的鼠標交互提供了更好的支持。
原生3D WebView for Android包推薦用于普通的 Android 開發,因為它的原生庫體積更小,并且支持Native 2D Mode。
但是,如果您正在為 Oculus Quest 之類的 VR 耳機開發,那么建議使用帶有 Gecko Engine 的 Android 3D WebView。
如果您愿意,您可以同時使用這兩個版本以獲得兩全其美的效果。
然后是分別介紹下這兩個版本的優缺點:
3D WebView for Android
3D WebView for Android使用 Android 的內置系統 WebView作為其瀏覽器引擎。
優點
具有較小的存儲空間(< 2 MB),因為瀏覽器引擎內置于操作系統而不是庫中。
支持原生 2D 模式。
支持原生屏幕鍵盤。
支持透明的 webviews。
在帶有 Google Play 商店的設備上,系統 WebView會自動與最新版本的 Chromium 保持同步。
缺點
由于 System WebView 軟件包是操作系統的一部分,因此它可能因設備而異:
在 Oculus Quest 上,不支持懸停交互,有時點擊交互也不起作用。這是因為 Quest 的 System WebView 存在一個錯誤,該錯誤會阻止 3D WebView 用于分派鼠標事件的正常方法正常工作。因此,3D WebView 必須回退到使用 javaScript 分派鼠標事件。
雖然系統 WebView 自動更新到最新版本的 Chromium 通常是一件好事,但如果最新版本的 Chromium 引入錯誤,則可能會出現問題。例如,Chromium v 91 引入了一個錯誤,它暫時破壞了 System WebView 的 SetInitialScale() API。此錯誤已在 Chromium v 92 中修復,但它暫時影響了 3D WebView 的功能。
3D WebView for Android with Gecko Engine
帶有 Gecko 引擎的 Android 3D WebView使用 Mozilla 的GeckoView庫作為其瀏覽器引擎。
優點
鼠標事件和懸停效果很好,即使在 Oculus Quest 上也是如此。
由于 Gecko 瀏覽器引擎是作為 3D WebView 庫的一部分嵌入的:
由于 Android 設備的變化,它不太容易出現問題。
由于瀏覽器引擎會自動更新,因此不容易出現問題。
缺點
具有更大的存儲空間,因為瀏覽器引擎嵌入在庫中而不是操作系統中。GeckoView 庫使應用程序 APK 的大小增加了約 50 MB,Unity 項目的大小增加了約 164 MB。
不支持Native 2D Mode。
不支持本機屏幕鍵盤。
不支持透明 webviews。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。