three.js
使用ES6標準
三大組建
場景(scene)、相機(camera)和渲染器(renderer)。有了這三樣東西,才能將物體渲染到網(wǎng)頁中去。
場景
場景是所有物體的容器,如果要顯示一個蘋果,就需要將蘋果對象加入場景中。
相機
相機決定了場景中那個角度的景色會顯示出來。相機就像人的眼睛一樣,人站在不同位置,抬頭或者低頭都能夠看到不同的景色。
場景只有一種,但是相機卻又很多種。和現(xiàn)實中一樣,不同的相機確定了呈相的各個方面。比如有的相機適合人像,有的相機適合風景,專業(yè)的攝影師根據(jù)實際用途不一樣,選擇不同的相機。對程序員來說,只要設(shè)置不同的相機參數(shù),就能夠讓相機產(chǎn)生不一樣的效果。
渲染器
渲染器決定了渲染的結(jié)果應該畫在頁面的什么元素上面,并且以怎樣的方式來繪制。
創(chuàng)建三大組件 -> 添加物體到場景 -> 渲染
trhee組成:
// https://threejs.org/docs/#api/zh/
WebVR
需要2件事: 一個頭戴設(shè)備,一個支持VR的瀏覽器
判斷是否支持VR
XR設(shè)備判斷方法:
if ( 'xr' in navigator ) {
navigator.xr.requestDevice().then( function ( device ) {
device.supportsSession( { immersive: true, exclusive: true /* DEPRECATED */ } )
.then( function () { showEnterXR( device ); } )
.catch( showVRNotFound );
} ).catch( showVRNotFound );
}
VR設(shè)備判斷方法:
if ( 'getVRDisplays' in navigator ) {
navigator.getVRDisplays()
.then( function ( displays ) {
if ( displays.length > 0 ) {
showEnterVR( displays[ 0 ] );
} else {
showVRNotFound();
}
} ).catch( showVRNotFound );
}
科普:
VR:虛擬現(xiàn)實- Virtual Reality
是利用設(shè)備模擬產(chǎn)生一個虛擬世界,提供用戶關(guān)于視覺、聽覺等感官的模擬,有十足的“沉浸感”與“臨場感”。簡單的說就是,你戴上一個VR眼鏡(注意:戴上去后你就看不到現(xiàn)實世界了)看到的所有東西都是計算機生成的,都是虛擬的。典型的設(shè)備就是暴風魔鏡。VR需要用一個不透明的頭戴設(shè)備完成虛擬世界里的沉浸體驗,你看到的是一個100%的虛擬世界
AR:增強現(xiàn)實 - Augmented Reality
增強現(xiàn)實技術(shù)是一種將真實世界信息和虛擬世界信息“無縫”集成的新技術(shù),它把原本在現(xiàn)實世界的一定時間空間范圍內(nèi)很難體驗到的實體信息(視覺信息、聲音、味道、觸覺等),通過電腦等科學技術(shù),模擬仿真后再疊加,將虛擬的信息應用到真實世界,被人類感官所感知,從而達到超越現(xiàn)實的感官體驗。真實的環(huán)境和虛擬的物體實時地疊加到了同一個畫面或空間同時存在。AR需要清晰的頭戴設(shè)備看清真實世界和重疊在上面的信息和圖像,以現(xiàn)實世界的實體為主體,借助于數(shù)字技術(shù)幫助消費者更好地探索現(xiàn)實世界和與之交付。AR設(shè)備創(chuàng)造的虛擬物體,是可以明顯看出是虛擬的,比如GoogleGlass投射出的隨你而動的虛擬信息
MR:混合現(xiàn)實- Mixed Reality
將真實世界和虛擬世界混合在一起,來產(chǎn)生新的可視化環(huán)境,環(huán)境中同時包含了物理實體與虛擬信息,并且必須是“實時的”。MR設(shè)備直接向視網(wǎng)膜投射整個4維光場,用戶看到的虛擬物體和真實物體幾乎是無法區(qū)分的。
CR:電影現(xiàn)實- Cinematic Reality
影像現(xiàn)實,意思是虛擬場景跟電影特效一樣逼真。這是Google投資的MagicLeap提出的概念,主要為了強調(diào)與VR、AR技術(shù)的不同。實際上理念是類似的,均是模糊物理世界與虛擬世界的便捷,所完成的任務、所應用的場景、所提供的內(nèi)容,與MR產(chǎn)品是相似的,所以后來好像他們的發(fā)言人也把自己歸做MR了。
XR:擴展現(xiàn)實- Extended Reality
擴展現(xiàn)實是指通過計算機技術(shù)和可穿戴設(shè)備產(chǎn)生的一個真實與虛擬組合的、可人機交互的環(huán)境。擴展現(xiàn)實包括增強現(xiàn)實(AR),虛擬現(xiàn)實(VR),混合現(xiàn)實(MR)等多種形式。換句話說,為了避免概念混淆,XR其實是一個總稱,包括了AR,VR,MR。XR分為多個層次,從通過有限傳感器輸入的虛擬世界到完全沉浸式的虛擬世界。