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 に答える