- Home /
Is it possible to use material nodes from Blender in Unity, if not how can it be worked around?
I just started learning Blender to use with Unity, but good material is scarce and with my limited English it's hard to find what I'm looking for because I simply do not know the correct terminology.
I do know that unity can import blender files, earlier I imported a square object that had a texture mapped to it in blender. Showed up fine in Unity. But with this more complex object I ran into all sorts of problems.
So here is my problem, I followed this tutorial by blender guru.
He has three spherical objects.
Object 1: Is solid with two textures applied. One texture is shown when the object is illuminated, the other texture is shown when it's not illuminated.
Object 2: Is slightly bigger than object 1 and has a transparent material with clouds.
Object 3: Is slightly bigger than object 2 and has a special effect that adds a color to the borders of the object.
He uses this thing called nodes to apply most of these materials and also uses nodes to see what parts are illuminated and which parts are not.
Now in blender I have a pretty blue marble with textures and bump maps, transparent clouds and a nice material that glows blue a bit (actually removed in this screenshot because I was greeted by a blue mesh in Unity).
When I import this in unity all I'm greeted with is a white mesh with no textures and when I import the textures and apply them to the materials nothing changes at all. I absolutely don't understand.
This page, says that Unity does import nodes, but it does not assign the textures. How should I apply the textures when using material nodes? Or is that simply not possible?
Are some of the things done in blender, such as the texture changing depending on the light even possible? I would really love some help on this subject, even if it's just sending me to a video that explains how I do these things because I could find nothing that helped me solve my problem.
Answer by Owen-Reynolds · May 03, 2014 at 05:27 PM
Short version: 1) Probably not 2) Learn Unity.
Longer version:
Every 3D program has the basics. They all handle them a little differently, but close enough that importers can handle it. Then they have special features for just that program. The point of those is to say "we have this feature. Other program X doesn't." Material Nodes sounds like a special Blender-only feature. The page you cited says Unity imports nodes, not Material nodes. I think nodes is just another word for Empties.
You can probably do the same thing in Unity, but have to learn the Unity method. In your case, it's "easy" to modify the specular shader to use a spec texture instead of a spec color (by easy, I mean if you knew shader writing, and knew the Unity version, it would be easy.)
But, the thing is, Blender was primarily for 3D movies, where you expect to render a 30-second clip over a few hours. In other words, it's made to run at 1FPS. Lots of the special stuff are things you wouldn't put in a game, which has to render on the fly. Game makers think differently from pre-rendered clip makers. Like changing texture if you're in a light -- that sounds like a selection. In a game, when something is selected, it's not subtle. The whole thing glows and gets bigger, and Unity does that just fine.
Answer by unity_NPdaWeeDrgNniQ · Jul 14, 2020 at 03:48 PM
This might help... http://www.xafargames.com/post/how-to-export-complex-material-nodes-from-blender-to-unity
Its a step by step guide to recreate materials from blender to unity... This might help new comers