W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
推薦使用glTF(gl傳輸格式)來對(duì)三維物體進(jìn)行導(dǎo)入和導(dǎo)出,由于glTF這種格式專注于在程序運(yùn)行時(shí)呈現(xiàn)三維物體,因此它的傳輸效率非常高,且加載速度非???。
three.js同樣也為其它廣受歡迎的格式(例如FBX、Collada以及OBJ等)提供了載入工具。即便如此,你應(yīng)當(dāng)還是首先嘗試著在你的項(xiàng)目中建立一個(gè)基于glTF的工作流程。 了解更多詳細(xì)信息,請(qǐng)查看載入3D模型。
<meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
這些標(biāo)簽用于在移動(dòng)端瀏覽器上控制視口的大小和縮放(頁面內(nèi)容可能會(huì)以與可視區(qū)域不同的大小來呈現(xiàn))。
MDN: Using the viewport meta tag
我們希望所有的物體,無論它們距離攝像機(jī)有多遠(yuǎn),都能呈現(xiàn)相同尺寸,即使是在窗口被重新調(diào)整大小的時(shí)候。 解決這個(gè)問題的關(guān)鍵,是一個(gè)很重要的公式:給定距離,求可見高度
visible_height = 2 * Math.tan( ( Math.PI / 180 ) * camera.fov / 2 ) * distance_from_camera;
如果我們以一定的百分比增加了窗口的高度,那我們所想要的結(jié)果便是所有距離的可見高度都增加相同的百分比。 這并不能通過改變攝像機(jī)的位置來實(shí)現(xiàn),相反,你得改變攝像機(jī)的視野角度(FOV)。這是個(gè)示例:Example.
這可能是由于面剔除而導(dǎo)致的。面是具有朝向的,這個(gè)朝向決定了哪邊是正面或者哪邊是背面。 在正常情況下,渲染時(shí)會(huì)將背面進(jìn)行剔除。要查看這是不是你所遇到的問題,請(qǐng)將material的side更改為THREE.DoubleSide。
material.side = THREE.DoubleSide
出于性能考慮,大多數(shù)情況下 three.js 不驗(yàn)證輸入。確保所有輸入均有效是你的應(yīng)用的責(zé)任。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: