
three.js obj模型如何转成json 给threejs使用啊
3个回答
展开全部
我写了一个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>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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文件啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询