2012-07-25 36 views
0

我轉換了一個模型。 Obj to。 JsChrome中的THREE.JSONLoader錯誤

當我嘗試加載。與THREE.JSONLoader JS是這樣的:

var loader = new THREE.JSONLoader(); 
loader.load({model: "/modelos/modelos3D/Dragon.js", callback: agregarDragon }); 

function agregarDragon(geometria) 
{ 
    geometria.materials[0][0].shading = THREE.FlatShading; 
    geometria.materials[0][0].morphTargets = true; 

    var material = new THREE.MeshFaceMaterial(); 

    modeloDragon = new THREE.Mesh(geometria, material); 
    modeloDragon.scale.set(50,50,50); 
    escena.add(modeloDragon); 
} 

一些Dragon.js:

{ 

"metadata" : 
{ 
    "formatVersion" : 3, 
    "sourceFile" : "Dragon.obj", 
    "generatedBy" : "OBJConverter", 
    "vertices"  : 3143, 
    "faces"   : 11130, 
    "normals"  : 10066, 
    "colors"  : 0, 
    "uvs"   : 1172, 
    "materials"  : 3 
}, 

"scale" : 1.000000, 

"materials": [  { 
    "DbgColor" : 15658734, 
    "DbgIndex" : 0, 
    "DbgName" : "Material__35" 
    }, 

    { 
    "DbgColor" : 15597568, 
    "DbgIndex" : 1, 
    "DbgName" : "Material__47" 
    }, 

    { 
    "DbgColor" : 60928, 
    "DbgIndex" : 2, 
    "DbgName" : "Material__83" 
    }], 

"vertices": [-0.696100,0.260000,0.408700,....] 
. 
. 
} 

當我嘗試用鍍鉻加載生成以下錯誤

Uncaught SyntaxError: Unexpected token : 

,並強調行

"metadata" : 

and minef與螢火蟲:

invalid label: Dragon.js(line 3, col 4) 
"metadata" : 

爲什麼會產生此錯誤?

如何解決?

回答

0

我解決了這個問題,兩件事情

  1. 與47版的工作,併爲49

  2. 改改你的方式加載模型

loader.load('/modelos/modelos3D/Dragon.js',function(geometria) 
{ 
     var mesh = new THREE.Mesh(geometria, new THREE.MeshNormalMaterial({overdraw:true} )); 
     escena.add(mesh); 
}); 
0

也許是由分號插入造成的。試試這個

"metadata" : { 
    //the rest of your json 
    } 
+0

不工作...... – 2012-07-25 23:55:00