Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Adding bumps to a gold brick for an Arkanoid clone

Discussion in 'General Graphics' started by GregPDesUGD, Oct 15, 2016.

  1. GregPDesUGD

    GregPDesUGD

    Joined:
    Jul 27, 2016
    Posts:
    93
    I am new to 3D modelling and texture mapping, and thus need some help in having something suitable. What I want to do in my Arkanoid clone is create a gold brick where it cannot be destroyed and its color resembles close to gold.

    I think I want to add a natural look by simply adding bumps, but I don't want to go into too much detail when editing textures in Inkscape because a brick is too small for the resolution I'm working on right now, which is 800 by 450. I have a standard shader material to change the color of the brick in the editor, so I'm editing the texture or mesh completely in grayscale.

    Where do I start? I do have free image effects on Inkscape, but I need to understand how the process of creating textures work.

    I plan to upload the game onto Newgrounds.com first and watch people's reactions before I go on ahead, update, and upload the game onto other websites including Kongregate. How powerful is WebGL anyway? I don't want to necessarily preoptimize my game by just limiting the properties of textures and the different details in them.
     
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    To answer on of your questions - you want a normal map to add the surface detail to the brick. This normal map should be subtle - and should have a supporting specular map so the normal map reacts accurately to the lighting setup.
    To learn more about textures for 3D models a couple great resources are the PBR info for Unity, marmoset toolbag, substance designer, and also some stand alone tools which get into some very helpful info - crazy bump and xnormal.
     
  3. GregPDesUGD

    GregPDesUGD

    Joined:
    Jul 27, 2016
    Posts:
    93
    I might have a rough idea on what it is I gotta do, but I'm pretty sure there are extra steps I need to do because I'm only a newbie.

    From following up on Unity's tutorials and documentation for 3D modelling, I'm supposed to build my models on Blender down to the smallest 3D shape needed (like a nail sticking out in this large steel panel), map out the textures, then bake both textures and models together to break them down into a 3D mesh, a normal map, and a height map.
     
  4. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    That's overkill in this case. For something simple like this, making a greyscale texture which is turned into a normalmap would be fine. Although if you're not doing anything with realtime lighting, drawing the effect into the texture would be simplest, so you wouldn't bother with normalmaps etc.

    --Eric
     
  5. GregPDesUGD

    GregPDesUGD

    Joined:
    Jul 27, 2016
    Posts:
    93
    My only concern is how much is raised and how much remains flat, because right now my bricks touch one another just like Arkanoid. Otherwise, there should be a way for me to apply grayscale bumps to an image that has a gray background. I actually don't know how bumps on Inkscape or Paint.NET are added.

    Right now, I have a Directional Light source in my rough game scene. I don't know what light source I want in the final game, but I think Directional Light seems appropriate because except for the 3D aspect of the game, which does involve drawing shadows on these 3D bricks, having the light face the bricks create relief throughout all the bricks in the level.
     
  6. Torbach78

    Torbach78

    Joined:
    Aug 10, 2013
    Posts:
    296
    cloning arkanoid exactly? if it is an orthographic camera view this does not need any 3D modeling.....arkanoid did not have shaders, lighting or 3D... so it is far easier to just make this with 2D sprite system in unity; cheaper on hardware, needs no models, no anti-aliasing, no light, they atlas (batch), 1:1 pixel density...




    have you thought about just grabbing the arkanoid sprite sheets online to build your demo? you can alter the ones you want and throw out the ones you don't need - the grid function will slice them up perfectly


    if you are brand new to painting textures you can use GIMP (open source) and learn to paint with that too
     
    Last edited: Oct 16, 2016
  7. GregPDesUGD

    GregPDesUGD

    Joined:
    Jul 27, 2016
    Posts:
    93
    I'm building a 3D version of it with my own, using a perspective camera. It's simply for me to learn the different things that Unity has the ability to offer, as I'm learning and practicing it for video game development co-ops later. Thing is, I eventually want to build a game for the Wii U as I was able to sign up for the Nintendo Development Program earlier this year. I know it sounds overkill, but I'm doing it for the sake of my passion.
     
  8. Torbach78

    Torbach78

    Joined:
    Aug 10, 2013
    Posts:
    296
    well bump mapping is a simpler and older shader technique + a few come with unity, you can start with them
    just author your greyscale image using any paint program; white = up, black = down and assign in the material**

    are you confusing normals with displacement mapping?? that perturbs geo/vertex to alter silhouette needs (sounds like you have no need for that),.... you can use some plugins in things like photoshop to output a normal from a greyscale image like nDo


    going from blender high poly modeling and then outputting a normal + height & having your shader process them for your needs is 'ambitious' but certainly will advance your learning..

    **you can make your own shader to process RGB channels separately, each channel is a different (8-bit) bump value to save texture memory; three images out of one file
     
  9. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    Unity does the greyscale-to-normalmap thing already, no need for plugins. There never have been any shaders that come with Unity that use greyscale bumpmaps; it's always been normalmaps.

    --Eric
     
  10. GregPDesUGD

    GregPDesUGD

    Joined:
    Jul 27, 2016
    Posts:
    93
    I think what I'm not getting yet is how to scale my brick mesh so that when I add the normal map, if it's surrounded by other bricks, the map won't make the surface overlap with the others. Instead, it will touch them.

    This is my first time dealing with this, and I have yet to practice. What should I do at the start?
     
  11. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    Normalmaps can't alter the mesh in any way. They're purely cosmetic.

    --Eric
     
  12. GregPDesUGD

    GregPDesUGD

    Joined:
    Jul 27, 2016
    Posts:
    93
    Strange; I remember watching the tutorial videos on them, directly on the Unity website, and I noticed that there was a height variance with them. I figured that some surfaces are raised above the meshes themselves.
     
  13. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    Displacement map alters the surface of a mesh. Normal map - fakes surface detail on the mesh in xyz. . Bump map fakes surface detail on the mesh - only in x-y direction.
     
  14. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    It would be a really good idea to just play around with textures and normalmaps so you get a feel for how they work.

    --Eric