Hola, I was wondering if there are plans to implement this kind of thing in Unity in the future?
Cheers,
CEH
Hola, I was wondering if there are plans to implement this kind of thing in Unity in the future?
Cheers,
CEH
You can do that yourself right now.
The most problematic piece is, how do you compute radiosity normal maps (it needs a specially crafted lightmapper). I think Illuminate Labs Turtle/Beast support that, maybe some other lightmappers.
When you’ve got your lightmaps computed in radiosity normal map basis, it’s just a couple of quite similar shaders that you need (Valve’s presentations even contain the relevant bits of shader code).
Yea I noticed the code and such, the lightmapper is a problem and looking at Beast, they say to contact their sales dept for pricing… which has always mean “too high” in my exp.
Will be cool to play with though.
CEH
Sorry for digging up this old thread, but xNormal can create RNM’s (found at the bottom of the “Maps to render” in the Baking Options menu).
So what would this type of shader require? (would it be 1 RNM + 1 regular lightmap, or would it be 1 RNM + 3 lightmaps?)
You would normally use 3 relatively low res lightmaps and a normalmap.
Because of the high resolution of the tiled normalmap, the lower resolution of the lightmaps wouldn’t be too noticeable.
You could also put the strength of the lightmaps from each direction directly into the color channels of the “normalmap” instead of using the normal itself.
Valve has some great info on this approach in a paper on their website:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_EfficientSelfShadowedRadiosityNormalMapping.pdf
This has 2 big advantages (and a smaller third):
sublte self-shadowing for free (since you calculate the “directional ambient occlusion” from each lightmap direction into the “normalmap” (which is ofcourse not a real “normalmap” anymore)
Much simpler computations in the pixel shader because you don’t have to deal with the normals, you just simply look up the influence of each lightmap in your weirdo-normalmap.
You could store brightness variations of your base texture in this normalmap too and then be able to use a lower resolution base texture (for coloring) to save additional texture space without having a noticeable negative visual impact in most cases.
The big downside is that you lose access to the bumped surface normal, so if you want to add bumped speculars for instance, you will either need an extra normalmap or some smart trickery.
You also have to create these new type of normalmaps yourself, but it’s prolly worth the effort, quite easily done in a 3D package.
Maybe this helps? Sorry if i’m being ignorant.
That helps alot!
Thanks for the link.
I think its shader that unity definitely needs, especially seeing how FPSC just released a variant of it for the x9 version.
http://forum.thegamecreators.com/?m=forum_view&b=24&t=161769&p=0
Sorry to dig up this ancient thread:
just tested some scenery with the free version of Unity 3.0 only to find out that “Radiosity normal maps” are not supported which leaves me with 2 options:
a) using lightmapping: therefore any normal mapped surface will remain flat after baking
b) using realtime lights: therefore normal maps are working, but no shadows at all
I don’t know which solution is worse, but both approaches seem poor to me:
either you choose a) and therefore get stuck with graphical quality from the year 1998 or you choose b) which only looks better on the very first view, but fails when you clearly need to distinguish darker/lighter areas…
I then tried out the 30 day trial “Pro” features with realtime lighting/shadows - however nothing changed: normal mapped objects are still shown flat in the shadows. Take a large scene some normal mapped houses, towers castles, walls or whatever and half of your map will look crappy.
Therefore an official attempt from the Unity Team to implement this feature would be nice for free and pro edition. I hoped this feature was built in already since the papers from Valve are 6 years old :-/
Sounds like you didn’t turn Dual Lightmaps on which gives the best of both worlds and looks just fine. You don’t need normal maps far out in the distance, and when you get close to them, they fade in while the baked shadows fade out and you’re left with fully realtime lighting and shadows. Meaning you get everything you just asked for.
Failing that, use an external baking solution and advanced renderer such as Vray, and blend the two.
@oblivionfeet: thanks for the reply but I think you didn’t get my point right:
The issue I encountered is that no matter whether I choose lightmaps or realtime lighting => any texture which is in a shadow looks flat and not “bumped”. The only solution to make textures look bumped in shadows or even without any light at all (or 'ambient light) is “Radiosity Normal Mapping” which was used in HalfLife2.
Also in the free version I can’t use lightmapping+normal maps, except I put all objects in the scene to “dynamic”, which however results in “no shadows” at all. The choices for the “free version” are a joke at best… and the costly “Pro” Version only offers a “medium solution”…
Therefore this requested feature would raise the visual quality a lot for both lightmapped and realtime lit scenery.
We have a working Radiosity Normal Shader running on the iPhone, is fast and it looks identical as if you were doing normal bump/scular.
The real difference is that, theres no dynamic lights and you can have a lots of virtual lights to compute diffuce and spec, all that taken from bakes. But is a real problem to get the radiosity normal maps (workflow-wise). We are using Turtle in Maya. Beast support RNMs bakes but is not expose yet throught Unity. I really hope unity will let us do RNMs, this will let anyone use theses shaders without the need of importing, reimporting, unwrapping, atlasing, etc outside Unity.
Dual lightmap do not work on the iPhone, Radiosity Normal Map does work.
Also, with this technique, distant objects can shade/bump/spec/etc, even on the iphone.
xNormal RNMs are unusable, the best one still Turtle/Beast.
I started a feature request on the feedback section if others are interested too http://feedback.unity3d.com/forums/15792-unity/suggestions/1102865-radiosity-normal-mapping?ref=title
(hopefully I didn’t miss another poll which already requested the same thing)
the feature is not required if you ask me.
NM feeding from the light cloud, a powerfull top notch feature beast has thats not utilized yet, would be more than powerfull enough and also do more than just feed the wall, it would also feed dynamic objects move through the area
hmm, well if Beast already supports this feature and it’s just not utilized by Unity yet, then it’d be good enough if it will happen soon. That’s all this suggestion is about