[Help]New, procedurally generated materials are black.

Hi there.
I’m stuck with problem: I have procedurally generated mesh, so I generate vertices, UV, triangles and Materials.

//some parsing things -------------
BODContainer cont = / Model File Parse Result/;

Mesh mesh = new Mesh();
mesh.subMeshCount = cont.materials.Length; //I have some materials
mesh.vertices = cont.vertices;
mesh.uv = cont.UV;
for (int i = 0; i < cont.materials.Length; i++) //setting triangles for every submesh
     mesh.SetTriangles(cont.triangles*, i);* 

List mats = new List();
Material tmp;
foreach (var item in cont.materials)
{
tmp = new Material(DataBase.Materials[item.material])
{
mainTexture = DataBase.Textures(item.textureIndex),
color = item.diffuse
};
mats.Add(tmp);
}
meshRenderer.materials = mats.ToArray();
gameObject.transform.localScale = new Vector3(1 / (float)cont.objectsize, 1 / (float)cont.objectsize, 1 / (float)cont.objectsize);

meshFilter.mesh = mesh;
meshFilter.mesh.RecalculateNormals();
But, after this magic, I get black model.
I’m absolutely sure that UV, vertices and triangles are correctly formed. And I’m sure that the problem is in the materials. It seems to me that Unity has some problems with the dynamic creation of materials.
I used both new Material and Material.Instanciate - I still get a black model.
If I’m trying to use original material, from what I try to create a new one, everything fine, model is colorful and shiny, as must.
DataBase.Materials[item.material] - return the original material what I need tocopy and edit to current model.
(I’m loading many models what using 1 original material but with separate parameters, so all models must have their own materials)
[98266-blackmodel.png|98266]*
*
(Picture is describing situation: on top - what it must be, on bottom - what I’m getting)

Ohhh damn it…
Ok, I found the issue, glad to some 3weeked googling.

And the problem not in the materials, no! And not in parsing, everything fine, vertices, uv, triangles - everything fine. And not the materials array assign, nooo. Not mesh issue, not normals.

It’s a damned gameObject.transform.localScale !!!
The problem is what the gameObject.transform.localScale become so small (1.0e-5), so unity just don’t render it at all.
What is the reason? Anyone know?