Graphics to higher quality?

Let me explain with images:

This is an Oasis in a desert. I’ve created a script to model terrain following erosion rules, and some radomness, starting from an heightmap of the Earth. So looking landscapes im ok. Now its time to detail everything up.

This Oasis is in Sahara Desert, about in Algeria.

What can I do to make this picture more realistic? Because everyone can see how much 3Dish is …
Maybe a particle effect of flying sand? More green around water?

Any advice is accepted :slight_smile:

Hmm yes its too clean and pure, sand is too immaculate, water looks like it came from a bottle, plants are all too perfect, etc. Maybe need some more details, small objects, debris washed up on shore around the water.

The heart of every single image’s realism ever, is lighting. Sort that out first.

1 Like

Did you use any normal maps or bump maps on any of your 3D models in this scene?
The sandy desert ground seems to lack and need some of that definitely.
The tree trunks/palm leaves too.

Oh,…I almost forgot,…don’t forget spec maps too. :stuck_out_tongue:
Bye.

@imaginaryhuman_1 Yes, more details, I agree I’m working to it right now, i wil post any update asap.

@hippocoder what mean for light? I now implemented a code for daylight cycle so i can modify anything about light. Added also a contrast image effect. Appear nicer but not realistic.

@BrandyStarbrite yea, already added Normal maps, but doesnt changed really much…

I finish to work to the first point (more details), and i will post as soon as possible, if become better =)

It looks sterile, there’s no brilliance to the lighting, shadows don’t have any bounce light or GI (which can be faked well enough) and the light appears mostly flat.

Foliage in the desert in daytime isn’t occluded by shadow at all, but a palm might still cast reasonably strong shadows. But not black. A building could potentially cast darker shadows though. The light doesn’t feel hot enough to reflect the environment before adding a ton of post.

It feels more like daytime in December in Stockholm.

I’m placing trees all run smoothly over 40 fps in dense forests, but when i rotate my camera around I have an huge fps drop to 6-7 fps… looking profiler 80% GPU time is used by tree renderer, something about culling…

Googled around and i saw there is an issue with Unity and trees, and i should have to downgrade to 4.2… am I right?

no, you should upgrade to latest 4.6. And report a bug if necessary :slight_smile:

after a quick google image search for “oasis in saraha desert” for reference material, it looks like you could start out by bounding the water with a line of either shrubbery or reeds. Also in the image you provided it doesn’t look like the water is large enough; the images that came up in my search show a water area about the size of a football stadium. i think a puddle as large as what’s apparent in your picture would have just dried up.

the sand in your image doesn’t look textured at all, and the dunes are too smooth and perlin-noise like. they should have a texture like in the following image, and also the crests of the dunes should resemble the kind of shape apparent here, with a sharp point that slithers along like a snake.

also, like others have mentioned, lighting is important for realism. look at how the light shines on the dunes in the real image, and the landscape casts shadows on itself. also, the sky in your image looks the wrong color of blue, and doesn’t have any gradation in value like in the image. throwing in some HDR would help too i think.

2 Likes

found very nice scene with a marvelous shaders in flowmap generator in asset store. Also generate desert sand flowmap. Probably you could get a lot of tuning from this package.

1 Like

There are three big things I see here, which have been mentioned above too.

  1. Lighting. You lighting needs to be similar to the actual reality. There isn’t enough warmth. Red/Orange lights are warm, while Blue/Purple is cool. Read up some color theory.

  2. Texturing/Perfection. Any scene that is natural/realistic needs to have tons of imperfections. The sand is smooth. Real sand is far from it. The water is the same. It’s like an urban scene compared to a sci-fi scene. The sci-fi one might be smooth, futuristic, new, while the urban scene has graffiti, scratches all over, etc… This scene is no different. It is simply to perfect. Also, I don’t think the sky would be perfectly that single color either.

  3. Realism. Since when does the water in a desert only have plants around one side, while the other side is completely empty. Now, if you were assuming that people had done it, then you need evidence of those people, footprints, similar. Otherwise, it needs plants scattered around the water more dense then the plants farther away from it. This is why the reference pictures are good to check out.

Thanks! you all are very useful to see through external eyes my work and improve myself.

First of all: Trees performance issue
Maybe is due to the high number of vertices/tris on each tree? on tree tab i saw there are over 2000 triangles per tree. Maybe too much… I try to reduce the amount to a more common 1000 triangles or lesser…

Second: Imperfections
Adding plant around and not symmetrical, and so on. You are right.
My placement of object is totally procedural. So I can achieve two advantages:
1- With correct algorithm all can appear pseudo-random. Like my new heightmap generation / erosion

It is simple (fast) and pseudorealistic. I will place objects and trees procedural too.
2- Really soft server-side.
It is enough to send the seed of the random generator and every player receive all data. I was thinking to send seed + player modifications (not many modifications). So the world is still editable. (Like roads, buildings, farms…)

Third: Light
I am working to my sky shader, probably i don’t modify so much from now on, i need only to increase a bit the light intensity and (as mentioned by @kburkhart84 ) a bit biome color… orange like for desert, gray white for north-europe.

From this image is still missing more realistic tree placement, rocks, and other details (bushes, dead trees…)

Well, you are never going to get perfection with procedural created stuff. I understand the points and perks of doing so, but as long as you know ahead of time that it won’t be perfect, go for it.

1 Like

Several things tip me off that this is a computer generated image (computer graphics). The sky is mostly just one shade (or at best a gradient) of green… wait…green? Are you sure that’s a realistic sky color on earth? :sunglasses: Are you using a skybox or some method to texture the sky? Occasionally you have perfectly clear skies, but clouds might lend to the realism. There’s a color shift near the horizon where it leans towards white. I see that in yours but I’m not sure if its dramatic enough. For some reason, yours doesn’t look quite right to me; compare the actual photo of an actual sky for the color shift near the horizon to see what I mean. (Keep in mind that “real” photo is distorted. They used a fish-eye lens to photograph that.)

It looks to me like there might be some bump mapping on the sand, but I can barely see it to the point where I might even be imagining that I can see it. Maybe the bump mapping needs to be more distinct. That could be a lighting issue.

The shadowing on the sand looks completely wrong to me. Towards the top left the sand is bright and I’m assuming this is the color of the sand when it is in direct sun light. In the foreground, the sand is darker. Why? I would guess that it is in shadow if its darker, but the shadow of what? Oasis trees? Then compare the shadows of the trees actually seen. Their shadows are almost pitch black. Their shadow have extremely well defined edges suggesting that the light source is very direct. Yet, the barely perceptible “shadow” of the foreground sand has very soft edges and is only a few shades darker than the sand in “direct sunlight”. Its as if the sand around the pond is lit up by a different source than the trees and the best guess of what’s shadowing it I can come up with is a cloud. But the sky looks completely clear. And if that were the case, the trees would be lit and shadowed by the same sky/sun/cloud and they would also cast very soft shadows that were also not dark at all. The lighting creating the shadows just doesn’t make any logical sense.

I would say it either needs to be all bright with deep dark distinctive shadows, or it needs to be cloudy with very soft shadows that are not that much darker than the area in “direct sunlight” because the “direct” sunlight is not direct at all but obscured by clouds and made diffuse. To understand that, I would study the difference between direct and diffuse lighting.

The plants in the foreground appear to be almost a silhouette. Why? If that were the case, what’s in front of them should be extremely brilliantly lit, and its not.

The water looks to be too much of a mirror. I still haven’t figured out how to perfect that one myself. But I see no color of the water and just a perfect reflection of the sky. It’s like a pool of mercury. I did a water shader once and this is what I started with. But I added refraction or whatever its called. When you look at the water from a certain angle it should not reflect but become transparent. In reality, you would see the sediment and stuff floating in the solution. If the water is shallow, like near the edges of the pond presumably, the water would be fairly clear unless there’s an extreme amount of gunk in the water (gunk, that’s a technical term).:wink: The deeper the water, the more sediment and the more light that is blocked by the sediment. Usually its green algae in a pond like this. The algae colors and darkens the water. I’ve been 50 feet under water where it is pitch dark at high noon on a sunny day because of the stuff in the water, mostly algae. That’s fairly typical for a lake. (I used to scuba dive.) But near the shore where the water is only a few inches deep the light penetrates well and its more transparent. I’m not sure I’ve seen a shader out there that completely simulates all that. The water shader is probably going to compromise somewhere, but here it looks like a pool of mercury.

I’m thinking the edges of the pond don’t look right. That might be that they should be more transparent. I would have to look at a similar situation in the real world or an actual photo of it because I’m not sure exactly what’s not right. But the edges of the pond look too sharp and the ripples in the water there look too high. I’m betting the water needs to be more transparent near the edges. I’m betting you would need to write a completely different water shader to really get it “right”.

The tree trunks look a little too “cartoony” (another technical term) :wink: to me. That’s probably a need for bump mapping or normal mapping. Also, are they in direct sunlight or not? They appear to be lit by a very diffuse source like they’re in the shade of a cloud, but then they cast shadows as if they are in harsh direct sunlight.

Getting lighting right is certainly an art. And its often going to be a series of compromises in a game. You may have to get into writing your own shaders to really get great results. But even then, a lot of it is going to be developing your artistic “eye” of your mind. I’m not a great visual artist, but I think what I just said indicates how I analyze an image when I look at it, comparing it to reality and using my experience as a photographer and painter with my knowledge of professional lighting. Art is an art, but its also a science that can be studied.

I am attaching a link to a picture from one of my Unity projects. I’m not expecting to win any awards with this, but this is an example of me lighting a scene with Unity for “quick and dirty” work. I could maybe make it a little better if I worked at it; this is just a playing around project for me.

The skybox I’m using is “wrong”. The clouds at the horizon probably should not look like that. It’s not bad, but they appear to be too close, more than anything. The sunlight in this scene is intentionally harsh, maybe suggesting that its very hot. You need some dust to suggest that its very dry.

But notice how dark the shadow of the building is. It’s not that harsh, but I think it looks about right. The shadow, in the real world, would be lit by several sources. Light reflecting off the building’s wall would light it up even though that’s in shadow as well. It’s in shadow, not pitch darkness. The sky would be the primary source of light for the shadow. That means it should take on the color of the sources that light it. In the real world this is highly complex. The sun’s light color is yellowish (more technical terms) ;). So, direct sunlight should have that color mixed with the sky color of blue and the cloud color of white, but it will be predominantly yellowish. You can see that in the highlights of the sand. Granted, the sand texture here is pretty yellowish, but I setup the direct light to have some yellow in it rather than being just pure white.

The sun then reflects its light off everything in the scene and it bounces around the scene an infinite number of times. Things in shadow are not at all lit by this direct light. But they will certainly be lit up by the reflected light. If nothing else, the blue sky diffuses the light and scatters it in every direction. Unless the light of the sky is blocked, it will brightly illuminate the shadow. I mean compared to night time, just the illumination of the daylight sky is far brighter than anything you have at night.

So, I imagine I put a little bit of blue in the scene’s ambient light for shadows.

The way lighting is typically done in computer graphics is with normal. If the surface faces directly into the light, it gets 100% of the light’s color. As it turns away towards 90% it gets less and less of a percentage of that light. After 90% it is pitch black. This would cause the area in shadow to be far too black. So, they use “ambient” light.

Ambient light lights up everything in the scene equally. Shadowed areas are lit by it and so are the areas in direct light.

I really don’t like the terms “ambient” and “diffuse” in computer lighting. I think they are misleading and I can’t hardly keep track of which is which. But the two forms of lighting that I just described are how lighting is typically done in Blinn-Phong shading.

Baked lighting and stuff like ambient occlusion can really help a scene a lot. The thing to remember here is that this is a cheap computer simulation, not reality.:smile: Its always going to be a series of compromises. Still, the more you know about how light works in the real world, the more accurately you can simulate it.

Also, you will notice my sand is bump mapped. I don’t remember exactly how I did that. But I remember getting a pretty generic sand texture and then creating a bump map texture for it.

http://www.itchy-animation.co.uk/light.htm
Here is a very good overview of different lighting setups.

For faking skylight I use 5 directional lights with the lighting setting ‘not important’. This results that they only vertex lit my scene. Also I have disabled ambient lighting. I think it gives a richer result.
OnlyAmbient:

5Skylights:

The lighting doesn’t appear as flat as with only ambient lighting. But has some downsides, for example in a dark room the objects will still be lit by the skyligts.

Or you just call it faking Global Illumination :smile: