Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将maya 3D模型包含到三个js中?_Javascript_Three.js - Fatal编程技术网

Javascript 如何将maya 3D模型包含到三个js中?

Javascript 如何将maya 3D模型包含到三个js中?,javascript,three.js,Javascript,Three.js,我想将我的3D模型包含到网页中。如何将Maya 3D模型包含到三个js中 首先必须以obj格式导出模型。确保已安装Python2.7 然后,您可以使用python脚本将obj转换为js格式,该脚本包含在three.js-convert\u obj\u three.py 将您的模型和python脚本与python放在同一文件夹中,以使其更简单 然后在命令行中运行: python convert_obj_three.py -i infile.obj -o outfile.js 其中,infle.o

我想将我的3D模型包含到网页中。如何将Maya 3D模型包含到三个js中

首先必须以
obj
格式导出模型。确保已安装
Python2.7

然后,您可以使用
python
脚本将
obj
转换为
js
格式,该脚本包含在
three.js
-
convert\u obj\u three.py

将您的模型和
python
脚本与
python
放在同一文件夹中,以使其更简单

然后在命令行中运行:

python convert_obj_three.py -i infile.obj -o outfile.js
其中,
infle.obj
是您从maya导出的模型的名称,
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"
    );
}
函数加载模型(){
loader=new THREE.JSONLoader();
load(“js/your_model.js”,函数(几何体){
框=[];
group=new THREE.Object3D();
场景。添加(组);
//在这里,我创建了3个相同模型的对象
对于(变量i=0;i<3;i++)
{
box[i]=new THREE.Mesh(geometry,new THREE.MeshLambertMaterial({map:THREE.ImageUtils.loadTexture(“js/your_texture.jpg”)});
盒[i].刻度.集(20,20,20);
框[i].位置.x=(120*i)-150;
组。添加(方框[i]);
}
callSomeFunctionOnceLoaded();
},“js”
);
}

我刚刚开始制作一个简单的导出器,将OBJ转换为Three.JS 3.1版JSON格式。因此,如果您不想使用python导出器,可以使用此导出器


谢谢

你看了这个吗?可以从模型本身动态加载材料吗?我仍然发现将它们包含在导出模型本身(从Blender)中并从模型中动态地将它们添加到三个中存在困难。