Hi all
Just a quick question. My friends and I are making a small game in Unity and as one of the lead artists I'm running into some complications regarding the materials.
I'm used to using the UDK node based materials which allow you to do pretty much anything. However in Unity I've found the material types that come with the engine are extremely limited, as in they only allow you to use a diffuse map and a normal map.
For the assets that I will be importing I will be in some circumstances wanting to use a diffuse, specular, normal, emissive and gloss map all on the same material.
This would be quite simple in UDK, however I've no idea how to get it working in Unity without writing lines and lines of code that frankly I've no idea about!
I've heard that you can modify .max files on the fly - If I made a max material work the way that I would like, would that import into Unity too?
Thanks!
Guy
Replies
but you can do a lot with the standart shaders actually...
No, that wont work. Max materials are completely different than Unity shaders. At best you get a material with the diffuse hooked up and maybe diffuse color...but thats it.
I've been using Maya/FBX and the materials in Unity somewhat reflect the options in Maya, if I used transparency or specular those come across to Unity, and if the texture is there and in a certain spot it'll automagically find and assign that as well.
Strumpy Shader Editor is what you'll be using for node/shader creation. The limitation that you're going to have trouble with is the lack of good multipass support (see the Unity example; Soft Edge Unlit), but beyond that it's similar to UDK, wit the following differences:
You have to use the 'Split' node to break up RGBA components and the Assemble node to append them
And because it's geared more towards Unity Deferred Surface Shading than UDK or older versions of Strumpy, it's broken up into surface, lighting and vertex graphs, with somewhat limited communication between them (the benefit is speed/usability when using deferred).