Home 3D Art Showcase & Critiques

Random collection of Shaders, Materials, and Workflow Improvements.

polycounter lvl 12
Offline / Send Message
BARDLER polycounter lvl 12
Hi PC, this is my thread filled with my scatter brain collection of things I am working on. I have been focusing a lot on my process of making art lately and wanted a place to collect them all.

Material Work:

Working on some materials to test some blended material workflow things in UE4.
Tileable Red Brick: Zbrush, Substance Designer and Marmoset.


Next is to make the three other materials to blend with this. Plaster, Damaged Brick, and Stain/Grunge.

Shader:

I am building a material blend shader in UE4 that has majority of features you would need to blend your materials together on an asset. Here is a work in progress of the blending working.

It is being driven by this low res blend map:

This is what the material instance looks like:

Completed Features:

-4 Different Materials driven by an RGB map
-Detail Ramp maps to get better transitions between materials.
-Layer independent UV scaling
-Metaless, Roughness, and AO packed into single texture. Lose bit depth, but save memory and shader cost.
-Base 1:1 normal map and AO map.
-Color tinting for base color.

Kind of Working, but needs work:

-Detail Ramp map channel selector. Currently using 0, 1, 2. Need to look into how to make it just RGB.
-Mask controls to grow/shrink, and soften/sharpen. Not exposed in Material Instance yet.

To do list:

-Logic in shader to toggle on and off entire layer.
-Add support for vertex blending with a simple toggle.
-Better normal blending using the derivative solution.
-Roughness adjustment control variable.
-Scrolling UVs.
-Heightmap blending for parallax occlusion mapping.
-Directional projection for top down snow, moss, dirt, ect.
-Look into a better Fresnel solution, with possible controls to tweak.
-Will add more as I think of them.

Workflow Improvements:

Zbrush: Found this awesome startup script that lets you get rid of annoying things you have to do every time you start Zbrush: https://gumroad.com/l/ZStar#

Zbrush: Made a custom pallet of brushes and buttons I use all the time:


Next I want to work on the process for getting assets from Maya/Zbrush into Substance Designer/Painter, and then into UE4.

After that is work on some auto mask generators for building and generating RGB blend maps in Substance Designer.

Thanks for stopping by!





Replies

  • josh_lynch
    Offline / Send Message
    josh_lynch interpolator
    Really excited to see how this thread progresses. Thank you for putting it together and sharing with us all!
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    Thanks man!

    I have a small update today. General windows workflow improvements using a couple small programs.

    First is direct folders: http://www.codesector.com/directfolders
    Base program is free, and they have a few more features in the paid one.

    It lets you middle mouse click anywhere in windows and get access to the same bookmarks, last locations you saved to, and quick access to your most commonly used  folders. It also works in photoshop which has the worst file browser ever. Overall saves a lot of time jumping around your file structure. Here is a quick little layout I made:


    Another program I love is Fences. It lets you create bounding boxes, folder portals, and automatic desktop organization for your desktop. I also like it because if you have to do anything to your video drivers, or change monitors around, it keeps your desktop the same. Window will randomly reshuffle your desktop whenever that stuff gets changed. Its well worth the $10.
    This is what it looks like:

    Website: http://www.stardock.com/products/fences/
    Short video: https://www.youtube.com/watch?v=w9-xDAnfYlI

    Have fun!


  • Shyralon
    Offline / Send Message
    Shyralon polycounter lvl 11
    This looks really interesting, will keep an eye on this thread.
    Also thanks a lot for sharing, I really appreciate that you spent the time to write these posts :D
  • Eric Chadwick
    DirectFolders is indeed awesome. Love to see others making shaders, looking forward to your updates.
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    I have been learning Python on my free time over the past month, and I want to start looking into writing some tools to do a lot of automatic tasks in Substance Designer. To do that I need an asset to be able to testing things on, so I made a simple Fire Hydrant:
    Highpoly done, will do lowpoly and UVs soon.

  • xChris
    Offline / Send Message
    xChris polycounter lvl 9
    Sick! What are some things your thinking of automating? 
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    xChris said:
    Sick! What are some things your thinking of automating? 
     I want to automate baking assets. Ideally make a process in Maya where I just select the highpoly, lowpoly, and cage, and it will automatically create a new sbs file, name it, import the meshes, and bake into a standard set of outputs. Also part of that tool might deal with automatic colorID assignment, not sure what that will look like yet.

    After I bake the asset, I want to create a bunch of different custom nodes that create different texture detail masks using all that baked information.

  • Add3r
    Offline / Send Message
    Add3r polycounter lvl 11
    Hi from around the corner at SHG :awesome:

    Curious about your workflow from zbrush to Substance Designer.  Did you sculpt the entire tileable texture out and then use substance to texture it?  Or did you sculpt specific bricks and then use Substance to organize them?  I am really starting to dig into the environment materials and had experimented with a similar workflow but it didn't yield results I had been looking for in my first set of iterations.  
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    Add3r said:
    Hi from around the corner at SHG :awesome:

    Curious about your workflow from zbrush to Substance Designer.  Did you sculpt the entire tileable texture out and then use substance to texture it?  Or did you sculpt specific bricks and then use Substance to organize them?  I am really starting to dig into the environment materials and had experimented with a similar workflow but it didn't yield results I had been looking for in my first set of iterations.  
    Hey man, it kind of all depends on what I am making but my general rule of thumb is:
    Large 'chunky' detail shapes are made in Zbrush always, like bricks, mud, rock, plaster, etc. I layout these out completely in zbrush, like this:

    Basically following this workflow: http://polycount.com/discussion/126224/zbrush-tiling-sculpts
    I like to do it in zbrush because it give me more control and feel than I can get from trying to do it procedurally.

    Medium details are a mix of Substance and Zbrush. Sometimes I will sculpt some cracks, pebbles, divots, and other random details and then scatter them around in Substance. Sometimes I generate it fully in Substance just depends on what I think is faster.

    Small scale detail are always done in Substance like pits, surface noise, grit, etc.

    Then I bake a ton of different maps, Normal, AO, Cavity, Height, Transmission, random matcaps, and a few others. I use my bakes as masks and I start layering my texutre together in Substance using a combo of procedural and photo sourced information.

    These are some graph examples:
    For the detail normal map I made the height map 100% in Substance.


    For the albedo its a lot of the baked information with some procedural edits to make masks to blend together photos.


    Hope that helps!
  • Add3r
    Offline / Send Message
    Add3r polycounter lvl 11
    HUGE help.  Thanks a ton, man.  I was using a very similar workflow, and wasn't sure if there was a better way to go about it.  Good to get confirmation, I was on the right track + the tips I picked up.
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    So after a few months of learning python I have made something :)

    I built an auto baker using Pymel, Substance Bath Tools, and Substance Designer. You save your Maya file somewhere, and anything you place in the lowpoly, highpoly, and cage groups will automatically get baked with the folder structure and naming taken care of. Here it is in action:
    Maya:


    Here is what the output looks like in the directory:

    Bakes:

    The naming is all based off of the name and location of your Maya file.

    Here is what the SBS file looks like:


    Still have lots to do with it but I am happy with the progress so far :)

  • Tzur_H
    Offline / Send Message
    Tzur_H polycounter lvl 9
    really like the art AND the tools you're sharing with us to make workflow more convenient :]

    why is the normal map so bright in the "Bakes" folder?  it looks fine in the SD graph :S
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    Tzur_H said:
    really like the art AND the tools you're sharing with us to make workflow more convenient :]

    why is the normal map so bright in the "Bakes" folder?  it looks fine in the SD graph :S
    Glad you are enjoying the thread :)
    When you bake with the tiff format in Substance it bakes it in 32bit, and then when you hook it up in Substance it applies the correct color space correction to it.
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    After a bit of stumbling around documentation and random forum posts I figured out how to make a UI :)

    It is super bare bones right now, but it works which is cool.

  • mikezoo
    Offline / Send Message
    mikezoo polycounter lvl 14
    Nice dude! Its all coming together! Looking forward to that "select Highpoly FBX" checkbox! ;) 
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    Update to my tool:
    Added features to change resolution, AA, lowpoly UV set, and select the name matching feature. Also cleaned up the options how to handle the highpoly to speed up the tool a bit, and also support an externally selected file.


    Also setup a Trello board for it. It is a great little post-it note type organization tool, which is an awesome way to organize personal projects: https://trello.com/
    Here is the board:

  • Nicorepe
    Offline / Send Message
    Nicorepe polycounter lvl 4
    This thread is gold! thanks for sharing all that knowledge!.
  • BARDLER
    Offline / Send Message
    BARDLER polycounter lvl 12
    Glad you enjoy it :)
    Here is a UI update:

    I added 2 new features:
    -Make Cage Mesh, deletes the old cage and creates a new one by combining all the lowpoly meshes together. I want add a couple things to help quickly edit the cage mesh, like color coding the different meshes, and quick buttons to edit the cage.
    -Create Painter File, launches Substance Painter with the lowpoly and textures imported. I am exploring additional functionality by using a template file to launch from which I can store more settings in.

    I did some code re-organizing and found I can actually bake multiple maps at once instead of just one at a time like I was previously doing. I reduced my bake times by about half, here are some timed results for those interested:
    Baking 7 maps: AO, Color ID, Curvature, Normal, Position Map, Thickness, and World Space Normal.
    All bake times start when the Bake! button is hit, and include the time it takes to export all the meshes.
    650,000 triangle highpoly @ 2048 with 2xAA = 1:29
    650,000 triangle highpoly @ 4096 with 2xAA = 4:49
    10mil triangle highpoly @ 2048 with 2xAA = 5:55
    Note that a 10mil triangle mesh takes 1 minute to export out of Maya.

    I did a test in Knald and found that it took me about 4 min to just setup the bake in the first place, so this saves a bunch of time which is awesome. It also makes re-baking an asset much faster too.
Sign In or Register to comment.