簡體   English   中英

3DS Max => ThreeJs。 出口現場

[英]3DS Max => ThreeJs. Export scene

我在3ds Max中有一個場景,我想以threejs導出。 問題是紋理似乎沒有出現在threejs中,並且對象變形了。

這是我的工作流程(我是trijs的新手,所以必須有一些錯誤的步驟):

  1. 從3ds Max導出到.obj + .mtl(對象是簡單的網格,材質是標准的)

  2. 導入Blender 2.66以使用io_mesh_threejs將場景轉換為JavaScript(因為我無法為3ds Max找到合適的轉換器)。

  3. 導出后我無法在threejs中看到我的場景,但如果我在沒有材料的情況下導出它就可以了。

此外,我發現坐標系不同,導致不可預測的場景放置和交互性。

我想知道你是否有任何關於如何直接從3ds Max導出我的場景到JavaScript的建議?

您可以使用A3dsViewer將3ds模型導出到three.js中,並直接在瀏覽器中預覽結果。

實際上,使用“ThreeJSExporter”腳本,只需復制腳本代碼並在3dsMax中運行腳本(代碼https://github.com/timoxley/threejs/blob/master/utils/exporters/max/ThreeJSExporter.ms )是否可以在沒有任何安裝或命令行的情況下運行.ms文件。 然后你將獲得.js文件(json),手動檢查該文件以確保避免數組中的“#”字符(我花了很多時間找到這個錯誤源),這些值有時會產生腳本重新計算了數據,我用數字改變了這些值(“#”的出現不需要改變字符串:-)),然后只使用THREE.js的加載器。

這是代碼:

var loader = new THREE.JSONLoader();
loader.load( 'js/file.js', function ( geometry ) {
        var mesh = new THREE.Mesh( geometry, new THREE.MeshBasicMaterial({color: 0x07624a}) );
                        mesh.position.x =0;
                        mesh.position.y =0;
                        mesh.position.z =0;
        scene.add( mesh );
});

這是WebGL Render的場景。 介於兩者之間,我發現推薦使用OBJLoader而不是JSONLoader,但是使用THREE.js r71,JSONLoader更適合我。

類似方法的來源: http//bkcore.com/blog/3d/webgl-three-js-workflow-tips.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM