0

我是 Three.js 的新手。我需要使用 Three.js 的 JSONLoader 从 JSON 文件中获取“DbgName”:“mtl”。这是我的示例 three.js 的 JSON 文件

{"metadata" :
{"formatVersion" : 3.1,
"sourceFile" : "json",
"generatedBy" : "json",
"vertices" : 20,
"faces" : 81,
"normals" : 0,
"colors" : 0,
"uvs" : 0,
"materials" : 4},

"scale" : 1.000000,
"materials": [{
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "mtl1",
"colorAmbient" : [0.0, 0.0, 0.0],
"colorDiffuse" : [0.64, 0.64, 0.64],
"colorSpecular" : [0.165, 0.165, 0.165],
"illumination" : 2,
"opticalDensity" : 1.0,
"specularCoef" : 154.901961,
"transparency" : 1.0
}
]}

任何人都可以给出一些相同的建议..谢谢

4

2 回答 2

0

THREE.JSONLoader不是通用的 JSON 加载器:它从具有特定属性的 JSON 文件加载网格和材质。

为了加载你自己的东西,你仍然可以使用(复制粘贴)加载器的 AJAX 请求部分,这里是:https ://github.com/mrdoob/three.js/blob/r56/src/loaders/JSONLoader .js#L29

请注意,一旦您获得了文件文本,就可以使用标准浏览器提供的函数轻松地将其解析为 JS 对象:var mystuff = JSON.parse(fileTextContents)

于 2013-03-06T07:33:49.790 回答
0

我通过这种方式从json文件中获取了材料名称......

var loader = new THREE.JSONLoader();
loader.load(url,function(geometry,material){
....some code stuff........
var mName = materials.name;
....some code stuff.....
}
于 2013-03-21T14:36:04.487 回答