Sto tentando di esportare una mesh dalla pelle. Per alcuni motivi, FbxSDK interrompe le normali sui bordi dei segmenti se aggiungo un cluster di skin a una mesh. Senza una pelle tutto sembra perfettamente a posto.FbxSDK interrompe le normali
Codice:
FbxLayerElementNormal *layerElementNormal = FbxLayerElementNormal::Create(mesh, "");
layerElementNormal->SetMappingMode(FbxLayerElement::eByControlPoint);
layerElementNormal->SetReferenceMode(FbxLayerElement::eDirect);
for (int vertIndex = 0; vertIndex < vertexCount; ++vertIndex)
{
PackedNormal normal = vertices[vertIndex].normal;
double x,y,z;
x = (((normal.data) & 0xFF)/127.5f - 1.0f);
y = ((((normal.data) >> 8) & 0xFF)/127.5f - 1.0f);
z = ((((normal.data) >> 16) & 0xFF)/127.5f - 1.0f);
layerElementNormal->GetDirectArray().Add(FbxVector4(x,-y,z));
}
layer->SetNormals(layerElementNormal);
ho tryied diversi mods di mappatura (ad es eByPolygonVertex
.) E mods di riferimento ma finora nessun aiuto. Sembra che le normali siano completamente ignorate se una maglia ha grappoli di pelle. Ho commentato il codice sopra e il modello scuoiato sembrava uno nell'immagine a sinistra.
Ho anche provato diversi software 3D (Maya 2015, Maya 2013 e 3ds Max 2013) per rivedere il modello esportato ma tutti mi danno gli stessi risultati.
P.S. questo problema ha effetto su qualsiasi mesh della pelle.
EDIT Sembra che questo problema è un bug in FBX cantiere: Autodesk Forum. Per bypassare il problema ho bisogno di "Transfer Attributes". Qualcuno può aiutare con questo?
La cosa sulla foto è davvero ciò che penso sia, o devo visitare uno strizzacervelli? – SergeyA
Questo è esattamente quello che pensi! – VenoMKO
Questo va bene. Spiacente, non posso aiutare con la domanda vera, però. – SergeyA