プログラムでメッシュをロードするためのjsonファイルを生成しています。頂点と面は正常にレンダリングされますが、面に色を渡す方法もわかりません。
これが私が実験しているjsonファイルです:
{
"metadata" : {
"formatVersion" : 3
},
"materials" : [],
"vertices" : [-10,10,0, -10,-10,0, 10,-10,0, 10,10,0, -10,10,10, -10,-10,10, 10,-10,10, 10,10,10],
"faces" : [4, 0, 1, 3, 0], //or with 0 as the first number for a plain triangle
"normals": [],
"colors": [0.5, 0.4, 0.3],
"uvs": []
}
そして、そのようにロードします:
loader.load( "js/models/square.js", function(geometry) {
var material = new THREE.MeshLambertMaterial( {
faceColors : THREE.FaceColors,
});
material.side = THREE.DoubleSide;
var mesh = new THREE.Mesh(geometry, material);
}
私の中心的な問題は、ビットマスクがどのように機能するかを見つけていることですが、ここのFACE_COLORビットhttps://github.com/mrdoob/three.js/wiki/JSON-Model-format-3.1は、それが機能するはずであることを示唆しています。助けていただければ幸いです...ありがとう!