2012-11-01 38 views

回答

5

首先,您必须以obj格式导出模型。确保您已安装python 2.7convert_obj_three.py

把这两样你的模型和python脚本的同一文件夹中python,使其更容易 -

然后你就可以使用包含在与three.jspython脚本转换objjs格式。

然后在命令行中运行:

python convert_obj_three.py -i infile.obj -o outfile.js 

哪里infile.obj是从玛雅导出的模型的名称,outfile.js是你希望在three.js加载文件。

一旦你有一个转换的文件,你可以用类似于这里这个脚本什么的,我创建了3款加载它,但你可以用它来加载只有一个:

function loadModel() { 
    loader = new THREE.JSONLoader(); 
    loader.load("js/your_model.js", function(geometry) { 
    box = []; 

    group = new THREE.Object3D(); 
    scene.add(group); 

      // here i'm creating 3 objects of same model 
    for (var i = 0; i < 3; i++) 
    { 
     box[i] = new THREE.Mesh(geometry, new THREE.MeshLambertMaterial({map: THREE.ImageUtils.loadTexture("js/your_texture.jpg")})); 
     box[i].scale.set(20,20,20); 
     box[i].position.x = (120*i) - 150; 
     group.add(box[i]); 
    } 
     callSomeFunctionOnceLoaded(); 
     },"js" 
    ); 
} 
+0

是否可以从模型本身动态加载材质? 我仍然发现包括他们在导出的模型本身(来自搅拌机)和从模型动态添加到他们三个困难。 –