產(chǎn)品三維模型在線預(yù)覽

產(chǎn)品在線展示案例預(yù)覽

  1. 玉鐲在線預(yù)覽:http://www.yanhuangxueyuan.com/3D/yuzhuo.html
  2. 汽車在線預(yù)覽:http://www.yanhuangxueyuan.com/3D/car.html

Web3D技術(shù)歷史

可通過插件或WebGL技術(shù)實(shí)現(xiàn)Web3D,在線網(wǎng)頁上預(yù)覽操作三維模型。

插件

最早實(shí)現(xiàn)Web3D技術(shù)所有技術(shù)方案,基本都要依賴特定插件來實(shí)現(xiàn),渲染效率、渲染質(zhì)量都有些問題,并未全面流行起來。本篇文章既然不涉及使用插件方式實(shí)現(xiàn)三維模型在線預(yù)覽,就不在展開詳述歷史上需要插件實(shí)現(xiàn)在線預(yù)覽三維模型的相關(guān)技術(shù)。

WebGL技術(shù)

說到WebGL,最容易聯(lián)想到的是OpenGL或OpenGL ES。隨著大多數(shù)瀏覽器對(duì)WebGL技術(shù)的支持,瀏覽器不需要安裝任何插件也可以實(shí)現(xiàn)三維模型的在線預(yù)覽和操作。

WebGL應(yīng)用

WebGL技術(shù)可以用于實(shí)現(xiàn)產(chǎn)品在線預(yù)覽、WebVR、Web全景、室內(nèi)裝修在線預(yù)覽、場景漫游、三維建模應(yīng)用、3D導(dǎo)航...,本文主要科普基于WebGL技術(shù)實(shí)現(xiàn)產(chǎn)品的在線預(yù)覽與交互,比如常見的數(shù)碼產(chǎn)品、珠寶首飾、轎車等。

基于WebGL技術(shù)實(shí)現(xiàn)產(chǎn)品三維模型在線預(yù)覽

如果直接通過原生WebGL API和著色器語言來實(shí)現(xiàn)相對(duì)來說比較麻煩,通常來說需要通過一款三維引擎來實(shí)現(xiàn),如果你是前端工程師你雖然學(xué)習(xí)JavaScript和HTML,但是你在做一些前端項(xiàng)目的時(shí)候會(huì)借助jquery、vuejs等庫或框架,對(duì)于3D開發(fā)也是一樣,需要一個(gè)封裝了WebGL的庫或引擎。

Three.js引擎

WebGL有多款三維引擎,國內(nèi)應(yīng)用最多的就是Three.js,Threejs的中文資料教程相對(duì)來說比較多,同時(shí)企業(yè)招聘WebGL工程師的時(shí)候,通常會(huì)要求你掌握Threejs三維引擎。
three.js的更多教程關(guān)注郭隆邦技術(shù)博客

技術(shù)流程

Threejs實(shí)現(xiàn)產(chǎn)品三維模型在線預(yù)覽,通常來說需要美術(shù)和技術(shù)相互配合來完成。

1.美術(shù)

3D美術(shù)借助3dmax或Blender或其他三維軟件進(jìn)行三維建模,渲染烘培,然后導(dǎo)出包含幾何體數(shù)據(jù)和材質(zhì)數(shù)據(jù)文件,材質(zhì)通常有一些貼圖。

2.技術(shù)

WebGL程序員通過threejs三維引擎的加載器加載解析美術(shù)導(dǎo)出的模型文件。

真實(shí)度要求

產(chǎn)品的展示渲染效果,在真實(shí)度方面,往往和游戲或動(dòng)漫不同,對(duì)要展示的三維模型通常要求真實(shí)度要高,既然要展示一個(gè)產(chǎn)品必要希望一個(gè)網(wǎng)頁展品要和真實(shí)的產(chǎn)品盡可能一樣,質(zhì)感很強(qiáng),這樣才能起到更好的營銷效果。

渲染效果

模型幾何體信息創(chuàng)建

所謂模型幾何體信息,也就是頂點(diǎn)數(shù)據(jù)。雖然threejs有很多繪制幾何體的API,但是一個(gè)復(fù)雜的曲面,如果不是比較規(guī)則的球體或圓環(huán),很難用程序去寫,通常需要美術(shù)需要用可視化的方式建模,也就是使用三維軟件,至于軟件選擇,看美術(shù)需要。

材質(zhì)參數(shù)設(shè)置兩種方式

渲染效果程序員可以通過threejs設(shè)置材質(zhì)參數(shù)實(shí)現(xiàn),也可以美術(shù)來設(shè)置并包含在導(dǎo)出的三維模型文件中。程序可能并不擅長渲染效果設(shè)置,或者說在threejs設(shè)置材質(zhì)參數(shù)遠(yuǎn)沒有三維模型中設(shè)置方便,通常來說是美術(shù)來設(shè)置決定決定渲染效果的材質(zhì)參數(shù),比如透明度、高光、金屬度等參數(shù)。

光照參數(shù)設(shè)置

如果想有更好的渲染效果,通常需要設(shè)置光照,如果光照設(shè)置的參數(shù)不恰當(dāng),渲染效果也會(huì)很大程度上打折扣,光照可以程序員來設(shè)置,也可美術(shù)設(shè)置。如果美術(shù)設(shè)置了光照信息,要注意導(dǎo)出三維模型時(shí),模型文件格式的選擇。主要有些三維模型格式并不會(huì)包含光照信息,比如stl和obj,而glTF、FBX等格式就可以包含光照信息。

動(dòng)畫效果

一些產(chǎn)品可能會(huì)有一些動(dòng)畫動(dòng)作,比如轎車、冰箱的開門動(dòng)作。通常需要美術(shù)在三維軟件中設(shè)置動(dòng)畫,導(dǎo)出模型后,程序員可以通過threejs的幀動(dòng)畫模塊相關(guān)API解析播放這些開關(guān)門動(dòng)作。要注意的是,選擇能包含動(dòng)畫信息的三維模型格式,比如glTF、FBX、threejs格式,如果選擇obj話,只能展示靜態(tài)模型。

次時(shí)代或PBR流程

通常游戲領(lǐng)域的3D美術(shù)會(huì)談到“次時(shí)代”或“PBR”的概念,你可以理解為一種建模流程。不同的流程導(dǎo)出的模型材質(zhì)有所不同,需要threejs中不同的材質(zhì)去解析。

次時(shí)代

傳統(tǒng)的方式就是創(chuàng)建次時(shí)代模型,對(duì)應(yīng)threejs中的材質(zhì)是高光網(wǎng)格材質(zhì)對(duì)象MeshPhongMaterial,通常貼圖文件包含顏色貼圖、法線貼圖和高光貼圖。

PBR

PBR相比次時(shí)代技術(shù)是一種更新的模型技術(shù),對(duì)應(yīng)threejs材質(zhì)是物理網(wǎng)格材質(zhì)MeshPhysicalMaterial或標(biāo)準(zhǔn)網(wǎng)格材質(zhì)MeshStandardMaterial。通常貼圖包含顏色貼圖、法線貼圖、金屬度貼圖、粗糙度貼圖。

比較

高光網(wǎng)格材質(zhì)MeshPhongMaterial具有高光顏色和強(qiáng)度屬性,而物理網(wǎng)格材質(zhì)MeshPhysicalMaterial沒有高光相關(guān)屬性,對(duì)應(yīng)的是是金屬度和粗糙度屬性。就貼圖而言,高光強(qiáng)度對(duì)應(yīng)的是高光貼圖,金屬度對(duì)應(yīng)的是金屬度貼圖,粗糙度對(duì)應(yīng)的是粗糙度貼圖。

貼圖

顏色貼圖

顏色貼圖通過uv坐標(biāo)映射在網(wǎng)格模型表面,如果整個(gè)網(wǎng)格模型都是同一種顏色,這種情況,美術(shù)不導(dǎo)出顏色貼圖也沒有關(guān)系,如果一個(gè)網(wǎng)格模型表面不同的區(qū)域顏色不同,那就有必要使用顏色貼圖。

法線貼圖

法線貼圖主要作用是可以減少模型文件的體積,本質(zhì)就是減少頂點(diǎn)數(shù)量,減少頂點(diǎn)數(shù)量可以降低文件大小,提高網(wǎng)絡(luò)傳播速度,減少CPU頂點(diǎn)相關(guān)的計(jì)算量。對(duì)于曲面很少的模型,主要以平面構(gòu)成,有沒有法線貼圖無所謂,如果是產(chǎn)品表面是曲面,讓美術(shù)烘培法線貼圖是很必要的。

團(tuán)隊(duì)

UI和前端

完成一個(gè)網(wǎng)頁效果,通常需要UI先完成設(shè)計(jì),然后前端使用代碼實(shí)現(xiàn)。目前大多數(shù)的互聯(lián)網(wǎng)公司都是有前端工程師和UI設(shè)計(jì)師的。對(duì)Web3D而言,則需要懂3D美術(shù),和懂WebGL的技術(shù)。

美術(shù)

美術(shù)方面,可以找一個(gè)懂UI設(shè)計(jì)的3D美術(shù),短期內(nèi)培養(yǎng)UI去學(xué)習(xí)3D美術(shù),不太靠譜。如果資金充足可以專門招聘一個(gè)UI設(shè)計(jì)師和一個(gè)3D美術(shù),一個(gè)做3D模型,一個(gè)做UI設(shè)計(jì)。

技術(shù)

對(duì)于產(chǎn)品展示而言需要的WebGL知識(shí)并不是非常深入,如果公司想節(jié)約成本,完全是可以培養(yǎng)前端去學(xué)習(xí)WebGL和threejs。

交互

為了更好的效果,一個(gè)產(chǎn)品可能不僅僅實(shí)現(xiàn)在線預(yù)覽,還需要設(shè)置一些交互,這樣用戶可以在線遠(yuǎn)程體驗(yàn)產(chǎn)品。比如一個(gè)產(chǎn)品有多種顏色系列,那么可以通過UI按鈕通過點(diǎn)擊來改變模型顏色;比如一個(gè)教程需要開門動(dòng)作,可以設(shè)置一個(gè)UI按鈕進(jìn)行開關(guān)操作。

加載進(jìn)度條

模型相比普通的網(wǎng)頁文件比較大,目前技術(shù)和硬件條件下,還需要一定加載等待時(shí)間,為了更新的用戶體驗(yàn),可以通過一個(gè)進(jìn)度條組件可視化的顯示模型加載進(jìn)度。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評(píng)論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,556評(píng)論 3 418
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評(píng)論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,778評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,218評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,436評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,969評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,795評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,993評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,229評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評(píng)論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,687評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,990評(píng)論 2 374

推薦閱讀更多精彩內(nèi)容

  • 【前言】 上幾篇講解如何從高模到低模烘培出法線貼圖和環(huán)境吸收貼圖,用于渲染時(shí)解決低模表面細(xì)節(jié)問題。 現(xiàn)代游戲...
    DIGITALMAN閱讀 19,536評(píng)論 13 98
  • 公司一直在處理3D打印方面的模型技術(shù)問題,比如模型在線預(yù)覽、在線云切片、在線云打印,我們也提供了專業(yè)的3D模型文件...
    godeye閱讀 3,579評(píng)論 2 1
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,661評(píng)論 25 708
  • 七無詩: 一 高大禪床佛所可,只今寢處是頭陀。 泥塑已辱心如滓,酣睡從人笑老坡。(無床) 二 隱幾紛紜況據(jù)梧,了無...
    煜煙閱讀 1,374評(píng)論 1 0
  • 人生很復(fù)雜,不可能像像我們最初想的那樣簡單 世界很復(fù)雜,充滿了紛紛擾擾 小時(shí)候覺得大千世界很單純,人與人和平相處、...
    南小八閱讀 163評(píng)論 0 0