0

モデルコンバートしました。にオブジェクト。JS

ロードしようとすると。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" :

およびfirebugのある地雷原:

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

なぜこのエラーが生成されるのですか?

直し方?

4

2 に答える 2

0

私は問題を解決しました、2つのこと

  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 );
});
于 2012-07-26T14:40:07.800 に答える
0

セミコロンの挿入が原因かもしれません。これを試して

  "metadata" : {
   //the rest of your json
   }
于 2012-07-25T22:49:12.597 に答える