Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
2 captures
12 Jun 22 - 14 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
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.

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
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

0 Replies

· Add your reply
  • Sort: 

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

66 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

How can I make my texure line up right with the default cube 1 Answer

How to import UV Map Texture and Set to Object? 0 Answers

How add texture to skybox procedural shader 0 Answers

How to optimize the use of multiple materials in one object? 2 Answers

Get colour of a pixel on a texture? 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges