Hmm that looks uncompareable to my situation, but nice.
@Daedalus51 I can’t get LPV to work at all…
Hey man, whats not working for you? Just enable the console command via the .ini (doesnt work at runtime) and enable dynamic indirect lighting on your sun and play around with the LPV post process section.
There is also a guide here on the forum for LPVs although I think there are some crucial things lacking from the guide.
The thing is this, I have worked on Dead Island 2 at my previous company and we tried exactly what you are trying to achieve and to be honest with you…there is no dynamic GI solution in Unreal atm that supports open world development! You will ALWAYS run into the issue of either not having proper skyocclusion or not having local bounces from sun etc. Thats just the way it is right now.
There are many ways around this, but they involve a graphics programmer…which is what we did in the end of DI2 as well. We implemented our own GI solution based on a system from AC Black Flag. So yeah…I think other than LPV or distance fields, you dont have many options atm I am afraid.
I guess i’m gonna have to say goodbye to unreal then and have a nightmare getting decent visuals in unity. I kind of think that’s a better choice and well at least i won’t have to learn C++ and i’m very familiar with the engine.
And wait you worked for Sumo Digital on Dead Island 2? Or you were making a replica of how it should look like or something like that?
EDIT: Hmmm. I did have issues setting up proper lighting in unity too but I think it’s gonna be overall easier there, am i wrong though?
I worked at YAGER before Dead Island got cancelled at that company and was moved over to be rebooted at Sumo Digital
Well…the thing is this: In Unity, you have Enlighten. With Enlighten, you can do exactly what you want since Enlighten is basically built for ToD. However, Enlighten itself can be worse than Lightmass to use since you either have to build target meshes (instead of Lightmaps) and that process is…well to say it as politely as I can…pain in the ***! XD You have to build simplified models and unwrap them too and the lighting gets built for those and then reprojected onto the actual geometry.
Its not actually baking lightmaps though…its baking how light bounces off of these surfaces into lightmaps. Basically they contain radiosity transfer information. That way they can be relit dynamically during runtime. What it doesnt do is supporting dynamic geometry changes and fast lighting changes because the tech is just to slow for that. So if you would have a fully dynamic light with GI that blings…the GI from that blinking light would always update with a slight delay to the actual lightsource blinking fairly fast.
So yeah…out of the box, Enlighten “might” be better for you. However, we evaluated Enlighten in Unreal 4 too for Dead Island 2 and the world was too large to make Enlighten work properly since you still need to prebake the radiosity transfer and the data can become quite enormous.
All that stuff is the reason why almost every open world game uses some sort of irradiance volumes (read, probe volumes etc) for their lighting. There are a couple of fancy mixed approaches, like what Quantum Break does or the Division…but all in all…everyone uses probe tech for that…even GTA! However, since they have millions of emplayees and money, they can do way more custom stuff. GTA for axample uses probe lighting outdoors and the interiors are actually lightmapped and baked. So you might ask yourself now: how do they update the interiors then when its nighttime for example? Well again…custom solutions sovled via manpower! They just bake like 4 different states of time of day for the interiors and then blend between them based on what time it is. You can totally do that…but it takes a lot of time, resources and money.
Also, you can make games look quite good even without GI from the sun. Have you tried using Distance Fields yet for occluding your skylight? Could work nicely! Just use a cubemap on the skylight that has a ground in it as well and make sure that groundcolor roughly matches your terrain color. Turn of lower hemisphere is black. That way you will get fake bounce from the ground which will make everything look a lot more natural. Then build your buildings as modular as you can and use DFAO to occlude thy skylight. “Could” work nicely
I looked you up. You made that nice lighting academy thing, I’ve watched some of it before it’s very nice. And i read you worked (or still do?) for DICE in frostbite? (Sorry for the offtopic questions i just think it’s nice meeting devs like you)
Okay I have clearly overestimated the abilities of engines when it comes to lighting haha. Daamn I really wanted an easy way out. Since I’m a one man army with not much budget at all making a quite big project, it’s hell of a challenge and every easy way out of something is always so relieving. I’m not a art kind of guy, I buy assets for my game and that’s all i can pay for, that’s why i’m so unknowledgeable about certain aspects of game dev when it comes to visuals so sorry for asking questions that probably had very obvious answers. That GTA idea is very cool though, I actually thought about programming something like that which is crazy hearing from you that they had kind of the same idea, but i was obviously like: it will be too much work for 1 guy, I have better things to do for my game than make it look that pretty.
So unreal seems to be better at handling bigger maps but unity seems to have a better lighting solution for my situation? Hmm… And light probes, never could wrap my head around what those even do honestly, but i’ll look it up again i guess.
This decision is really painful…
May I ask you since you’re way more experienced? Will it be too much pain for me to make GI work properly for this situation, should i just give up on GI (considering i’m one person)? If i should, then what engine is more suiting. And if i shouldn’t, what engine is more suiting (by more suiting i mean which will be less work, more performance, more overall possible I guess and overall less time consuming for me in particular considering i’m a total newbie at unreal, very familiar with unity and one person)?
Thanks for taking your time answering, seriously, it’s much appreciated.
EDIT: Oh and I’ll try Distance Field stuff and see what that is.
Have you seen this video about “The rendering of below”
It might give you an idea of the sort of thing you are up for if you want to go down the route of rolling your own lighting system. It is not an out of the box solution that address the issues you raised, but it might give you some ideas and some grasp over what would be involved. They are a indie outfit, so you can get some idea of what is possible if you don’t have the dollars.
It seemed in the end it became a big part of the game.
Just watched some of it. Very interesting methods actually, not very in depth explained how they work though soo… Not of much help really.
Well in theory all lighting solutions are faked as to trying to duplicate real world effects inside a box and one does have to except the fact that the Unreal 4 engine is still not mature enough to produce the kinds of results for say Unity 5 or a high end render like Mental Ray. Bouncing light for example is not doing what I would expect it to do based on it’s stock setting and in most cases as to need but all things can be faked as to a given requirement as in it’s just easier to do and not that the lighting element can’t do.
Looking at your render though it’s what I would expect as to lacking in construction as to the desired results you might be looking for.
Missing perhaps is a lightmass portal at the doorway that should redirect outside lighting into an interior space and if set up right I would expect a result like this.
Another consideration is the make up or build of the material applied to the surface as being true PBR (PBM) which is typical of “any” rendering engine as to being able to bounce light in the first place.
To be able to bounce light the light emitter needs to be able to sample the material as to it’s reflective qualities as to it’s real world counter part as to how much energy needs to bounce of the surface. Just because you see the number of bounces, as a max, to 100 does not mean you will get 100 bounces unless the surface is reflective like a mirror as say compared to mud.
If I’m assuming correctly the desire is for a single point solution which I know of no rending solution being a game engine or “advance” rendering engine that can provide a drop and go solution with out some outside help even by the assistance of a proper PBR material or the 101 possible ways to achieve the result your looking for.
As for day/night you could do it on the fly as to using dynamic lighting but the performance impact would be huge. The better option would be to increase/decrease the amount of the lightmaps intensity as a post process which is something that an HDR map can do for you.
I have to apologize if I’m not getting it right as I said there are so many different ways of achieving a result by design if you can not or will not accept the result as a push button solution but once again if you could provided an example project
Or better still.
P.S. 51Daedalus just posted this as to all things that you might being doing wrong. As far as rending 101 goes on the money as to anything that I could offer as advice.
Alright i see. Well, I learned a lot from you guys about lighting in general, I’m really thankful for that. The decision difficulty (game engine decision) only increased now though but yeah. It’s a bit frustrating since I’m losing time but oh well what can I do. It’s not much about lighting anymore really after learning all this. For a huge open world with dynamic lighting, these engines are pretty balanced in capabilities in my mind right now (which actually might be wrong since i’m probably not looking at the every single aspect of it, it’s hard) and that’s why it’s so hard to choose. But again, thank you @FrankieV @Daedalus51
so my personal opinion would be: stick with Unreal! Unity, as I said, has fully dynamic lighting with Enlighten, but its PITA to work with and doesnt work well with open worlds. So it will not really help you. Also, Unreal is a lot more user friendly in my experience especially if you are only one guy!
Another thing also is that Enlighten is extremely low frequency and the lightmaps it uses are very low rez. So that also doesnt look too good…especially in interiors. With lightmass…you can achieve almost exactly the quality of a VRay render…but well…that not dynamic ToD then^^
What Koola has done in 1 scene was also a nice idea: He baked a stationary skylight to get nice occlusion and darkening on stuff and then he used the LPV on top for dynamic GI from sun only. That looked actually really good, however, problem again is lightmaps.
You just dont have the memory and streaming capabilities to do that for an open world.
Stay away from Lightmass though…this will not help you and portals as mentioned by FrankieV will not help you since they only work with Lightmass and static/stationary skylights. Also…dynamic lighting isnt really that much more expensive in an open world, whic is the reason why basically every open world uses dynamic lighting.
And again…in your case, I think you should chose one of the 2 approaches I mentioned to you and you will get pretty nice stuff with it. So either go with LPVs or go with custom cubemap skylighting + DFAO. You could potentially combine LPV and DFAO, but I think this would increase runtime and memory cost too much to be really beneficial.
Thank you for the reply man. Actually to even get a chance to compete a little bit with all games out there, even indie, I need to have at least somewhat decent visuals. I’m choosing unreal, final decision. With unity on open world, it won’t be possible because of lighting and if it would that would mean heavy optimization which would include turning off many features and making the game look absolutely horrible probably.
I’m definitely going to use one of your solutions or maybe come up with some kind of combo or a 3rd solution and play with everything until i get something somewhat decent as i said.
Hard road ahead but oh well. Again thanks, cheers!
Haha…no worries man! Welcome to the bumpy road of game development! Have fun and I am looking forward to see what you come up with