HMS Core線上Codelabs挑戰賽第3期中,開發者通過學習和運用HMS Core開發的3D建模服務,生成3D建模應用demo,再使用demo為自己身邊的一個實物完成建模。在提交的作品中,小編發現原來鞋、街景、手辦、玩具這些都可以3D建模!你還能想到什么?看了以下這些作品,也許會有靈感。
1.1 3D建模之手辦、鞋、街景系列(附零基礎完整實現教程)
作品帖:【HMS Core挑戰賽第3期】3D建模技術應用-【手辦】【鞋】【街景系列】-附零基礎完整實現教程*-華為開發者論壇 (huawei.com)
·3D建模應用:
·作品“全家福”展示:
(上圖手辦、街景座椅、消防栓等模型均使用HMS Core 3D建模服務制作)
GIF演示圖
·實現流程:
1.2 3D建模之玩偶
作品帖:【HMS Core挑戰賽第3期】3D建模客廳玩具-華為開發者論壇 (huawei.com)
在2021年的HDC開發者大會上,我現場嘗試了Codelabs,體驗到華為為開發者開放的許多創新功能。后來,我發現codelabs正在線上做3D建模挑戰活動。我十分感興趣並決定動手學習一番。
根據活動要求,我總結了以下幾步:
1.Android Studio運行示例工程,安裝到手機上
剛開始下載示例工程后,用Android Studio打開並運行成功,但在手機上傳時卻提示“Data Processing Location not set”。因此,參考Hms Core官方賬號回復:“在開發應用前,需要在AppGallery Connect中配置相關信息”(https://developer.huawei.com/consumer/cn/doc/development/graphics-Guides/config-agc-0000001142925473?ha_source=hms1)
據官網文檔:先注冊開發者,創建應用,生成簽名證書指紋,配置簽名證書指紋,打開相關服務,設置默認數據處理位置,設置數據留存期限。接着修改示例工程:更新AndroidManifest.xml中的package,更新應用級別build.gradle中的applicaionId,然后示例工程相關文件夾rename(設置成與創建的應用ID相同),重新編譯,再在手機運行就能上傳和下載模型了。
2.使用app拍攝3D物體並在線生成3D模型
萬事開頭難!剛開始用手機拍攝我就遇到了困難:由於沒有穩定的轉盤工具,徒手拍了十幾次(用手拿着手機對着物體轉圈),結果提示建模失敗,或建出來的模型不堪入目:
變則通,不變則壅。每次上傳--在線建模--下載模型的過程要差不多5~10分鍾,於是再細看活動說明,發現建模物體體積要大於15 x 15 x 15cm,決定重新選擇合適的物體后再次嘗試。同時我聯想到旋轉辦公椅不正是一個天然轉盤嗎?說時遲,那時快,趕緊站了起來,在椅子上放上箱子墊高底部,在最上面以白板作底、白牆作背,剛好拼湊出一個“舞台”,固定好手機拍攝位置,手搖辦公椅轉動模式開始運作。
這樣一來效果明顯好了很多,隨着拍攝次數的增多,我也漸漸掌握了一些關鍵點:
-
每次固定一個相機角度拍攝一圈,轉速要均勻。
-
最多拍攝上傳數是200張,為了讓這些圖片都有效,每次拍攝完一圈后要按暫停,調整新的拍攝角度后再繼續。
-
透明和半透明物體的建模效果不行,容易模糊。
-
每個角度拍攝前,最好微調一下燈光位置,使拍攝的效果更佳。
-
物體內部如果有遮擋結構,很難完全拍清,需要盡量避免。
-
拍攝底部時需要把物體側放(漏出底部),這時一定注意側放后的物體不能變形(會出現重影)。如果無法保證不出現形變,最好想辦法固定它的形狀。
后來,我還入手了電動轉盤,成片率更是快速提高;
3.把3D模型文件導出並運行到手機上
最后一步要把生成的模型運行在手機上,導出的模型有obj和gltf兩種格式,都是主流3D應用支持的,找個3D接口或者3D引擎接入就可以了。
我選用了Unity(比較快速),新建空白工程,創建背景hdr,中間放個桌子,添加桌子紋理,調整好攝像機視角,添加光源。然后把所有模型obj方式導出的文件放進工程里,逐個拖進去,擺放好在桌面上。為了增加些動效,我還給每個模型添加了自動旋轉的組件,最后就完成了作品全家福:
欲了解3D建模服務,請至官網:
https://developer.huawei.com/consumer/cn/hms/huawei-3d-modeling?ha_source=hms1
服務演示DEMO:
https://github.com/HMS-Core/hms-3d-modeling-demo?ha_source=hms1
參考開發指導文檔,快速完成基礎數據上報:
Android SDK集成文檔
https://developer.huawei.com/consumer/cn/doc/development/graphics-Guides/introduction-0000001143077297?ha_source=hms1
(開發者授權發布)
了解更多詳情>>
訪問華為開發者聯盟官網
獲取開發指導文檔
華為移動服務開源倉庫地址:GitHub、Gitee
關注我們,第一時間了解 HMS Core 最新技術資訊~