fixed the book model on toon-props, re-build the whole tree
This commit is contained in:
parent
1033c1d52e
commit
e1be4d99df
|
|
@ -1962,36 +1962,41 @@ cleanup_soft_skin()
|
|||
int numVerts = (int)vpool->size();
|
||||
softegg_cat.spam() << "found vpool " << vpool_name << " w/ " << numVerts << " verts\n";
|
||||
|
||||
// find the closest _parentJoint
|
||||
SoftNodeDesc *parentJ = node_desc;
|
||||
while( parentJ && !parentJ->_parentJoint) {
|
||||
if ( parentJ->_parent) {
|
||||
SAA_Boolean isSkeleton;
|
||||
//softegg_cat.spam() << " checking parent " << parentJ->_parent->get_name() << endl;
|
||||
if (parentJ->_parent->has_model())
|
||||
SAA_modelIsSkeleton( &scene, parentJ->_parent->get_model(), &isSkeleton );
|
||||
|
||||
if (isSkeleton) {
|
||||
joint = parentJ->_parent->get_egg_group();
|
||||
softegg_cat.spam() << "parent to " << parentJ->_parent->get_name() << endl;
|
||||
break;
|
||||
// if this node is a joint, then these vertices belong
|
||||
// to this joint
|
||||
if (node_desc->is_joint())
|
||||
joint = node_desc->get_egg_group();
|
||||
else {
|
||||
// find the closest _parentJoint
|
||||
SoftNodeDesc *parentJ = node_desc;
|
||||
while( parentJ && !parentJ->_parentJoint) {
|
||||
if ( parentJ->_parent) {
|
||||
SAA_Boolean isSkeleton;
|
||||
//softegg_cat.spam() << " checking parent " << parentJ->_parent->get_name() << endl;
|
||||
if (parentJ->_parent->has_model())
|
||||
SAA_modelIsSkeleton( &scene, parentJ->_parent->get_model(), &isSkeleton );
|
||||
|
||||
if (isSkeleton) {
|
||||
joint = parentJ->_parent->get_egg_group();
|
||||
softegg_cat.spam() << "parent to " << parentJ->_parent->get_name() << endl;
|
||||
break;
|
||||
}
|
||||
|
||||
parentJ = parentJ->_parent;
|
||||
}
|
||||
|
||||
parentJ = parentJ->_parent;
|
||||
else
|
||||
break;
|
||||
}
|
||||
if (!joint && (!parentJ || !parentJ->_parentJoint)) {
|
||||
softegg_cat.spam() << node_desc->get_name() << " has no _parentJoint?!" << endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!joint) {
|
||||
softegg_cat.spam() << "parent joint to " << parentJ->_parentJoint->get_name() << endl;
|
||||
joint = parentJ->_parentJoint->get_egg_group();
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
if (!joint && (!parentJ || !parentJ->_parentJoint)) {
|
||||
softegg_cat.spam() << node_desc->get_name() << " has no _parentJoint?!" << endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!joint) {
|
||||
softegg_cat.spam() << "parent joint to " << parentJ->_parentJoint->get_name() << endl;
|
||||
joint = parentJ->_parentJoint->get_egg_group();
|
||||
}
|
||||
|
||||
EggVertexPool::iterator vi;
|
||||
double membership = 1.0f;
|
||||
for ( vi = vpool->begin(); vi != vpool->end(); ++vi) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue