Javascript 3DS Max=>;三个。导出场景

Javascript 3DS Max=>;三个。导出场景,javascript,3d,three.js,3dsmax,Javascript,3d,Three.js,3dsmax,我在3ds Max中有一个场景,我想将其导出为3JS。问题是,纹理似乎没有出现在3J中,并且对象变形 这就是我的工作流程(我对threejs是新手,所以肯定有一些错误的步骤): 从3ds Max导出到.obj+.mtl(对象为简单网格,材质为标准网格) 导入Blender 2.66,使用io_mesh_threejs将场景转换为JavaScript(因为我无法找到适合3ds Max的转换器) 导出后,我无法在threejs中查看我的场景,但如果我导出时没有材质,则可以 我还发现坐标系是不同的,这

我在3ds Max中有一个场景,我想将其导出为3JS。问题是,纹理似乎没有出现在3J中,并且对象变形

这就是我的工作流程(我对threejs是新手,所以肯定有一些错误的步骤):

  • 从3ds Max导出到.obj+.mtl(对象为简单网格,材质为标准网格)

  • 导入Blender 2.66,使用io_mesh_threejs将场景转换为JavaScript(因为我无法找到适合3ds Max的转换器)

  • 导出后,我无法在threejs中查看我的场景,但如果我导出时没有材质,则可以

  • 我还发现坐标系是不同的,这会导致不可预测的场景放置和交互

    我想知道您是否对如何直接从3ds Max将我的场景导出到JavaScript有任何建议?

    您可以使用将3ds模型导出到three.js 并在浏览器中直接预览结果。

    使用“ThreeJSExporter”脚本,实际上,只需复制脚本代码并在3dsMax(代码)中运行脚本,因为可以在那里运行.ms文件而无需任何安装或命令行。然后您将获得.json文件(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渲染的场景。在这两者之间,我发现建议使用OBJLoader而不是JSONLoader,但是JSONLoader在使用THREE.js r71时对我更有效


    类似方法的来源:

    看看这是否有帮助:对我来说,我的场景中不显示对象。