So now that Unity 5 has been out for a while and the main bugs have been ironed out, I wanted to hear others opinions on it and see if anyone else has issues like me. I would love to hear you guys answer the 3 questions.
Baking speed aside… Quality. Is the lighting quality excellent when everything works?
I would say yes. When everything is baked correctly it’s stunning. What is your opinion?
Does it work? If not, what situations do not really work?
This is a big one. If you take small little scenes you can get it to work. But when you have a terrain, specifically anything larger than 1024x1024, it’s a struggle getting it to lightmap. I have a 4096x4096 terrain that no matter how many days i bake it, it just won’t bake. It’s 5.2.
So from my experiences… I can get the entire scene to bake, minus terrains. Luckily they ironed out almost all the bugs other than that. Most objects CAN be baked.
Speed. What are your experiences?
This is the biggest. It takes days to lightmap some scenes, which is rediculous. Even turning the settings to very low quality parameters, and doing just realtime baking with low resolution (3/4), it takes some time. Problem is, very low resolution causes extreme artifacts on non simple models, like trees. To lightmap a tree you have to set the quality to medium/high paramets, which takes around 15-20 minutes PER tree. Terrains take ages to lightmap, but most often won’t even lightmap at all due to getting stuck.
This is the biggest issue. The speed makes it not even possible to lightmap a scene in most cases. The unity team intends to do GPU baking, but the issue is from 5.0-5.2 (And probably more versions) we don’t have that. To be honest Unity 5 should never have been released without GPU lightmap baking.
So overall. What is your experience with enlighten? Does it work for you? Does it bake fast? Is it even usable?
For me, it is not. It can’t be used in its current state. If they had GPU baking, and terrains actually would bake.(Why do they take so long to bake anyway, when you could convert it into a mesh and bake the mesh WAY faster?)
Overall I’m very dissapointed with it. The rest of unity 5 is great though. What are your thoughts?
In correlation to what? Beast or Lightmass? I’d say it’s about on par with Beast even though Beast worked better. Compared to Lightmass, it’s mediocre. But of course it’s meant to be a semi-realtime solution so there will always be a trade off. Personally I think Nvidia’s VXGI looks a lot nicer that Enlighten, but it pretty much cripples GPU’s so it’s not much use.
Does it work? Kind of depends on what you have and what you’re doing, I don’t struggle for hardware grunt (I7 5820K Hexacore OC’d to 3.8GHZ, M.2 SSD, 32GB 2400 DDR4, GTX 780TI) on our terrains it wasn’t that bad (not sure why you’d ever use a 4096 terrain seems like a performance drag and a waste), we had plenty of foliage and it took around 30 mins or so to pre-comp (although this was on a VERY low quality setting like 0.1 texels or something).
Frankly put, poor… Very poor, A city scene I tested I left for two days and it never got through it (on low rubbish looking settings again), reset it and tried it a couple of times with different versions… Again I left it for days and it was still going. Lightmass can build the entire scene in about 30 Minutes (or less) highest settings, or if clustered to a rack of servers around 45 seconds.
Finally I’m not sure how GPU baking helps? Doesn’t that kind of assume you have a decent GPU? From looking around the forums a lot of dev’s don’t seem to have beefy machines.
Well 4096 terrain isn’t actually that detailed… When you want a large map for an MMO a 4096 terrain really isn’t that big. Either way, beast could lightmap it. Enlighten can spend days and never finish.
GPU Baking = utilizing the GPU, which is faster at baking due to its design. Also you can use it with the CPU at the same time.
Yeah I really hope they get lightmapping fixed up. I like the bounces and such a lot, but i can never lightmap my scenes due to all these issues.
Well in an MMO you’re going to have multiple segments (tiles) split up usually around 512 / 1024 res, with an NM applied for “detail”, if I think about it your way I guess our “city” scene is 30720 X 30720 (60 X 512 segments).
I get what GPU baking is, although I’m pretty sure an Intel HD 4400 isn’t going to add much to the equation. Not that it’s Unity’s fault per say, but in most light mapping solutions a decent CPU is enough.
Especially a matter when it comes to laptops as they tend to have decent CPU to GPU power ratio, an I5 in a laptop is generally ok… But to get a decent GPU within said laptop you’re talking $750.00+ (for like a 970M or 980M)…
Which kind of point it in favour of desktop users with a decent machine to take advantage.
Ah. I set mine up in seperate scenes. The common method of having large chunks of the world in seperate scenes. Splitting things up makes things difficult to work with.
Hmmm. Well some developers have really great GPUs, which are needed for high poly sculpting and such. Unity said they are working on it though. Either way… it shouldn’t take days for lightmapping to bake a very simple scene. That’s why this thread was made
I have a 600 x 600 terrain, and it takes ages. Most of the time (and by most I mean 99.9999% of the time) I just don’t bake anything because it’s not worth it. I might on my final build for release…but who knows if it will work or not.
I don’t have many problems with baking because I simply avoid it right now lol.
Ummm, that’s why they call it “level streaming” … We use a compression alg and async load “levels” or scenes on a distance boundary border, each segment (level) is streamed in based on a variable vector boundary in relation to the camera position. You can’t “split” things as such, you just “stream it”… Of course world machine will present as tiles… That’s how pretty much every major developer does it.
So the point was, a 4096 X 4096 terrain is arbitrary and you’d never use that resolution as a single map… That’s where the confusion was coming in ;)… If you’d of said 4096 for MMO, would of made sense.
Anyway, in that scenario it presents another issue. I’m not sure if this has changed yet, but I thought Enlighten won’t work at run-time anyway for streaming solutions? So it’s kind of neither here or there…
The GPU baking is cool and I’m sure a lot of people will benefit from it, for me personally I’d be much more interested in the network clustering features. MMO’s are generally massive hence the name MMO, so GPU baking in that scenario isn’t much of a benefit.
We do openworld / semi openworld RPG’s just for reference.
I am actually very happy with Enlighten and I think is a HUGE step forward for Unity.
I don’t understand why you guys cry so much about it. Baking, precomputed GI of course takes time, I don’t understand why you all argue here.
About terrains, 4096x4096 for a game is freaking HUGE. If you think 4096x4096 for a game is not enough, you probable don’t have any idea what are you doing and you doing it wrong. When I say this I am thinking also at art what you must put in, unless you let the terrain as it is and add some trees and you think you made a game.
MMO’s are totally other story. First of all Unity was not made as an open world MMO tool. But you can easy do an MMO type like GW1, instanced. Of course Unity devs can add a dynamic “world” streaming feature.
But all those MMO discussion only make me laugh. I wonder if any of you who want to do an MMO have any clue about server part.
Because it takes a ridiculous amount of time compared to static lightmapping solutions, which of course will be offset when we can use render farms and / or GPU accelerated baking. Personally I’ve not a problem with that, we have RF’s for UE4 so it’s neither here nor there…
But a lot of Indie’s don’t seem to run high end hardware, that was my only point. Of course I’ve heard Unity are doing a lot to correct these issues, they’re upgrading versions / adding new features. It’s one of those things, it’ll get better in time…
In openworld games resolution size is relative, It just depends on the “distance” of your terrain we use tons of 512X512 blocks to cover 18.12KM2 of terrain - boundaries and non-accessible areas it’s probably closer to 15KM. Which by today’s standards is very small. But of course you’re correct we do spend 90% of our time doing nothing but artwork to even fill that relatively small block.
I’ve worked on a few MMO’s in the past, let’s face it for these types of games you’re not going to use a solution like Beast or Enlighten… You’re going to roll your own dynamic solution like LPV for example, so ultimately the MMO discussion is a bit pointless.
I making assumptions and arguing about MMOs on a thread that is not about that is silly. Laughing and assuming we have no idea what we are doing (You know nothing about our projects/experience) and that we have no idea about servers is immature and completely unrelated. Also resolution is different than size. What size are you doing for 512?
Based on the poll, you can see most people are disappointed with all these issues with enlighten. That’s what this thread is about, hopefully getting issues resolved.
I’m okay with it taking a really long time, if you can be guaranteed that it will finish, and that the result will be worth the amount of time. But right now, the time/quality ratio is not good. You get comparatively “decent” lighting (relative to the other major engines out there) for (in some cases) days of baking…lol. Yes, Enlighten is a huge step forward for Unity, but Unity was large steps back to begin with – so that’s not really saying much unfortunately.
The fact that some people have said they’ve left machines running for days on the baking process speaks for itself. Lighting should not take days to bake. But like I said, I’d even be okay with that, if the quality was twice as good as the lighting in other engines. But it’s only on-par or slightly worse in some cases.
For the record, I’m glad Unity is upgrading things (like it’s lighting system). I am not complaining about Unity attempting to make things better.
I think it’s very good however I still can’t use shadows but that will come with newer mobile HW. And on my old PC it is slow to bake but makes a big different in speed when running the game.
Most of my level is procedurally generated, so as far as I know I can’t use baking for that anyway. The one thing I was planning on leaving static is the terrain, so I tried baking that and got a BSOD. I have an i7 and 64GB Ram. So I voted “very disappointed” because I just don’t get any benefit out of the baking. It looks nice in tech demos but none of that is applicable in my personal usecase. A realtime GI solution that has much lower quality, higher GPU performance impact but no precompute requirement, might be better for my needs.
There are some incredible realtime GI solutions that require no computation. You should check out sonic ether’s GI on the asset store. Unity is designed mostly just for small static scenes sadly.
As far as I know, Sonic Ether’s GI isn’t available on the asset store yet. It looks promising, depending on how it performs. But last I heard he was having some problems with it that Unity was looking into.
Enlighten isn’t everything I’d hoped it’d be. It may very well be my fault, but there doesn’t seem to be a lot of in depth information on getting the most out of it or working around common issues. It seems to occasionally want to put light where it shouldn’t be and it doesn’t light up my rooms as much as I’d like when their lights are off but the hallway light is on. I’m using real time lights though, I suppose it may work okay if I didn’t allow for all of the lights to be turned on and off. and could bake them.
First things first: I do not have much experience with Enlighten, since I’m still very much in the programming phase of development. Over the course of the last week I rebuilt the old test courses for the player character. Initially I quickly created them using Unity’s standard blocks and planes because they were meant to test the behavior of the player and nothing else. I created, unwrapped and textured the 3d models in Blender so I now have a set of clean looking levels with the classical dev-textures you see in so many early games.
There were two things where I think Enlighten (or Unity - I cannot tell) had rather huge problems.
The first issue I ran into was the already mentioned behavior of Enlighten where seemingly simple scenes can take an absurd amount of time to bake. Some people had these issues with terrains; I had it with a particular model.
After I finished recreating one of my levels in Blender, I decided that I no longer liked the standard-cubes with an all-white, emitting material assigned to them as lights, so I created a simple, small lamp model. And after I added it to my scene, the baking would suddenly get stuck at “Light transport 7/11” (which, if you Google it, seems to be a rather common phase for Enlighten to seemingly get stuck at).
Since it was obvious which model caused the problem, I was able to troubleshoot it efficiently; Find and fix the problem within minutes. The thing is that Unity did not help me with this. I was able to fix the issue because I »knew« which model caused it because it was the last one I added.
Imagine if I would have created the entire level with this lamp from the start, added it to the scene and then boom: Light transport 7/11. Imagine if this wouldn’t have been a test scene but a full-blown level with lots and lots of stuff around. How would I tell whether the baking time is normal for this sort of level of detail or whether a broken model causes the problem?
The second problem is the non-linearity of the progress bar. Ideally you want your progress bar to be completely linear, filling up with a constant speed from start to finish. In real life this often doesn’t work because progress doesn’t tend to happen perfectly linear.
The way the progress bar currently behaves is that it jumps from x to y to z percent after relatively long periods of time. There absolutely needs to be a secondary progress bar that shows how far the current phase of baking has proceeded, because some of them take very long.
You might think it’s a small “quality-of-life” change, but it’s not. Suppose phase »x« takes 5 minutes to finish. During those 5 minutes the developer doesn’t know whether progress is being made. It’s only when the progress bar makes its jump to the next part that the developer can say “During the last 5 minutes progress has been made.” You can merely tell that progress has been made after the matter of fact. That’s a huge problem.
Imagine you’re not waiting 5, but 15, 20, 30 minutes. Did Enlighten freeze? Is there a problem with my scene? Should I cancel now or is it “aaaaaaalmost done” and needs just “another minute or two”? (<- pretty sure most of you have experienced that one in your lives already).
There is another, Unity-specific issue: Application.LoadLevel() is partly broken inside the editor. You lightmaps/GI data don’t get loaded which makes working with level transitions a huge pain.
It’s a known issue and I hope that it gets resolved soon.
Thanks for the suggestion. I remember seeing the thread somewhere but I also thought it isn’t done yet. At the moment I try not to get too caught up with graphics tasks anyway because I really should get more gameplay implemented first.