Skip to content

Commit 6032b85

Browse files
committed
Update v3.0.8.3
2 parents 656c473 + d39a2f4 commit 6032b85

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

xivModdingFramework/Models/DataContainers/TTModel.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,12 @@ public int GetWeldHash()
124124
public Vector3 GetTangentSpaceFlow()
125125
{
126126
var flow = WorldToTangent(FlowDirection.ToArray());
127-
return new Vector3(flow[0], flow[1], 0).Normalized();
127+
var ret = new Vector3(flow[0], flow[1], 0).Normalized();
128+
if(float.IsNaN(ret.X) || float.IsNaN(ret.Y) || float.IsNaN(ret.Z))
129+
{
130+
return Vector3.Zero;
131+
}
132+
return ret;
128133
}
129134

130135
public float[] WorldToTangent(float[] vector)
@@ -201,6 +206,7 @@ public static List<TTVertex> CloneVertexList(List<TTVertex> verts)
201206
if (a.Position != b.Position) return false;
202207
if (a.Normal != b.Normal) return false;
203208
if (a.Binormal != b.Binormal) return false;
209+
if (a.Tangent != b.Tangent) return false;
204210
if (a.Handedness != b.Handedness) return false;
205211
if (a.FlowDirection != b.FlowDirection) return false;
206212
if (a.UV1 != b.UV1) return false;

xivModdingFramework/Models/Helpers/ModelModifiers.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2082,6 +2082,11 @@ private static void CalculateTangentsForMesh(TTMeshGroup m, bool force = false)
20822082
var deltaV2 = v3uv.Y - v1uv.Y;
20832083

20842084
var r = 1.0f / (deltaU1 * deltaV2 - deltaU2 * deltaV1);
2085+
if(float.IsInfinity(r))
2086+
{
2087+
r = 0;
2088+
}
2089+
20852090
var sdir = new Vector3((deltaV2 * deltaX1 - deltaV1 * deltaX2) * r, (deltaV2 * deltaY1 - deltaV1 * deltaY2) * r, (deltaV2 * deltaZ1 - deltaV1 * deltaZ2) * r);
20862091
var tdir = new Vector3((deltaU1 * deltaX2 - deltaU2 * deltaX1) * r, (deltaU1 * deltaY2 - deltaU2 * deltaY1) * r, (deltaU1 * deltaZ2 - deltaU2 * deltaZ1) * r);
20872092

@@ -2092,7 +2097,7 @@ private static void CalculateTangentsForMesh(TTMeshGroup m, bool force = false)
20922097
bitangents[vertexId1] += tdir;
20932098
bitangents[vertexId2] += tdir;
20942099
bitangents[vertexId3] += tdir;
2095-
}
2100+
}
20962101

20972102

20982103

0 commit comments

Comments
 (0)