@ -100,25 +100,24 @@ public class BrushModel
for ( int surfIdx = 0 ; surfIdx < surfaces . Count ; + + surfIdx )
for ( int surfIdx = 0 ; surfIdx < surfaces . Count ; + + surfIdx )
{
{
foreach ( var polyVerts in surfaces [ surfIdx ] . GetPolygons ( ) )
var polyVerts = surfaces [ surfIdx ] . GetPolygon ( ) ;
for ( int vertIdx = 0 ; vertIdx < polyVerts . Length ; + + vertIdx )
{
{
for ( int vertIdx = 0 ; vertIdx < polyVerts . Length ; + + vertIdx )
{
tempVertices . Add ( polyVerts [ vertIdx ] . position . ToUnityPosition ( ) ) ;
tempTextureUVs . Add ( polyVerts [ vertIdx ] . textureUV . ToVector2 ( ) ) ;
tempLightmapUVs . Add ( polyVerts [ vertIdx ] . lightmapUV . ToVector2 ( ) ) ;
}
// Reconstruct triangle fan
for ( ushort index = 2 ; index < polyVerts . Length ; + + index )
{
tempIndices . Add ( ( ushort ) vertOffset ) ;
tempIndices . Add ( ( ushort ) ( vertOffset + index - 1 ) ) ;
tempIndices . Add ( ( ushort ) ( vertOffset + index ) ) ;
}
vertOffset + = polyVerts . Length ;
tempVertices . Add ( polyVerts [ vertIdx ] . position . ToUnityPosition ( ) ) ;
tempTextureUVs . Add ( polyVerts [ vertIdx ] . textureUV . ToVector2 ( ) ) ;
tempLightmapUVs . Add ( polyVerts [ vertIdx ] . lightmapUV . ToVector2 ( ) ) ;
}
// Reconstruct triangle fan
for ( ushort index = 2 ; index < polyVerts . Length ; + + index )
{
tempIndices . Add ( ( ushort ) vertOffset ) ;
tempIndices . Add ( ( ushort ) ( vertOffset + index - 1 ) ) ;
tempIndices . Add ( ( ushort ) ( vertOffset + index ) ) ;
}
}
vertOffset + = polyVerts . Length ;
}
}
Mesh mesh = new Mesh ( ) ;
Mesh mesh = new Mesh ( ) ;