Alembic export: don't show warning for every exported frame

The warning about not having a UV map is now only shown once per hair
system.
This commit is contained in:
Sybren A. Stüvel
2017-04-20 15:24:48 +02:00
parent ee3faddfaa
commit 52295dd480
2 changed files with 7 additions and 6 deletions

View File

@@ -56,6 +56,7 @@ AbcHairWriter::AbcHairWriter(Scene *scene,
ExportSettings &settings,
ParticleSystem *psys)
: AbcObjectWriter(scene, ob, time_sampling, settings, parent)
, m_uv_warning_shown(false)
{
m_psys = psys;
@@ -132,8 +133,10 @@ void AbcHairWriter::write_hair_sample(DerivedMesh *dm,
MFace *mface = dm->getTessFaceArray(dm);
MVert *mverts = dm->getVertArray(dm);
if (!mtface || !mface) {
std::fprintf(stderr, "Warning, no UV set found for underlying geometry.\n");
if ((!mtface || !mface) && !m_uv_warning_shown) {
std::fprintf(stderr, "Warning, no UV set found for underlying geometry of %s.\n",
m_object->id.name + 2);
m_uv_warning_shown = true;
}
ParticleData * pa = m_psys->particles;
@@ -241,10 +244,6 @@ void AbcHairWriter::write_hair_child_sample(DerivedMesh *dm,
MFace *mface = dm->getTessFaceArray(dm);
MVert *mverts = dm->getVertArray(dm);
if (!mtface || !mface) {
std::fprintf(stderr, "Warning, no UV set found for underlying geometry.\n");
}
ParticleCacheKey **cache = m_psys->childcache;
ParticleCacheKey *path;

View File

@@ -37,6 +37,8 @@ class AbcHairWriter : public AbcObjectWriter {
Alembic::AbcGeom::OCurvesSchema m_schema;
Alembic::AbcGeom::OCurvesSchema::Sample m_sample;
bool m_uv_warning_shown;
public:
AbcHairWriter(Scene *scene,
Object *ob,