Ich versuche ein enthäutetes Mesh zu exportieren. Aus einigen Gründen bricht FbxSDK die Normalen an Kanten von Segmenten, wenn ich einem Netz einen Hautcluster hinzufüge. Ohne Haut sieht alles total gut aus.
Code:
%Vor% Ich habe verschiedene Mapping Mods (zB eByPolygonVertex
) und Referenz Mods versucht aber bisher keine Hilfe. Scheint, dass Normalen vollständig ignoriert werden, wenn ein Mesh Hautcluster hat. Ich habe den obigen Code auskommentiert und das gehäutete Modell sah aus wie auf dem linken Bild.
Ich habe auch verschiedene 3D-Software (Maya 2015, Maya 2013 und 3ds Max 2013) getestet, um das exportierte Modell zu überprüfen, aber alle von ihnen geben mir die gleichen Ergebnisse.
P.S. Dieses Problem betrifft alle gehäuteten Netze.
BEARBEITEN Scheint, dieses Problem ist ein Fehler in der FBX-Pipeline: Autodesk Forum . Um das Problem zu umgehen, muss ich "Attribute übertragen". Kann mir jemand helfen?
Skinning ist ein Prozess, der vier Komponenten benötigt: x, y, z und Gewicht. Bei Normalen sollte die vierte Komponente (Gewicht) auf Null gesetzt werden. Hast du FbxVector4 (x, -y, z, 0) in deinem Code getestet? Versuchen Sie auch, w = ((((normal.data) & gt; & gt; 24) & amp; 0xFF) / 127.5f - 1.0f); und dann mit FbxVector4 (x, -y, z, w);