@@ -85,6 +85,9 @@ public static ModelExporter Create ()
85
85
/// </summary>
86
86
const string UniqueNameFormat = "{0}_{1}" ;
87
87
88
+ /// <summary>
89
+ /// Gets the version number of the FbxExporters plugin from the readme.
90
+ /// </summary>
88
91
public static string GetVersionFromReadme ( )
89
92
{
90
93
if ( string . IsNullOrEmpty ( ReadmeRelativePath ) ) {
@@ -119,10 +122,10 @@ public static string GetVersionFromReadme()
119
122
/// return layer for mesh
120
123
/// </summary>
121
124
///
122
- private FbxLayer GetLayer ( FbxMesh fbxMesh , int layer = 0 /* default layer */ )
125
+ public static FbxLayer GetOrCreateLayer ( FbxMesh fbxMesh , int layer = 0 /* default layer */ )
123
126
{
124
127
FbxLayer fbxLayer = fbxMesh . GetLayer ( layer ) ;
125
- if ( fbxLayer == null ) {
128
+ while ( fbxLayer == null ) {
126
129
fbxMesh . CreateLayer ( ) ;
127
130
fbxLayer = fbxMesh . GetLayer ( layer ) ;
128
131
}
@@ -135,7 +138,7 @@ public static string GetVersionFromReadme()
135
138
public void ExportComponentAttributes ( MeshInfo mesh , FbxMesh fbxMesh , int [ ] unmergedTriangles )
136
139
{
137
140
// Set the normals on Layer 0.
138
- FbxLayer fbxLayer = GetLayer ( fbxMesh ) ;
141
+ FbxLayer fbxLayer = GetOrCreateLayer ( fbxMesh ) ;
139
142
140
143
using ( var fbxLayerElement = FbxLayerElementNormal . Create ( fbxMesh , "Normals" ) ) {
141
144
fbxLayerElement . SetMappingMode ( FbxLayerElement . EMappingMode . eByPolygonVertex ) ;
@@ -228,7 +231,7 @@ public void ExportComponentAttributes (MeshInfo mesh, FbxMesh fbxMesh, int[] unm
228
231
/// <param name="fbxMesh">Fbx mesh.</param>
229
232
/// <param name="mesh">Mesh.</param>
230
233
/// <param name="unmergedTriangles">Unmerged triangles.</param>
231
- protected void ExportUVs ( FbxMesh fbxMesh , MeshInfo mesh , int [ ] unmergedTriangles )
234
+ protected static void ExportUVs ( FbxMesh fbxMesh , MeshInfo mesh , int [ ] unmergedTriangles )
232
235
{
233
236
Vector2 [ ] [ ] uvs = new Vector2 [ ] [ ] {
234
237
mesh . UV ,
@@ -243,7 +246,7 @@ protected void ExportUVs(FbxMesh fbxMesh, MeshInfo mesh, int[] unmergedTriangles
243
246
continue ; // don't have these UV's, so skip
244
247
}
245
248
246
- FbxLayer fbxLayer = GetLayer ( fbxMesh , k ) ;
249
+ FbxLayer fbxLayer = GetOrCreateLayer ( fbxMesh , k ) ;
247
250
using ( var fbxLayerElement = FbxLayerElementUV . Create ( fbxMesh , "UVSet" + i ) )
248
251
{
249
252
fbxLayerElement . SetMappingMode ( FbxLayerElement . EMappingMode . eByPolygonVertex ) ;
@@ -276,7 +279,7 @@ protected void ExportUVs(FbxMesh fbxMesh, MeshInfo mesh, int[] unmergedTriangles
276
279
/// Helper for ExportComponentAttributes()
277
280
/// </summary>
278
281
/// <returns>The right-handed FbxVector4.</returns>
279
- private FbxVector4 CreateRightHandedFbxVector4 ( Vector3 leftHandedVector )
282
+ private static FbxVector4 CreateRightHandedFbxVector4 ( Vector3 leftHandedVector )
280
283
{
281
284
// negating the x component of the vector converts it from left to right handed coordinates
282
285
return new FbxVector4 (
0 commit comments