釋出時間:2020年7月27日
下載地址:https://verge3d.funjoy.tech/get-verge3d
作為面向藝術家與設計師的WebGL開發套件,Verge3D一直在可用性和易用性角度做出改進與升級。
Verge3D 3.3 版顯著加快了應用的載入速度及整體效能,引入了用拼圖將Verge3D場景匯出為glTF格式的方式,並實現了動態畫布紋理。此版本還增加了一些新的拼圖,改進了匯出器外掛的一致性,支援了Woocommerce的全域性產品屬性。請從下文中瞭解更多新增特性與效能改進。
基於使用者的關注,此版本我們將最佳化的重心放在最佳化載入效率方向。著色器編譯通常是載入過程中的瓶頸,經過新版本對此執行的一系列最佳化,場景的載入速度有了顯著地提升(部分場景可達3倍)。
這些最佳化措施包括:
其中一些最佳化嗨提高了Verge3D的渲染效能,尤其是在低端硬體或移動裝置上。
現在可以以glTF格式匯出物件、物件組或整個場景,可用.gltf或.glb(二進位制)兩種格式。
此拼圖可用於儲存應用中的配置好的物體。
為了獲得最佳效果,以及建立可由第三方glTF檢視器(如Microsoft Windows 10的預設glTF檢視器)開啟的標準glTF檔案(不帶Soft8Soft/Verge3D副檔名),我們建議您使用與glTF相容的材質。
您現在可以在**tween camera(攝影機補間)**拼圖中選擇球形軌跡了。球形軌跡意味著攝影機將圍繞中心軸,以插值距離作為半徑,旋轉到新位置。
當新的視點位於模型後面時,此功能尤其有用。對於軌道攝影機,球面軌跡更為自然,可以防止攝影機在移動途中與模型發生交叉現象。
另外,tween camera(攝影機補間)拼圖現在可以使用附近物體的座標,座標可以用列表或向量方式提供給拼圖。
HTML畫布現在可以作為材質紋理使用了。可以使用新引入的HTML拼圖create canvas elem來建立<canvas>
元素,並如之前一樣為材質指定紋理,即使用replace texture(替換紋理)拼圖。
一旦建立好,畫布即可透過JavaScript進行繪製。您可以在以應用名開頭的js檔案(your_app_name.js)的runCode()
功能更新畫布。為此,請在此處使用拼圖中指定的ID來檢索畫布紋理:
var canvasTex = v3d.puzzles.canvasTextures['my_canvas'];
之後,您可以按如下方式訪問HTML畫布元素:
var canvas = canvasTex.image;
您可以使用可用於在HTML畫布上繪製的標準方法。例如,如下程式碼即在白色背景上畫了一個藍色的笑臉:
var ctx = canvas.getContext("2d");
ctx.fillStyle = 'white';
ctx.strokeStyle = 'blue';
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.arc(75, 75, 50, 0, Math.PI * 2, true); // Outer circle
ctx.moveTo(110, 75);
ctx.arc(75, 75, 35, 0, Math.PI, false); // Mouth (clockwise)
ctx.moveTo(65, 65);
ctx.arc(60, 65, 5, 0, Math.PI * 2, true); // Left eye
ctx.moveTo(95, 65);
ctx.arc(90, 65, 5, 0, Math.PI * 2, true); // Right eye
ctx.stroke();
最後,如果您希望更新在3D渲染中立即可見,則應該將畫布紋理標記為動態:
canvasTex.needsUpdate = true;
為更新相關文件,我們審查了所有的Eevee節點,並修復了其中發現的一些問題:
當缺少世界材質時,保持燈光與場景中的設定一致。
在Point(點光)和Spot(聚光)燈光中支援了Custom Distance(自定義距離) 引數。
修復了曲線物件缺少材質時導致的匯出器崩潰問題。
為以下節點優化了著色器程式碼:Diffuse BSDF, Glossy BSDF, Glass BSDF, Translucent BSDF, 和Refraction BSDF. 這樣有助於提升整體效能並加快載入速度(見上文描述)。
將拼相簿中的Misc(雜項)類重新命名為了Advanced(高階),並在此類中新增wait promise和promise value拼圖。
可以使用這些拼圖取回來自JavaScript promises 中檢索的資料,這些資料由generate normal map(生成法線貼圖)和export glTF(匯出glTF)拼圖返回。
部署了新的Material(材質)拼圖:get color(獲取顏色)和get value(獲取值)與先前可用的set color(設定顏色)和set value(設定值)拼圖在一起提供。
拼圖get object transform(獲取物件位移)現在可以使用列表同時檢索三個座標系資訊。
這個選項可以用於直接為向量拼圖提供輸出。
現在在JavaScript方法 Geometry.fromBufferGeometry()
中可以正常使用頂點色了。
新版提供了之前僅在企業版中提供的Verge3D執行時(run-time)變體v3d.module.js。這一方式修復了執行示例程式碼時遇到的大部分問題。
如果需要在JavaScript程式碼中匯入宣告,,可以使用此執行時。這個模組也簡化了您在自己的程式設計專案中嵌入Verge3D程式碼的過程。
在Verge3D WordPress外掛中支援了WooCommerce的全域性產品屬性。
為3.2版本中引入的高階程式碼合併功能做了進一步的改進、加速和穩定性最佳化。
為引擎著色器程式碼做了一些程式碼清理和重構。
在穩定中做了各種小的改進,包括修復失效連結、缺失的媒體檔案等。
修復了應用管理器中與應用更新功能相關的一些錯誤,同時提高了更新的穩定性。
修復了退出應用時的記憶體洩漏錯誤。
修復了論壇中上報使用JavaScript為物件指定自定義材質時的崩潰問題。
修復了論壇中上報的create environment(建立環境)拼圖出現的翻轉問題。
[admin
]