Question by 
               BahuMan · Jun 26, 2016 at 08:28 AM · 
                texturecoordinatesuv mappingbumpmap  
              
 
              part of my cube is textured but not bumpmapped
Hi!
I'm probably making a noob mistake but I'm stumped. I've created a cube mesh in a script, and I've added a material with albedo, bump and height texture. Most faces of the cube are textured as I expect (see left side of the screenshot), but 2 faces have the correct albedo, but not the correct bump or height mapping.
One face where bumpmapping goes wrong is visible on the screenshot, on the right-hand side. You can see the brick texture, but it's not as bumpy as the other face. This is not related to the light; there is only one directional light source in the scene and no matter how I rotate it, that face never gets the rough, bumpy texture that the other face shows. How is this possible?
The c# script is below the screenshot.

     Mesh constructCube(MeshFilter filter, float height)
     {
         // You can change that line to provide another MeshFilter
         Mesh mesh = filter.mesh;
         mesh.Clear();
 
         float length = 1f;
         float depth = 1f;
 
         #region Vertices
         Vector3 p0 = new Vector3(-length * .5f, 0f, depth * .5f);
         Vector3 p1 = new Vector3(length * .5f, 0f, depth * .5f);
         Vector3 p2 = new Vector3(length * .5f, 0f, -depth * .5f);
         Vector3 p3 = new Vector3(-length * .5f, 0f, -depth * .5f);
 
         Vector3 p4 = new Vector3(-length * .5f, height, depth * .5f);
         Vector3 p5 = new Vector3(length * .5f, height, depth * .5f);
         Vector3 p6 = new Vector3(length * .5f, height, -depth * .5f);
         Vector3 p7 = new Vector3(-length * .5f, height, -depth * .5f);
 
         Vector3[] vertices = new Vector3[]
         {
             // Bottom
             p0, p1, p2, p3,
  
             // Left
             p7, p4, p0, p3,
  
             // Front
             p4, p5, p1, p0,
  
             // Back
             p6, p7, p3, p2,
  
             // Right
             p5, p6, p2, p1,
  
             // Top
             p7, p6, p5, p4
         };
         #endregion
 
         #region Normales
         Vector3 up = Vector3.up;
         Vector3 down = Vector3.down;
         Vector3 front = Vector3.forward;
         Vector3 back = Vector3.back;
         Vector3 left = Vector3.left;
         Vector3 right = Vector3.right;
 
         Vector3[] normales = new Vector3[]
         {
             // Bottom
             down, down, down, down,
  
             // Left
             left, left, left, left,
  
             // Front
             front, front, front, front,
  
             // Back
             back, back, back, back,
  
             // Right
             right, right, right, right,
  
             // Top
             up, up, up, up
         };
         #endregion
 
         #region UVs
         Vector2 _00 = new Vector2(0f, 0f);
         Vector2 _10 = new Vector2(1f, 0f);
         Vector2 _01 = new Vector2(0f, 1f);
         Vector2 _11 = new Vector2(1f, 1f);
         Vector2 _0h = new Vector2(0f, height);
         Vector2 _1h = new Vector2(1f, height);
 
         Vector2[] uvs = new Vector2[]
         {
             // Bottom
             _11, _01, _00, _10,
  
             // Left
             _1h, _0h, _00, _10,
  
             // Front
             _1h, _0h, _00, _10,
  
             // Back
             _1h, _0h, _00, _10,
  
             // Right
             _1h, _0h, _00, _10,
  
             // Top
             _11, _01, _00, _10,
         };
         #endregion
 
         #region Triangles
         int[] triangles = new int[]
         {
             // Bottom
             3, 1, 0,
             3, 2, 1,            
  
             // Left
             3 + 4 * 1, 1 + 4 * 1, 0 + 4 * 1,
             3 + 4 * 1, 2 + 4 * 1, 1 + 4 * 1,
  
             // Front
             3 + 4 * 2, 1 + 4 * 2, 0 + 4 * 2,
             3 + 4 * 2, 2 + 4 * 2, 1 + 4 * 2,
  
             // Back
             3 + 4 * 3, 1 + 4 * 3, 0 + 4 * 3,
             3 + 4 * 3, 2 + 4 * 3, 1 + 4 * 3,
  
             // Right
             3 + 4 * 4, 1 + 4 * 4, 0 + 4 * 4,
             3 + 4 * 4, 2 + 4 * 4, 1 + 4 * 4,
  
             // Top
             3 + 4 * 5, 1 + 4 * 5, 0 + 4 * 5,
             3 + 4 * 5, 2 + 4 * 5, 1 + 4 * 5,
 
         };
         #endregion
 
         mesh.vertices = vertices;
         mesh.normals = normales;
         mesh.uv = uvs;
         mesh.triangles = triangles;
         mesh.RecalculateBounds();
         mesh.Optimize();
 
         return mesh;
     }
 
               
                 
                bumpmapping01.jpg 
                (90.6 kB) 
               
 
              
               Comment
              
 
               
              Your answer