德扑之星有限公司官方网站

 

如何在Web中構建3D模型以及通過JS實現交互操作

 

Web 2.0 Web 3.0 的網站開發⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,目前比較流行的是VR/AR/3D等沉浸式體驗的開發ⓣⓤⓥⓦⓧⓨⓩ,因此3D Web開發越來越流行✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,本文就分享一下3D模型如何快速的構建以及應用到網頁中✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,從而可以實現三維導航✺ϟ☇♤♧♡♢♠♣♥,樓宇導航☧☬☸✡♁✙♆。,、':∶;,室內導航等功能①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯。

整體的流程如下:1. 建模 - 2. 添加材質 - 3. 導入網頁 - 4. 集成其他數據并進行展示 

我們就以上面4個步驟分別介紹3D模型的構建步驟⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ。

 

 

 

基礎概念

 

首先✺ϟ☇♤♧♡♢♠♣♥,3D的模型需要用3D軟件模型構建出來⒜⒝⒞⒟⒠⒡⒢⒣⒤,這里分享的是用軟件Rhino(犀牛)進行建模✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。我們開發網站都得做到占用內存越少訪問越快☈⊙☉℃℉❅,所以很多細節我們可以用貼圖來替代⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,不然加載一個幾十兆的模型對使用者很不友好㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂。

 

 

上圖是力求精細的反面教材ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,每個窗戶的形狀及位置都精確的畫了出來☾☽❄☃,導致每次加載都用了二三十秒的時間㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,這個等待時間在網頁使用中是極其不友好的⒥⒦⒧⒨⒩⒪⒫⒬⒭⒮⒯⒰⒱⒲⒳⒴⒵❆❇❈❉❊†☨✞✝☥☦☓☩☯,所以在此基礎上我們做了優化①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯,只做簡單的輪廓ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,如下圖所示✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴。

 

通過簡化模型☾☽❄☃,從70M直接降到3M⑰⑱⑲⑳⓪⓿❶❷❸❹❺,大大的加快了加載的時間ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ。這樣Web和手機加載就比較快ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ。

 

 

貼圖及添加材質

 

對于3D建模ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,其中有一個小技巧就是ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,可以在平面圖畫出我們要的細節效果⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,直接貼到模型上面☧☬☸✡♁✙♆。,、':∶;。

平面效果替代局部模型無論在內存還是在效果上都是比較好的選擇㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉。

我們在平面中畫了多張相關效果圖ⓣⓤⓥⓦⓧⓨⓩ,包括:屋頂✵✶✷✸✹✺✻✼❄❅、墻體ⓊⓋⓌⓍⓎⓏⓐⓑⓒⓓⓔⓕⓖⓗⓘⓙ、飄臺跟2種窗戶♀☿☼☀☁☂☄,設置重復便可以得到我們要的效果了♀☿☼☀☁☂☄。

 

 

到這里我們需要把模型導入一個叫keyshot的渲染軟件里面⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓,keyshot擁有塑料㈠㈡㈢㈣㈤㈥㈦、噴漆웃유ღ♋♂、紡織品等多種現成的材質❻❼❽❾❿⓫⓬⓭⓮⓯⓰,初學者非常容易上手웃유ღ♋♂,有興趣可以了解一下這里不加以贅述㈠㈡㈢㈣㈤㈥㈦。

除了優化材質我們還需要通過這軟件把模型轉化成GLB格式❻❼❽❾❿⓫⓬⓭⓮⓯⓰,GLB是WEB支持的3D格式✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,網站通過渲染GLB格式以及JS代碼❣❦❧♡۵,就可以在網頁上展示3D模型✺ϟ☇♤♧♡♢♠♣♥,并且可以通過JS的實現觸摸的交互事件♀☿☼☀☁☂☄。 

 

 

所有模型的材質✵✶✷✸✹✺✻✼❄❅,包括:高光ⓚⓛⓜⓝⓞⓟⓠⓡⓢ、折射率✺ϟ☇♤♧♡♢♠♣♥、粗糙度都可以進行調整⑰⑱⑲⑳⓪⓿❶❷❸❹❺,雖然這里也可以控制環境等相關參數⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾,但是最終會在網頁設置的環境中進行展示㈧㈨㈩⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂,建議最后在代碼環境中加以設置ⓣⓤⓥⓦⓧⓨⓩ。

 

 

 

生成網頁代碼

 

建好3D模型之后♀☿☼☀☁☂☄,我們就可以把3D模型轉成網頁可以用的代碼ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ,關于轉換㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,網上有很多工具❻❼❽❾❿⓫⓬⓭⓮⓯⓰,我們就直接拿過來用即可

比如  https://modelviewer.dev/editor/

 

需要注意的是:該平臺只支持GLB格式㈠㈡㈢㈣㈤㈥㈦,并且很多渲染器沒法把材質寫進文件中㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,需要實現嘗試再進行添加材質❻❼❽❾❿⓫⓬⓭⓮⓯⓰。

導入模型后我們就可以直接在網頁中控制模型并利用右側欄目中的參數進行調節☾☽❄☃。可以調節的參數包括:環境光ⒺⒻⒼⒽⒾⒿⓀⓁⓂⓃⓄⓅⓆⓇⓈⓉ、動畫⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ、熱點標簽⒔⒕⒖⒗⒘⒙⒚⒛ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅰⅱ、攝像機角度웃유ღ♋♂、瀏覽范圍☧☬☸✡♁✙♆。,、':∶;、模型材質(顏色✵✶✷✸✹✺✻✼❄❅、貼圖ⓣⓤⓥⓦⓧⓨⓩ、透明度㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉、漫反射等)♀☿☼☀☁☂☄。 

把相關參數導出㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,交給前端工程師就可以得到以下效果了:

 

點擊此處㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉,體驗VR和3D>>❻❼❽❾❿⓫⓬⓭⓮⓯⓰!

 

創作不易✤✥❋✦✧✩✰✪✫✬✭✮✯❂✡★✱✲✳✴,轉載請注明出處☈⊙☉℃℉❅!

 

更多Drupal以及內容管理系統ⓣⓤⓥⓦⓧⓨⓩ,請參考我們其他相關文章ⓚⓛⓜⓝⓞⓟⓠⓡⓢ,

 

1①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯、全景沉浸式Web VR制作中如何選擇全景相機 (2023版本)

2㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉、基于WebVR技術的虛擬展覽館/虛擬博物館案例介紹

3⒃⒄⒅⒆⒇⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓、WebVR哪個框架好①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯?WebVR開發框架的技術選型❣❦❧♡۵,360VR技術框架⑰⑱⑲⑳⓪⓿❶❷❸❹❺。

4㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉、如何基于開源的Photo Sphere Viewer 框架開發360/720全景VR❣❦❧♡۵?

5❋❀⚘☑✓✔√☐☒✗✘ㄨ✕✖✖⋆✢✣、在線展覽和多媒體展示建設方案

6⓱⓲⓳⓴⓵⓶⓷⓸⓹⓺⓻⓼⓽⓾、使用Phaser構建2D的在線展覽系統

7ⅲⅳⅴⅵⅶⅷⅸⅹⒶⒷⒸⒹ、構建英文網站應該用什么框架✵✶✷✸✹✺✻✼❄❅?

 

德扑之星官网下载 网站地图