Home 3D Art Showcase & Critiques

Unreal Jungle environment

easterislandnick
polycounter lvl 17
Offline / Send Message
easterislandnick polycounter lvl 17
HI, I'm creating a jungle environment for Unreal 3 set in the dry season and have hit a few roadbumps. Currently the map is just a small test bed to see if I can get foliage and plants working efficiently before I add more focal points such as statures and ruins.

ScreenShot00000.jpg
ScreenShot00005.jpg
ScreenShot00006.jpg

On my list to still create and work on are -

Mountains in the background
Add more ground foliage
Rework the canopies of the trees so they look more voluminous
Work on the bamboo and bush models so they don't look like a collection of planes
Re work Most of the normal maps (most are crazy bump placeholders)
Add focal points such statues based on Angkor (http://en.wikipedia.org/wiki/Angkor)

My main issues are shadows for the plants. Currently most of the trees and yuccas are dynamically casting shadows which looks great but is not viable in a real time map. Is it still possible to use something like projectors as in Unreal 2004 to do cheap dappled shade? Most of my other plants such as the cheese plants currently are using shadow maps which don't take into account the alpha map on planes and so they have very square shadows. I figure I can model around this so that the geometry matches the shape of the alpha mapped leaf more closely. Does that seem like a good idea? Is there a better way?

I am trying to get this map running in Unreals highest world detail settings on quite an old computer (single core 2.8 with an AGP Geforce 7800 and 2 gig of ram). I figure that this is a good way of showing employers that I can optimize well and understand the limits of current gen systems. The problem I'm having is on the long stretches down the map, even after turning off Dynamic shadows my frame rate dips below 15! If I set it to a lower detail setting It copes a lot better so I'm guessing post processing is to blame and not polycount or texture size (I don't get an improved frame rate if I decrease texture size). Polycount wise the cheese plants are 640 faces, the large trees are 990 faces, the rocks between 500 and 700 faces and the ground based palm shrubs are 380 faces. Does that sound too high for current gen games, thinking about it it seems too high to me! Post processing on the map includes depth of field and an overall hue shift to tie the colours together, which I guess are quite expensive.

Any way, let me know what you think. I didn't mean to write this much, sorry if there's too much waffle!

Replies

  • odium
    Offline / Send Message
    odium polycounter lvl 18
    Is there anything UE3 cant do...? I love the engine, it seems to work in all situations.

    Great screens sir. Only things I can point out is a lack of definition between your surface blends, mud into grass, grass doesn't quite show up too well/green so your foliage looks like its flowing compared to it. Of course, mountains in the distance too.
  • mikezoo
    Offline / Send Message
    mikezoo polycounter lvl 14
    Awsome start. I would totally back up that you need more variation in your color pallet for vegetation. Instead of all greenish tones, mix it up and add some color.

    Unfortunately I have no idea about the shadows. unrealWiki it? Looking forward to seeing more !!
  • Mauricio Cunha
    Offline / Send Message
    Mauricio Cunha polycounter lvl 13
    Very nice !
    But I guess if is very hard see anyone in this environment (is good, but is bad yet)
  • Hatred
    Offline / Send Message
    Hatred polycounter lvl 18
    looks cool, but i wonder how heavy this is, could you post a screengrab from shader view?
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    shaders.jpg

    Yeah, lots of red there. That's not good is it........
  • JasonLavoie
    Offline / Send Message
    JasonLavoie polycounter lvl 18
    Almost positive you can use the alpha channel for your plants as a shadow map... but I've never done this before (its on my list of things to learn).
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Almost positive you can use the alpha channel for your plants as a shadow map... but I've never done this before (its on my list of things to learn).
    No, you can't. a 3rd party application like Beast can, and does.

    Hold on a sec, I think if it's a 1-bit alpha it will, blended, it won't.

    If you want to add a color variance to the plants, use vert colors and some type of noise added to the spec/diffuse channel. That combined with lighting in the level should break things up quite a bit.
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Cool, how do I set an alpha to be 1bit? Does anyone know if that will mean lightmaps will take into account alpha maps?
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Cool, how do I set an alpha to be 1bit? Does anyone know if that will mean lightmaps will take into account alpha maps?
    To do the 1bit alpha you'd have to re-do the alpha's you have and re-import and use DTX1 (1-bit alpha or no alpha). Then the material needs to be changed as well, it needs to be masked. Masked materials can be lit.

    **EDIT** Sorry, and 1-bit alpha is where it's either 0 or 1, no gradients in the alpha channel.
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    A quick way to get 1 bit alpha is to go to your alpha channel and use the "levels" adjustment and slide everything over to the left.

    Then on import into UnrealED you tell it to use alpha as opacity mask and to set the blend option to masked as well.

    If done correctly, not only will sorting on the mesh me cleaner, but you will have lighting work correctly as well.

    Here is an example from a project I am working on.

    watch_tower_11.jpg
  • stimpack
    Offline / Send Message
    stimpack polycounter lvl 10
    odium wrote: »
    Is there anything UE3 cant do...? I love the engine, it seems to work in all situations.



    make a ps3 game easily?? =P
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    All my Alphas are set to masked already but I still cant get them to register in the lightmaps, I'm especially concerned about the terrain, all my shadows are square! Any ideas?
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    All my Alphas are set to masked already but I still cant get them to register in the lightmaps, I'm especially concerned about the terrain, all my shadows are square! Any ideas?
    Can you take a screenshot of the shading network?
  • easterislandnick
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Ok, looks good. I assume the image is set to be masked as well? If so, go ahead and make a small text map, toss in that mesh, do not change any lighting settings for it and toss in a point light, set the light to modulate and see what happens.
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Hi, Ive set the light to modulate but it still doesnt seem to help, any ideas?
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Hi, Ive set the light to modulate but it still doesnt seem to help, any ideas?
    Can you show me the texture settings?
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Cool thanks for your help.

    tetxture.jpg
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Ok, re-import the image and make sure your settings are like this:

    opacity_mask.jpg
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Still no joy, I'm not sure its possible :-(
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Still no joy, I'm not sure its possible :-(
    I'm having issues. Going to have to dig. Oh and I think I jumped the gun as well. In my preview I wasn't getting shadows, then I changed my texture like I said below, and I got them, placed them in the world, and my shadows were not square anymore, so I assumed it was doing it correct.

    Turns out the preview does do raytraced shadows. So I went back to the UDN and tried to find the bit of text about alpha's and lights I saw a few months back. This is what I found:

    bstatictrue.jpg
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Well that image means its possible! Ive got the day off so I'm digging as well! Thanks for your help!
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Hi Hatred, I have been looking into the reason why my shader complexity is bright red in places and it seems like its because a lot of my materials are 2 sided. Do you know if this is a real problem? How much of a performance hit could I be taking because of it?
  • empeck
    Offline / Send Message
    empeck polycounter lvl 18
    You shader complexity may be red because of many overlapping alphamasked objects. AFAIK two sided material isn't that expensive.
  • Kovac
    Offline / Send Message
    Kovac polycounter lvl 18
    Alpha would be the cause of this due to vertex complexity of re-drawing the frame for fog.


    Terrain will always be red because the actual terrain system already uses it's own complex shader.

    If you're seeing a performance hit, I'd bet it to be something other than shader complexity that'd really be the culprit. Check your light complexity if you're using a few dynamics.

    Thanks for sending the actual screens as well, it makes it much easier to figure out/find (on udn) what the problem is related to.

    Awesome work so far!
  • DInusty
    Offline / Send Message
    DInusty polycounter lvl 17
    try and stay clear of as many dynamics as possible. everything that a dynamic hits is going to re render everything. could you give us a ton of images if at all possible?like over head with all the lights selected so we can see them. mark any that are dynamic. from what ive learned lighting is the main cause for performance hits before anything else. after that its usually shader complexity and then starts to trickle down into polycount or texter res and or density. alpha ive noticed isnt really to big of an issue in todays unreal but given the amount of alpha ur dealing with it could be part of the problem.

    a quick fix maybe is to see if you can have it drop out things or chamber off areas that u dont see down the path. maybe add fog to help do that.

    as far as color variations are concerned i would agree that it could use some color break up from just the muted color you have currently. this looks great though man keep it up! send some more screens if you can. you know we all want to help make it perform better :)
  • Kovac
    Offline / Send Message
    Kovac polycounter lvl 18
    Another easy way to adjust color variation is just throwing a scalar parameter for the diffuse, then create a few instances and tweak the param number and select a bunch of foliage in the level and apply the instances on a per object basis.
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Hi, I think I'm battling a combination of a few factors.

    Polycount - when I switch off foliage (each grass model is only 2 faces but there's lots of them!) I get an FPS increase so I think I better do some LOD models! Any one know a quick way of doing this?

    Shader complexity - I think double sided faces are slowing me down, not sure what I can do about it though, I don't really want to duplicate all my plant faces to get around this as that would hit polycount! Double sided faces is definitely causing the sea of red in shader complexity view, I suppose it a depth sorting issue?

    Shadows - I cant seem to fake dappled shade with out using dynamic lights. Basic light maps don't seem to take into account alpha maps unless you buy Illuminate labs Beast plug-in, which I'm guessing isn't available for the amateur market! Not sure what I'm going to do with this. Modeling the shape of the leaves around the alphas has worked with the Cheese plants and even reduced the poly count a little but I cant use that technique with tree branches and leaves!!

    Thanks for all the help everyone, I might have to bite the bullet and buy a better PC but I don't really want to! The Unreal engine seems great for corridor shooters but I don't think it likes jungles at all!
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Oh, that screenshot is in UnrealED v2. Try using a projector, or softening up the shadows underneath the plants. I talked with a more experienced UnrealED mapper and he said it's probably not in UnrealED 3. I'll keep digging while I work on stuff.
  • whats_true
    Offline / Send Message
    whats_true polycounter lvl 15
    ""You shader complexity may be red because of many overlapping alphamasked objects. AFAIK two sided material isn't that expensive.

    Your kidding right? It recalculates what your doing, so, it's actually a bit more expensive if you have a lot of them'(or, so im told~). It's less expensive if you duplicate your geometry, and flip it. Like, if you have a leave , then duplicate it were it stands, then flip that geometry. You get no z fighting since it's flipped, and you don''t need two sided stuff because you are using the geometry to do it for you.
  • easterislandnick
    Offline / Send Message
    easterislandnick polycounter lvl 17
    Is that right???? Should I just duplicate all my two sided faces? Ill give it a go!
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    I think what he means is that you shouldn't use BLEND_translucent on your leaves

    use BLEND_masked instead

    Double sided materials won't matter if you use BLEND_masked.
  • Mark Dygert
    Chugga-Chugga-CHOO-CHOO!
    odium wrote: »
    Is there anything UE3 cant do...? I love the engine, it seems to work in all situations.
    Never once has it gotten me coffee, a sandwich, walked my dog or driven me home when I've had a few too many. It also stopped working when the power went out, lazy sob... It should at least have the decency to build monuments out of paper clips for a few hours just in case it flips back on, like the rest of us! What a lame excuse "I can't work because I'm dead", really who is going to buy that? Try calling in with that one some day see if you still have a job.

    umm so... yea... awesome-stuff-no-crits-keep-up-the-good-work...
  • Hatred
    Offline / Send Message
    Hatred polycounter lvl 18
    multiply overlaping alphas, and dynamic lights is all that unreal dont like to work with :)
    I see guys said almost everything here so i will say it once more and maby add sth:

    first of all you should avoid using dynamic lights as much as it is possible

    then use BLEND_masked materials

    you should check if you got only one material mesh

    you can try gettin rid of normal maps from materials

    if you dont have it add some more geometry to make more acurate shape of masked places (that will limit "rendering transparent" places"

    if ou use BSP convert it into mesh, and generate UV

    you can also marge meshes that use one material into bigger chunks

    thats all i can remember for now.
  • Lamont
    Online / Send Message
    Lamont polycounter lvl 15
    Update, if you want your masked meshes to cast the correct shadows make sure you add them as InterpActor and in the properties enable LightEnvironmentComponent (Under the DynamicSMActor tab). These meshes can't move/be dynamic it seems. The light that affects it must me a static light as well.
Sign In or Register to comment.