編程問題您說Verge3D基于Three.js。它與Three.js API兼容嗎?為了創(chuàng)建Verge3D,我們大量修改了Three.js代碼庫,因此我們決定對API使用“v3d”前綴。但是,我們將嘗試維護(hù)與Three.js的源代碼兼容性。大多數(shù)基于Three.js的應(yīng)用程序和示例都可以在Verge3D中運行,無需進(jìn)行任何修改。 如何在調(diào)整大小時保留場景比例?我們希望所有對象,無論它們與攝像機(jī)的距離如何,都顯示相同的大小,即使調(diào)整了窗口的大小。解決此問題的關(guān)鍵公式是該公式針對給定距離的可見高度:
如果我們將窗口高度增加一定百分比,那么我們想要的是在所有距離處的可見高度都以相同百分比增加。不能通過更改相機(jī)位置來做到這一點。相反,您必須更改相機(jī)的視野。例子。 我的應(yīng)用程序窗口在iOS設(shè)備上不斷拉長。如何解決?如果將Verge3D應(yīng)用程序嵌入iframe元素中,則可能會遇到iOS設(shè)備上的特定問題,這會導(dǎo)致iframe的大小不斷增加,超出瀏覽器窗口的范圍。反過來,這可能導(dǎo)致WebGL崩潰。 要解決此問題,您可以使用以下代碼段,該代碼段將iframe調(diào)整為頁面主體的尺寸,以防止該iframe超出頁面范圍。
鍵盤控件不適用于內(nèi)嵌在iframe中的應(yīng)用。當(dāng)頁面上的其他HTML獲得焦點時,就會發(fā)生這種情況。要解決此問題,請嘗試以下代碼:
其中my_iframe_id是iframe元素的ID。 |
|