999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Verge3D的3D技術在網頁中的應用

2022-02-22 01:07:20王辰啟王一帆陳翔宇梁創恒劉亞萍
電腦知識與技術 2022年36期
關鍵詞:動畫定義模型

王辰啟 王一帆 陳翔宇 梁創恒 劉亞萍

關鍵詞:Verge3D;網頁;應用;3D 技術

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2022)36-0092-03

隨著互聯網技術的不斷發展,網頁技術的融合、創新與突破給Web3D發展提供了良好的條件,不僅是在傳統的客戶端類網頁,還是在當下流行的手機端網頁,漸漸地都可以看到3D圖形的影子。現在,制作3D 網頁所流行的工具大部分為基于WebGL[1]的three.js 引擎,采用JavaScript代碼封裝WebGL部分功能的庫,Verge3D 進一步對three.js 進行封裝,面向的用戶更廣,渲染三維模型更加簡潔。

1 3D 技術發展與問題

隨著Web2.0的興起,3D網頁的相關開發與設計也在不斷地探索與實踐,3D網頁自身的直觀性、可交互性能夠吸引更多的用戶,推動其自身的經濟價值的實現,WebGL的出現使得3D網頁從理論變為了實踐,但在3D網頁進行制作的過程中,如果直接使用Web?GL進行制作,由于其原理復雜,上手難度較大,會影響開發效率,同時提高設計與開發難度,影響設計開發的總體花費。因此,實際應用中,會采用對WebGL 封裝成3D 圖形引擎庫來制作網頁中的3D 動畫和模型。

2 Verge3D 技術支持分析

Verge3D底層封裝了three.js、tween.js、ammo.js等JavaScript庫,從源碼上進行解析,還要回歸到WebGL(Web Graphics Library),即3D繪圖協議,這種繪圖技術標準允許把JavaScript和OpenGL Es 2.0結合在一起,通過OpenGL ES 2.0的一個JavaScript綁定,WebGL可以為HTML5 Canvas提供硬件3D加速渲染。在Web?GL應用過程中,省卻了確保3D 網頁運行的插件的安裝,能夠直接通過Javascript 的腳本語言來確保Web交互式三維動畫的制作與實現;其次,WebGL 的應用也能夠對3D 模型的渲染起到加速作用,其直接通過OpenGL 的接口,對圖形硬件的加速功能進行應用,從而提高模型和圖形渲染的效果和質量[2-3]。

Three.js則是對WebGL進行了封裝,是運行在瀏覽器的3D 引擎,用JavaScript 編寫的WebGL 第三方庫,相對于WebGL原生的API添加了更多的圖形引擎,只需開發者調用相應的API就可以直接在瀏覽器中創建豐富的3D場景,無須再考慮如何進行場景的渲染[4-5]。

如果說WebGL為了解決的網頁插件和跨平臺問題,three.js為了解決編程簡單化和可視化問題,那么Verge3D就是為了解決以下問題:第一,網頁3D實現度不高,材料系統以及物理渲染煩瑣;第二,編程代碼煩瑣,對程序員本身要求較高,適應群眾較窄;第三,提供的接口較少,兼容主流軟件較少;實現的3D頁面通過以下幾個特點解決:

(1)PBR材質

PBR(Physicallly-Based Rendering),指基于物理渲染材質。生活中物體顯示出的顏色通常由兩種因素決定:自身因素和外部因素,外部因素大部分是由光照決定;因此基于物體就需關注物體本身和光照兩個方面。首先對于物體本身,考慮物體表面不可能是絕對光滑的平面,所以需要引入微表面理論,基于微表面進行研究;然后需要關注光的物理性質,光包括了顏色、光通量、光強度、光亮度等一系列概念,擁有諸如反射、折射等性質,還會產生諸如菲涅爾等效果;此外在光與物體交互時,光線可能發生遮擋,也可能被吸收,要遵循能量守恒定律。所以概括來說就是在遵循微表面理論,光學特性和能量守恒的前提下,根據物體本身特性通過數學推算出的物體表面的屬性集就叫作PBR材質。

在應用的過程中,通常情況下會根據物體的金屬度和粗糙度兩個屬性一同構建PBR材質,通過cooktorrence模型中提到的F、G、D來說明金屬度和粗糙度是如何影響PBR材質的[6]。

(2)Puzzles拼圖編輯器

Puzzles拼圖編輯器,也稱為可視化邏輯編輯器,基于谷歌開源項目Blockly進行的開發,方式類似MIT 的兒童編程語言Scratch,類似玩樂高積木一樣一塊塊拼圖構建出應用程序。每一個圖形對應的都是代碼塊,如圖1所示,原理則是將Blockly代碼塊中代碼轉換成JavaScript,Dart,Python或者XML代碼,之后編譯器對轉換的代碼進行處理,實現所需要的邏輯效果。[7-9]

(3)glTF格式

glTF格式本質上是一個JSON文件。這一文件描述了整個3D場景的內容。它包含了對場景結構進行描述的場景圖。場景中的3D對象通過場景節點引用網格進行定義。材質定義了3D對象的外觀,動畫定義了3D對象的變換操作(比如選擇、平移操作)。蒙皮定義了3D對象如何進行骨骼變換,相機定義了渲染程序的視錐體設置。場景對象將以數組的形式存儲在JSON文件中。

glTF格式的JSON部分頂級元素如圖2所示:scene:glTF格式的場景結構描述條目。它通過引用node來定義場景圖。

node:場景圖中的一個節點。它可以包含一個變換(比如旋轉或平移),引用更多的子結點。它可以引用網格和相機,以及描述網格變換的蒙皮。

camera:定義了用于渲染場景的視錐體配置。

mesh:描述了場景中出現的3D對象的網格數據。它引用的accessor對象可以用來訪問真實的幾何數據。它引用的material對象定義了3D對象的外觀。

skin:定義了用于蒙皮的參數,參數的值通過一個accessor對象獲得。

animation:描述了一些節點如何隨時間進行變換(比如旋轉或平移)。

accessor:一個訪問任意數據的抽象數據源。被mesh、skin和animation元素使用來提供幾何數據,蒙皮參數和基于時間的動畫值。它通過引用一個bufferView對象,來引用實際的二進制數據。

material:包含了定義3D對象外觀的參數。它通常引用了用于3D對象渲染的texture對象。

texture:定義了一個sampler對象和一個image對象。sampler對象定義了image對象在3D對象上的張貼方式[10]。

需要注意的是,上述都是常規的glTF結構,但是在實際的應用場景中,一些幾何文件、紋理文件,包括圖片文件都不在這個json文件中,因此需要外部引入,于是glTF也采用了和3d tiles一樣的uri方式引入文件,除此之外glTF還可以讀取和管理外部的文件,如二進制文件,圖片文件等等。

3 Verge3D 制作3D網頁

在應用的過程中,Verge3D不用再和three.js一樣需要學習大量的模型代碼進行構建模型,也不需要關心在構建模型的同時構建動畫等效果,只需要在自己所熟悉的三維設計工具中構建模型,最后發布到網頁上進行動畫的拼圖實現即可。所以Verge3D在3D網頁開發中可以分成兩個部分,第一部分為3D模型構建部分,第二部分為3D模型部署在網頁的部分:

(1)模型構建

在應用的過程中,Verge3D具有glTF這樣的格式,再加上當前前端主流開發模式采用vue+node.js的開發方式,使得JSON文件在前端的數據交換變得十分的常見,所以Verge3D兼容市面上大部分3D建模開發工具,如Blender、3dMax、Maya等,人們可以借助這些3D建模開發工具,來實現整個網頁制作過程中對場景的構建,攝像機的擺放,材質的渲染。模型的構建大概方式如下:

第一、新建App

相當于為3D模型創建一個三維場景,該場景提供模板和模塊。

第二、在建模軟件導入相關插件

Verge3D提供了多種插件以滿足多種建模軟件的需要,提供glTF的導出格式,使得建模軟件創建的數據能以JSON的格式傳入到前段頁面。

第三、建立模型

模型可直接通過軟件進行建立,不必再利用代碼實現模型對象的創建,同時可以直接設置好渲染器,攝像機,光源,物體的材質,世界的環境等。最后都會以JSON對象的形式導出為glTF文件。

(2)網頁部署

在我們通過自己的三維設計模型工具成功導出glTF格式的模型后,可以對模型再次加工使其具有如動畫,事件等功能,同時還要將該模型鑲嵌在網頁當中,大致方法如下:

第一、拼圖編程事件綁定

將模型導出到Verge3D后,便可對傳入glTF文件進行解析,在網頁端渲染成3D頁面,Verge3D提供的拼圖式編程,可以讓人們為3D模型對象直接添加動畫或者事件。

第二、網頁構建

Verge3D支持將文件上傳至云,也可以部署到本地服務器中,在我們自己的頁面中,只需要在元素中調取對應url,就可以在個人的網頁中實現3D效果。最終效果如圖3所示。

4 Verge3D 的優勢總結

Verge3D在3D網頁開發中的優勢十分明顯,首先因其結合了多種3D網頁編程的js庫,功能上向下兼容,可拓展性更強,其次在這些基礎上延伸出可視化編程,方便了零計算機基礎的藝術家和高計算機基礎的程序員進行3D網頁開發。并且因其具有PBR材質的渲染,所能達到的效果也比較驚人,外加簡單的開發步驟,只需要導出為相對應的格式,就可以實現3D 場景。

5 結束語

本文旨在讓更多的人了解到3D網頁的開發,對Verge3D的技術支持和開發方式進行了簡單的分析,簡單介紹了運用Verge3D與其他開發軟件進行3D網頁開發的異同,Verge3D作為一種工具,提高了設計師設計頁面的開發效率。3D網頁開發作為當前網絡趨勢,在更加未來的元宇宙構建當中,無疑會成為其核心力量,這也說明了3D網頁還有很長的路要走,還有很多值得去學習。

猜你喜歡
動畫定義模型
一半模型
做個動畫給你看
重要模型『一線三等角』
動畫發展史
重尾非線性自回歸模型自加權M-估計的漸近分布
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
3D打印中的模型分割與打包
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 国产亚洲精品无码专| 国产精品第三页在线看| 欧美午夜久久| 国产高清自拍视频| yjizz国产在线视频网| 老色鬼久久亚洲AV综合| 无码国产伊人| 日韩国产另类| 伊人色在线视频| 亚洲男人的天堂久久香蕉| 国禁国产you女视频网站| 欧美在线国产| a在线亚洲男人的天堂试看| 毛片大全免费观看| 国产精品手机在线观看你懂的 | 国产高潮流白浆视频| 免费观看国产小粉嫩喷水| 91精品啪在线观看国产| 日韩二区三区| 欧美伦理一区| 国产欧美专区在线观看| 日韩欧美国产另类| 青青操国产| 欧美精品另类| 多人乱p欧美在线观看| 亚洲AV无码乱码在线观看裸奔 | 日韩精品成人网页视频在线 | 国产成人欧美| 色噜噜综合网| 亚洲欧美精品一中文字幕| 国产老女人精品免费视频| 97国产精品视频人人做人人爱| av在线5g无码天天| 激情五月婷婷综合网| 国产精品美女免费视频大全| 国产视频久久久久| 内射人妻无套中出无码| www.av男人.com| 国产96在线 | 久草网视频在线| 91精品国产自产在线观看| 国产在线小视频| 久久 午夜福利 张柏芝| 国产乱子伦精品视频| 乱人伦视频中文字幕在线| 国产精品亚洲一区二区三区在线观看| 亚洲婷婷丁香| 亚洲大学生视频在线播放| 亚洲天堂网在线观看视频| 中文字幕无码中文字幕有码在线| 亚洲欧美日韩久久精品| 国产精品部在线观看| 无码中文字幕乱码免费2| 欧美人与动牲交a欧美精品| 亚卅精品无码久久毛片乌克兰 | 夜精品a一区二区三区| 亚洲中文字幕日产无码2021| 久久综合九九亚洲一区| 亚洲AⅤ综合在线欧美一区| 国产真实乱子伦精品视手机观看 | 婷婷六月激情综合一区| 2021国产精品自拍| 伊人久久综在合线亚洲91| 免费在线观看av| 白浆免费视频国产精品视频| 国产乱人伦AV在线A| 欧美亚洲网| 666精品国产精品亚洲| 日本三区视频| 青青草久久伊人| 亚洲欧美不卡视频| 亚洲色图另类| 2024av在线无码中文最新| 国产精品网曝门免费视频| 91成人免费观看| 国产精品区视频中文字幕| 成人国产精品一级毛片天堂| 在线欧美一区| 青青国产在线| 国产微拍精品| a级毛片免费网站| 国产精品欧美激情|