Home Technical Talk

How did you learn to create complex UDK materials?

polycounter lvl 7
Offline / Send Message
tulkas09 polycounter lvl 7
Hi, I started to create some complex materials, because I want to be a environment artist and I need a good portfolio. And now for improve more I need to do better materials for my environments and I want to know, how did you learn to create sophisticated materials?

I know hourences and some kind of webs, but the information is not so specific. And all I know of complex materials it is by looking the materials that udk brings in the free version and tweaking for what I need.

Give me advises & thx a lot :D!

Replies

  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    i more or less just started off looking at epics material to see how certain material expressions work, than went off trying to think my way through ideas and how i could accomplish them with the material expressions i know about.

    i find once you know a certain amount about it all once you see something you can think if how it;s done pretty quick and a lot of experimentation helps.

    what kinda things are you trying to create, if wanted i could drop you a few examples of various things?


    EDIT:
    and material functions are your friends, if you make somethign kinda cool, that could be implemented in a lot of different things, make a function from it.
  • tulkas09
    Options
    Offline / Send Message
    tulkas09 polycounter lvl 7
    I have touched some things like bumpoffset and others effects. In general I'm looking the right way to learn to improve.

    Specific problems I have per example are like: To do clean and bright metal scratches what you would do, -increase the specular power. -add a multiply in specular.

    And well anything that can help me a bit to improve I would be so grateful :)
  • BARDLER
    Options
    Offline / Send Message
    BARDLER polycounter lvl 12
    3D Motive has an awesome 3 part video series to get you a good foundation to start on. The show you how to make a glass shader, blend textures, holographic shader, water shader, material instancing, real video footage, masked material, animated materials, depth based alphas, lava material, and up vector materials. I am going through it right now, and learning a ton in just the first part. Also they have vertex painting tutorial as well to set up even more advanced shader networks.
  • Santewi
    Options
    Offline / Send Message
    I think experimenting is the best way to learn. I started with the materials that came with UDK as well as some tutorials around the internet to get me started.

    The materials compendium page on the UDN is also very helpful, especially for beginners.
  • MaVCArt
    Options
    Offline / Send Message
    MaVCArt polycounter lvl 8
    Most of what I learned comes from people I know, and what I learned when I worked at Larian Studios, from the other technical artists there. But mostly, creating complex materials is about logical reasoning: thing of every pixel as a mathematical value, and think about what your operations will do to that value.

    A helpful technique is to set up a chain, and for each link in the chain, to plug in that step to the emissive channel, to see what it does. For example, if you were to plug in a 0,0,1 coordinate that went through a world transform operation to transform from world space to tangent space, you would get a sphere that is blue only on the top half (in world space) - this would then be used for materials that, for example, always have snow on top of the mesh, no matter which way you rotate the mesh.

    Also, try to look up complex mathematical formulas to achieve certain effects, and try to reproduce them using material instructions. Remember that most operations are nothing more than a variation of multiply, add, or divide, even though some variations are very complex. Knowing that, you can replicate any algorithm you want using just material instructions.

    A good practice as well is to just try stuff, and to actually write down what you're doing on a notebook, in mathematical formulas. It helps to have the thing in front of you, so you can focus on getting the operations right, instead of having to remember which part of the formula you're working on.

    I hope this helps :)
  • gsokol
    Options
    Offline / Send Message
    thing of every pixel as a mathematical value

    Very much this.

    After looking at a lot of examples for what other people do...I made sure to not just...know what nodes to use for a given result...but to really understand how everything is getting manipulated. Once you get a good understanding of how the basic math works...you can get creative and do whatever you need to suit your needs.
  • JamesWild
    Options
    Offline / Send Message
    JamesWild polycounter lvl 8
    Came from a programming background, knew GLSL/HLSL from before and it's just a graph editor for them.
  • darthwilson
    Options
    Offline / Send Message
    Just watch video tutorials.. Ones were people explain what they're doing and how certain nodes work..
  • leopadua3d
    Options
    Offline / Send Message
    Although this is almost dead, I think that one important consideration to have is that in one way or another, complex shaders require an understanding of how things work in real-life. After all, we are just trying to approximate natural phenomena.

    I believe one of the best talks about this is the last Konami presentation on GDC. You can clearly see that they are going back to nature to find how things behave and then code/create approximations.
    http://www.itsartmag.com/features/fox-engine-gdc-2013-keynote/

    Besides this "conceptual work" getting hands-on is not that complex. If you have a knowledge of what each channels is supposed to do and simple math/image composition...then its all about setting a goal and going for it. Knowing Maya's hypershade or max's Slate editor or even Darktree is obviously a benefit, since they all seem to work on the same way.

    Cheers
Sign In or Register to comment.