three.js obj模型如何转成json 给threejs使用啊

如题我想把obj模型文件转成json给three.js用的价格好商量知识万岁... 如题 我想把obj模型文件转成json 给three.js 用的 价格好商量 知识万岁 展开
 我来答
shihoumacili
高粉答主

2016-02-02 · 每个回答都超有意思的
知道大有可为答主
回答量:1.1万
采纳率:87%
帮助的人:534万
展开全部

具体实现步骤:

  1. obj转换成js:

  2. 不要打开Python.

    下载three.js。并将utils\exporters\maya 
    目录下的plug-ins和scripts文件。拷贝到C:\Users\Administrator\Documents\maya\2008中,在maya插件管理界面中开启threeJsFileTranlator.py即直接在命令行运行 python convert_obj_three.py -i ... 。

扬州飞过几人9
2016-01-15 · TA获得超过5534个赞
知道大有可为答主
回答量:9781
采纳率:3%
帮助的人:3476万
展开全部

我写了一个Three.js,使用Maya导出了一个OBJ的三维模型文件,使用Three.js默认给出的转换脚本使OBJ转换为JS的JSON文件,转换代码 convert_obj_three.py -i model.obj -o model.js

   <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Three.js Exporter</title><script src="Three.js"></script><script src="tree.js"></script><style type="text/css">div#canvas-frame{  border: none;  cursor: pointer;  width: 1024px;  height: 1024px;  background-color: #EEEEEE;}</style><script>var geometry;   var renderer;  function initThree() {    width = document.getElementById('canvas-frame').clientWidth;    height = document.getElementById('canvas-frame').clientHeight;     renderer = new THREE.WebGLRenderer({antialias: true});    renderer.setSize(width, height );    document.getElementById('canvas-frame').appendChild(renderer.domElement);    renderer.setClearColorHex(0xFFFFFF, 1.0);  }    var camera;  function initCamera() {     camera = new THREE.PerspectiveCamera( 45 , width / height , 0.001 , 10000 );    camera.position.x = 100;    camera.position.y = 100;    camera.position.z = 100;    camera.up.x = 0;    camera.up.y = 0;    camera.up.z = 1;    camera.lookAt( {x:0, y:0, z:0 } );  }  var scene;  function initScene() {       scene = new THREE.Scene();  }  var light;  function initLight() {     light = new THREE.DirectionalLight(0xFFFFFF, 1.0, 0);    light.position.set( 100, 100, 200 );    scene.add(light);  }  var cube;  function initObject(){      cube = new THREE.Mesh(         new THREE.CubeGeometry(50,50,50),                //Geometry          new THREE.MeshLambertMaterial({color: 0xff0000}) //material    );    scene.add(cube);    cube.position.set(0,0,0);  }     function initObject_JS()  {    /* Show model */    var jsonloader = new THREE.JSONLoader(true);         jsonloader.load('Model_ascii.js',                    function( geometry )                     {                         var object = new THREE.Mesh( geometry, new THREE.MeshLamberMaterial() );                        scene.add(object);                     });     alert("success");  }/*    function createScene( geometry )  {    alert("in");     var object = new THREE.Mesh( geometry, new THREE.MeshLamberMaterial() );    scene.add(object);  }*/  function threeStart() {    //initThree    initThree();    //init camera    initCamera();    //init scene    initScene();       //init ligth    initLight();     initObject_JS();         renderer.clear();     renderer.render(scene, camera);  }</script></head>  <body onload="threeStart();"><!-- canvas --><div id="canvas-frame"></div></body></html>
追问

我安装了python  然后有了model.obj 和 convert_obj_three.py 

接下来json 怎么生成 这个才是我的问题   那句命令也一直报错

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1997排长
高粉答主

2016-01-15 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:886万
展开全部
var jsonLoader = new THREE.JSONLoader();
jsonLoader.load( "models/orange.js", addModelToScene );
function addModelToScene( geometry, materials ) 
{
   // geometry = new THREE.CubeGeometry(100,100,100);
    // var texture = new THREE.ImageUtils.loadTexture('images/checkerboard.jpg');
    //var material = new THREE.MeshBasicMaterial({ map: texture });
var material = new THREE.MeshFaceMaterial( materials/*{ color: 'red', wireframe: true } */);
android = new THREE.Mesh( geometry, material );
android.scale.set(40,40,40);
android.position.set(0,60,0);
scene.add( android );
}
追问
看不懂按
我现在只有obj文件没有js文件啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式