ТРЕХ js импортировала модель OBJ [.CommandBufferContext] ПРЕДУПРЕЖДЕНИЕ RENDER: количество Render или primcount равно 0
Я получаю тысячи ошибок (google chrome):
[.CommandBufferContext]RENDER WARNING: Render count or primcount is 0.
Файлы OBJ и MTL экспортируются из Bledner, используя OBJMTLLoader.js в качестве загрузчика
После перехода на R73.
Любой опыт?
Ответ 1
Это происходит, когда вызов рендеринга низкого уровня сказал, чтобы нарисовать нулевые вершины/грани. Это связано с тем, что у вас есть одна или несколько сеток с полигоном с нулевыми гранями/вершинами, поэтому при каждом вызове ничьей эта ошибка накапливается.
Проблема может быть вашей моделью, или это может быть процесс экспорта/импорта. Если это модель, то ниже - это свободное представление о том, как найти проблемные области. Я не рекомендую использовать OBJMTLLoader с тремя JS и Blender, потому что ThreeJS поставляется с плагином Blender для экспорта, и он работает.
checkMesh = function(mesh, child_index) {
if (
mesh.geometry.faces.length > 0 &&
mesh.geometry.vertices.length > 0
) {
// do stuff here with the good mesh
for (var i = 0; i < mesh.children.length; i++)
if (!checkMesh(mesh.children[i], i))
i--; // child was removed, so step back
return true;
} else // empty mesh! this causes WebGL errors
{
if (mesh.parent != null)
mesh.parent.children.splice(child_index, 1);
console.log(mesh.name + " has zero faces and/or vertices so it is removed.");
mesh = null;
return false;
}
}
Ответ 2
Трудно сказать, что может быть неправильно, не видя ваш код, но я бы предложил попробовать экспортировать и импортировать JSON. В трехлетнем режиме перейдите к утилитам/экспортерам/блендерам и установите экспортер JSON (проверьте readme.md). Затем экспортируйте свою модель в JSON, тщательно проверяя параметры экспорта (тип геометрии, UVs, текстуры). Затем вы можете импортировать свою модель следующим образом:
var loader = new THREE.JSONLoader();
loader.load("model.json", function(geometry, material) {
var m = new THREE.MultiMaterial(material);
var o = new THREE.Mesh(geometry, m);
scene.add(o);
});
Я не сравнивался с OBJ/MTL, но по сравнению с Collada, загрузчик JSON работает быстрее.