Home Unreal Engine

Master Material Starter Kit

Hey everyone! I've been working on a new project in UDK and set up a Master Material just to get everything started. While there are many wonderful examples of master materials on the web, there aren't very many that have been released for download, so here we go!

UPDATE: 8/17/2013
Quick update for today. Bug fixes thanks to Santewi for pointing out issues!
- Cubemaps now use correct parameter
- Reflections can also be added to diffuse and specular now
- Options are now grouped for better readability in instances
- Added sine wave control for emissive for "flickering" materials

Download now!

UPDATE: 8/14/2013
I've put together some example material instances created with the master material. These all come from the same material, with only adjustments to parameters in the instance.

I will be releasing these along with a translucent material that can be used for both water and glass, all controllable with static switches and parameters. The next version may be a paid version, considering the amount of content, if people find that reasonable. I'll continue to update the original material and provide it for free as a learning resource, although material examples and special materials (such as an IBL or Cook-Torrance variant) will be paid updates. Just to note these materials are still WIP and do not represent the final product.

mat_examples.jpg



Master Material Starter Kit v1.0
(requires UDK Feb 2013 or later)
- Diffuse, Emissive, Specular, SpecPower / Gloss, & Normal
- Vertex blending for red channel, blending controlled by blue channel of normal map and vector params
- Support for both cubemap and reflection planes through emissive
- Fresnel rim light with color controls
- Choice of Spec Power or Gloss/Roughness map through Lerp with Scalar values
- Detail normal maps

Future planned updates
- Dirt mask blending
- Define + multiply ambient occlusion to diffuse / spec from diffuse alpha slot
- Custom Lighting variation for more control
- Translucent master material for water, glass + more

Free for any use, no attribution required.

Special Request
I see this kit as a chance for fellow UDK material creators to build upon this kit. If you want to add to this kit, please share your improvements here and I will try my best to incorporate them into the next release. Current release schedule will probably be bi-monthly, depending on how much time I have.

Special thanks to Ryan Smith for his original Master Material tutorial series for teaching me this workflow a couple years back. Figure now is my chance to give back as well.

Please share any bugs you may find here.

Download now!

Replies

  • DarkUnicycle
    Options
    Offline / Send Message
    I'm sorry for asking, but how do I add these Materials to UDK?
  • MooseCommander
    No worries! You'll want to download the kit (link at the bottom of my post). Save the .upk to your UDK content directory (for example, C:/UDK/UDK-2013-02/UDKGame/Content).

    Next time you open up UDK the package should already be loaded into the Content Browser. From here, you'll want to right click on the master material, choose Create a Material Instance (Constant) and you'll be able to plug in your textures from there and make adjustments to all the vector and scalar parameters.

    It really is only "one" material at the moment, although I'll be updating the package to include multiple material instances to help you achieve a certain look (think Gold, Silver, etc).
  • MooseCommander
    Quick update with material examples added to the main post. Please discuss and give feedback!
  • Santewi
    Options
    Offline / Send Message
    So this is pretty much just an example on how to use master materials?
  • Rurouni Strife
    Options
    Offline / Send Message
    Rurouni Strife polycounter lvl 10
    Thanks, and I like the idea of the very complex materials being paid. Good call on your end. I'm going to grab these and see how they look compared to the materials I'm using in my current project and see what I can learn!
  • MooseCommander
    Santewi wrote: »
    So this is pretty much just an example on how to use master materials?

    Yes, that's one way to think of it.

    I'd rather say it is a master material that also includes a library of pre-configured materials for you to use. Plug-in your normal, diffuse, spec and roughness, make some small adjustments to the values to fit your needs, and you're good!
  • Santewi
    Options
    Offline / Send Message
    Alright. Is it PBR, and how many instructions if every feature is enabled?
  • Beno09
    Options
    Offline / Send Message
    Beno09 polycounter lvl 4
    Pretty awesome Master material you got here. Can't wait for updates of it.
  • MooseCommander
    Santewi wrote: »
    Alright. Is it PBR, and how many instructions if every feature is enabled?

    Currently, no.

    There are custom shaders that can do PBR, but I haven't found any that look "perfect" yet. Many of them have artifacts and lighting issues, and also do not work with lightmaps (as far as I know this has been true since DX11 was introduced). As such, there is a bit of a quality drop when using a shader with Custom Lighting.

    I will say it is an option I am exploring greatly. I'm an HLSL noob so if anyone with some actual skill is interested in contributing, I would appreciate it.

    I can promise that even if I do offer a paid version, I will still offer the PBR as part of the free version. The paid version will only ever contain special shaders (such as water with flow maps) and material examples. The base Master Materials will always be free. :poly142:

    As for instruction count, let me check and get back to you. It can get very heavy if you turn everything on. It's meant to provide you with lots of options. Of course, each option has a performance cost, so it is up to the user to be wise about what they apply to each model. If anyone has tips on how I can optimize if I am being sloppy, please let me know.
  • MooseCommander
    Beno09 wrote: »
    Pretty awesome Master material you got here. Can't wait for updates of it.

    I aim to please! :D

    I promise I'll have more to show soon.
  • Santewi
    Options
    Offline / Send Message
    Downloaded it and played around with it a bit. A few notes:

    - Your reflections do not work - you're using a 2D texture for the Cubemap parameter.
    - There is no way to control the brightness or the blurriness of the reflections with a mask. It's pretty much mandatory if the material consists of two or more different substances.
    - You can't control the strength of the detail normals.
    - The params are not categorized/grouped making the material instance editor rather hard to read.

    Other than that, it's a solid staring point. Bonus points for having a glossiness min/max instead of a flat specpower.

    Tell me if you want some help with building the mat. I've been slowly building up my PBR master material to fit my needs and I could incorporate some useful features.
  • MooseCommander
    Santewi wrote: »
    Downloaded it and played around with it a bit. A few notes:

    - Your reflections do not work - you're using a 2D texture for the Cubemap parameter.
    - There is no way to control the brightness or the blurriness of the reflections with a mask. It's pretty much mandatory if the material consists of two or more different substances.
    - You can't control the strength of the detail normals.
    - The params are not categorized/grouped making the material instance editor rather hard to read.

    Other than that, it's a solid staring point. Bonus points for having a glossiness min/max instead of a flat specpower.

    Tell me if you want some help with building the mat. I've been slowly building up my PBR master material to fit my needs and I could incorporate some useful features.

    All good points! I'll start implementing them. Yeah, just looking at the Material Instance can be a little intimidating.

    Yes, I could definitely use some help. I've been messing with some HLSL and CustomLighting options the last few days.

    As for the cubemap, I noticed that as well. How can I call cubemaps with a parameter? I assumed it was the same way as a texture, but obviously I was wrong.
  • Santewi
    Options
    Offline / Send Message
    As for the cubemap, I noticed that as well. How can I call cubemaps with a parameter? I assumed it was the same way as a texture, but obviously I was wrong.

    Right click -> Texture -> New TextureSampleParameterCube.
  • MooseCommander
    Santewi wrote: »
    Right click -> Texture -> New TextureSampleParameterCube.

    Thanks! I've updated to fix some of those issues.

    I don't have reflections worked out yet, but I plan on getting that implemented soon.
  • Lazerus Reborn
    Options
    Offline / Send Message
    Lazerus Reborn polycounter lvl 8
    Ahh the sheer amount of times i used Ryans master material tutorials, to have unstable-crashes and cockups. (Was my awful coding/breaking everything i touch/ being a nooblet at the time) I never got around to creating a new master set for my next project so this is perfect start point!


    Thanks for the hard work Moose! Quite a interesting thing to study too ;)
  • MooseCommander
    No problem! There's still more to add, but it is coming along.
  • Lazerus Reborn
    Options
    Offline / Send Message
    Lazerus Reborn polycounter lvl 8
    This was a wall of text but it seems after 4 hours or so of error checking i have one idea;
    per chance are you using the JULY build of UDK?

    If so it explains a lot of my issues with getting the darn thing to work!
Sign In or Register to comment.