Возможно ли присвоить два материала одной сетке, которая была загружена с помощью JSONLoader?Несколько материалов с JSONLoader?
Я создал простой символ в блендере и экспортировал его в формат three.js, который содержит морфинг-цели и UV.
Я пытался назначить материал твердого цвета на тело и картинку на голову моего персонажа (http://touhou.ru/dev/webgl-test-stackoverflow/kourindouhime.jpg), но после загрузки сетки и материалов я получаю серо-серовую сетку.
Вот серийная версия моего проекта (использовать WASD для перемещения и когда вы видите серый игрок сетки, который вы бы контрольный, что это именно то, что я говорю): http://touhou.ru/dev/webgl-test-stackoverflow/
И вот так Я загружаю сетку и материалы с помощью JSONLoader:
var player_loader = new THREE.JSONLoader();
player_loader.load("running_babe.js", function(geo, material) {
material[0].morphTargets = true;
material[1].morphTargets = true;
var materials = new THREE.MeshFaceMaterial(material);
player = new THREE.Mesh(geo, materials);
scene.add(player);
});
Я что-то не так?
ОБНОВЛЕНИЕ: проблема была в моем экспорте. Теперь второй материал выглядит так:
{
"DbgColor" : 15597568,
"DbgIndex" : 1,
"DbgName" : "Material.001",
"blending" : "NormalBlending",
"colorAmbient" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
"colorDiffuse" : [0.6400000190734865, 0.6400000190734865, 0.6400000190734865],
"colorSpecular" : [0.5, 0.5, 0.5],
"depthTest" : true,
"depthWrite" : true,
"mapDiffuse" : "kourindouhime.jpg",
"mapDiffuseWrap" : ["repeat", "repeat"],
"shading" : "Lambert",
"specularCoef" : 50,
"transparency" : 1.0,
"transparent" : false,
"vertexColors" : false
}
и он работает очень хорошо. Спасибо вам, ребята.
Спасибо, что указали это! –