fixed a bug regarding dog shorts/skirts models. It happened because FindClosestTriVert was not comparing last vertex...dohhh. Anyway, it is fixed now.
This commit is contained in:
parent
1121e150eb
commit
88e92bfbf8
|
|
@ -1597,7 +1597,7 @@ FindClosestTriVert( EggVertexPool *vpool, SAA_DVector *vertices, int numVert ) {
|
|||
LPoint3d p3d = vert->get_pos3();
|
||||
|
||||
// find closest model vertex
|
||||
for ( j = 0; j < numVert-1; j++ ) {
|
||||
for ( j = 0; j < numVert; j++ ) {
|
||||
// calculate distance
|
||||
thisDist = sqrtf(
|
||||
powf( p3d[0] - vertices[j].x , 2 ) +
|
||||
|
|
@ -1610,18 +1610,17 @@ FindClosestTriVert( EggVertexPool *vpool, SAA_DVector *vertices, int numVert ) {
|
|||
closestDist = thisDist;
|
||||
}
|
||||
}
|
||||
|
||||
vertMap[i] = closest;
|
||||
|
||||
softegg_cat.spam() << "mapping v " << i << " of " << vpoolSize-1 << ":( "
|
||||
<< p3d[0] << " "
|
||||
<< p3d[1] << " "
|
||||
<< p3d[2] << ")\n";
|
||||
|
||||
<< p3d[0] << " "
|
||||
<< p3d[1] << " "
|
||||
<< p3d[2] << ")\n";
|
||||
|
||||
softegg_cat.spam() << " to cv " << closest << " of " << numVert-1 << ":( "
|
||||
<< vertices[closest].x << " "
|
||||
<< vertices[closest].y << " "
|
||||
<< vertices[closest].z << " )\tdelta = " << closestDist << endl;
|
||||
|
||||
<< vertices[closest].x << " "
|
||||
<< vertices[closest].y << " "
|
||||
<< vertices[closest].z << " )\tdelta = " << closestDist << endl;
|
||||
}
|
||||
return vertMap;
|
||||
}
|
||||
|
|
@ -1825,7 +1824,7 @@ make_soft_skin() {
|
|||
|
||||
// first get the global matrix
|
||||
SAA_modelGetMatrix( &scene, &envelopes[i], SAA_COORDSYS_GLOBAL, matrix );
|
||||
|
||||
|
||||
// populate array of global model verts
|
||||
for ( j = 0; j < modelNumVert; j++ ) {
|
||||
_VCT_X_MAT( globalModelVertices[j],
|
||||
|
|
@ -1889,7 +1888,7 @@ make_soft_skin() {
|
|||
for ( k = 0; k < (int)vpool->size(); k++ ) {
|
||||
if ( vpoolMap[k] == envVtxIndices[j] ) {
|
||||
EggVertex *vert = vpool->get_vertex(k+1);
|
||||
// EggVertex *vert = mesh_node->get_vpool()->get_vertex(vpoolMap[k]+1);
|
||||
// EggVertex *vert = mesh_node->get_vpool()->get_vertex(vpoolMap[k]+1);
|
||||
if (!vert) {
|
||||
softegg_cat.debug() << "possible error: index " << k+1 << ": vert is " << vert << endl;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue