Home 3D Art Showcase & Critiques

Archviz swimmingpool in UDK

1
polycounter lvl 10
Offline / Send Message
chris89 polycounter lvl 10
(IMAGE HOSTING SCREWED UP THE POSTED IMAGES! will fix tonight)

Right, something different this time.

This is a modern swimmingpool scene i've been working on. It actually started as an architectural visualisation scene in 3dsmax, to be rendered with Vray.
But i got bored with the rendertimes, so decided to throw it in Unreal Engine and have a realtime scene.

Not much has changed from the original scene, just some poly optimizations (and a different trashcan, for some reason the other one didn't want to work! :mad: )

I love the baked GI from UDK :) finally no more placing a dozen lights to fake one bounce! And the real-time reflection works quite decent as well.
Too bad UDK doesn't seem to support Anti Aliasing though.

anyway, here it is, straight from the engine so no photoshop:

azi5q1.jpg

11ryp14.jpg

5l49hw.jpg

2pyzsyw.jpg

2d00gp.jpg

2bschz.jpg

And the rendered Vray scene (obviously photoshopped):

dgi77o.jpg

Replies

  • ZacD
    Offline / Send Message
    ZacD ngon master
    You should lower the bloom and try to match vrays light effects. Pretty amazing job in the UDK, I thought those were the Vray shots at first.
  • DennisGlowacki
    Offline / Send Message
    DennisGlowacki polycounter lvl 7
    Absolutely amazing!

    You would be my hero if you told me how you got thoes reflections! :O

    In my project I had to fake it by mirroring the level and making the floor semi transparent :D:(

    Great job man!
  • P442
    Offline / Send Message
    P442 polycounter lvl 8
    i'm interested in that chrome you got on the ladders
  • mathes
    Looks good, the lighting and materials match very well.

    I've taken some of my archviz projects into UDK to see how they fare, so I can appreciate how much work that translation can be.
  • Ben Apuna
    Pretty cool.

    Really nice chrome on those ladders.

    A minor nit pick is that I'm not sold on the floor reflections, they seem a bit too perfectly raytraced. I think the floor should be a bit more uneven or have tile seams or something to help break the reflections up a bit.

    I was wondering when people would get around to putting Archviz stuff in UDK. Maybe it will become a trend and lead to more work opportunities for real time artists.

    In case you didn't know, you can fake anti aliasing for stills in UDK by using the tiledshot command to render out large images then resizing in Photoshop.
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 20
    There is a company here in Las Vegas that does Archvis pools in the Unreal Engine. I'm guessing they've switched to UDK by now.

    Chris, pretty fantastic work! Keep it up!
  • cadyw
    well done. have you seen The Third & the Seventh? ridiculous architectural CG. http://vimeo.com/7809605
  • raul
    Offline / Send Message
    raul polycounter lvl 11
    I don't know much about in game ligthing yet. But that looks pretty awesome! Specially the water.

    For some reason this reminds me of perfect dark ( the original from the n64). Because u used to just walk around the base and look at cool things were.
  • vj_box
    Love the mood set here! Cheers!
  • fearian
    Offline / Send Message
    fearian greentooth
    I actually read this as 'auschwitz swimming pool'.

    I was pleasantly surprised!
  • bluekangaroo
    Offline / Send Message
    bluekangaroo polycounter lvl 13
    thats awesome! maybe a little too much post processing in my opinion but its a lovely scene. Can I ask how you created the chrome material? Could you maybe post the material setup? and what about the floor reflection?
  • chris89
    Offline / Send Message
    chris89 polycounter lvl 10
    hey, thanks for the comments.

    You guys are right, i went a bit too far with the post processing, i'll tone it down.

    I've turned down the reflection on a floor a tiny bit, and also quick added a slight bump like you suggested Ben Apuna.
    Unfortunately the tiledshot approach doesn't work with the SceneCaptureReflect actor :( they just dont show up. I hope there's a workaround that i'm unaware of.

    Does anybody know of a way to blur the output of a SceneCaptureReflect actor?

    I'll get some shots of the materials and how to do the reflection.

    in the meantime: [ame]http://www.youtube.com/watch?v=iWNyY3Ceh3s[/ame]
  • System
    Offline / Send Message
    System admin
    Looks real!!! V. nice job matey :)
    ps: I would also like to see those materials when you have the time.
  • Hoopla!
    Offline / Send Message
    Hoopla! polygon
    gj, nice shaders.
  • vcool
  • moose
    Offline / Send Message
    moose polycount sponsor
    awesome!

    think you could soften the edge of the pool area, with a slight bevel around that edge. Also, the bloom on the lights seems a ibt heavy, could either turn down its brightness, or turn down the bloom in general. Within the pool, would be cool to have a little bit of depth fog, or depth color shifting to simulate the darkening of the water in the vray render.

    nice and clean stuff!
  • snake85027
    Offline / Send Message
    snake85027 polycounter lvl 18
    Very nice Chris.
  • Lamont
    Offline / Send Message
    Lamont polycounter lvl 15
    chris89 wrote: »
    Does anybody know of a way to blur the output of a SceneCaptureReflect actor?
    I think I can do it... give me an hour or so.
  • Pavel Petrenko
    Offline / Send Message
    Pavel Petrenko polycounter lvl 8
    Wow! Looks like rendered in mental ray! Very good job!
  • Lamont
    Offline / Send Message
    Lamont polycounter lvl 15
    My UDK is going to poop for some reason (I need to re-install the OS anyways). Buy my idea was to take the render to texture and for each direction of a the blur (I guess 8, or however many samples you want) shift the image over a few pixels, then take the result of each shift and LERP them together with 50% alpha so if you're doing 8 way blur, then you will take 1 & 2 and LERP them, then 3 & 4 and LERP them and so on. AND THEN you have the result of 4 LERP'ed images, then take THOSE 4 and LERP them together (again with 50% alpha), and then again LERP to combine into 1...

    That's my idea anyways...

    UDK can blur, just takes elbow grease.

    The image below is what I am talking about, you can increase the quality of the blur by increasing the samples (number of directions).

    hueyblur.jpg
  • sampson
    Offline / Send Message
    sampson polycounter lvl 9
    how'd u get such a dramatic GI look?
  • Xoliul
    Offline / Send Message
    Xoliul polycounter lvl 14
    Lamont wrote: »
    My UDK is going to poop for some reason (I need to re-install the OS anyways). Buy my idea was to take the render to texture and for each direction of a the blur (I guess 8, or however many samples you want) shift the image over a few pixels, then take the result of each shift and LERP them together with 50% alpha so if you're doing 8 way blur, then you will take 1 & 2 and LERP them, then 3 & 4 and LERP them and so on. AND THEN you have the result of 4 LERP'ed images, then take THOSE 4 and LERP them together (again with 50% alpha), and then again LERP to combine into 1...

    That's my idea anyways...

    UDK can blur, just takes elbow grease.

    Few things to consider about this approach:
    You don't need 8 samples off the bat: 4 will do for a smaller blur. The "shift" you perform on each sample's UV coordinates determines the amount of blur,from a certain value onwards you'll start noticing a "ghosting" effect: this is when you need more samples
    Lerping is not the correct/best/fastest way to do this: you just want to average things, so adding and dividing will do just fine. Add the 4 samples and divide by 4, that's it. If you use 8 you need to consider sample weighting: diagonal samples don't contribute as much as up/down and left/right samples. If those are 1 in weighting, the diagonal ones are sinus(45) in weighting.

    Also this method works in UV-space, so uv-seams would pose a problem. In the case of cubmaps they would not, but those require a slightly different approach.
  • Lamont
    Offline / Send Message
    Lamont polycounter lvl 15
    Xoliul wrote: »
    Also this method works in UV-space, so uv-seams would pose a problem. In the case of cubmaps they would not, but those require a slightly different approach.
    Yes, the seams was something I thought about when doing it this way, and is visible in my Photoshop mock-up.

    I think it's time to get into HLSL, as I think it would make quick work of anything like this.
  • chris89
    Offline / Send Message
    chris89 polycounter lvl 10
    Wow nice idea Lamont and Xoliul. I'm not a shader master and have no idea how to move the output of the scenecapturereflect actor. I tried adding and multiplying with a vector or texture coordinate offset but it both gave me errors, same when trying to change the screenposition through the shader.
    So i tried making different render to texture maps and different scenecapture actors, slightly rotated to offset the captured image. But UDK crashed and i got tired.
    Do you guys know how to let the shader think the screenposition is offset? (it will give another problem though, as it will react opposite to the kind of blurred reflection that would occur in real life, since by offsetting the image the closer reflected objects would be blurred more because there's a bigger movement difference compared to the far away objects, if that makes any sense)

    Here are some screenshots of the materials. All disappointingly simple. The rest of the materials are just a texture and a specular, no fancy bits.

    water
    wgz5p1.jpg

    water
    11813ph.jpg

    water
    28rhxqd.jpg

    water
    2qibgr6.jpg

    water
    2vhuckk.jpg

    floor
    2ecnj8y.jpg

    chrome (this would actually benefit from a black fresnel falloff)
    jucrgp.jpg

    for help on setting up the reflections, have a look on this UDN page: http://udn.epicgames.com/Three/RenderToTexture.html

    As for the light.. well... my official excuse is "i wanted to see how powerfull UDK was with GI". It's really just the big bright selfilluminating plane in the roof, and self illuminated textures in the pool lights. I let UDK do all the nasty work. Again, no magic.

    moose, i never tried the depth calculations in unreal and have no idea how they work. i'll play around with it though, thanks for the idea :)
  • Xoliul
    Offline / Send Message
    Xoliul polycounter lvl 14
    I'll try creating a blurred scenecapture material for you tomorrow.
  • 3dflasher
    Offline / Send Message
    3dflasher polycounter lvl 17
    This piece came out amazing! I like the post work :) It comes across as too much at first glance but I think it's also what gives it character so I'm a fan. I want to see more of your work...the mood is very inspirational.


    Xoliul - Your shaders rock and im very eager to see what you make. Been trying to make this happen myself ...just ended up capturing the cubemap at low res like a 32 or a 64. Sounds crappy but Ive seen this faked by grabbing lower mip levels of the cubemap...the results are marginal, but optimal for memory usage.
  • bluekangaroo
    Offline / Send Message
    bluekangaroo polycounter lvl 13
    Awesome! Thank you very much for posting those, appreciate it
  • moose
    Offline / Send Message
    moose polycount sponsor
    You can blur the reflection stuff, i may have spoke too soon earlier! (edited it out)! You do not need to do crazy material offsetting/adding/blending - though that is an option ;)

    You can define a specific post process chain in the SceneCaptureReflectionActor:

    reflectionActor.jpg

    you can use multiple post process chains, to have multiple blurs if you want:
    reflectionBluring.jpg

    I dont know if its necessary, but in doing it i created 3 RTTs, made the 2dTexture in the Material a Parameter, and made 3 instances of the Material, assigning each of the 3 textures to the MICs. In each Actor, set the RTT texture, and PP chain! win! That shouldnt reallymatter though, since you're just applying a Post Process Effect to a single view of the viewport and not the texture itself.

    You should be able to add color effects, bloom settings, etc in the PP chains to get specific results!

    as for the water, could check out:

    Material'ExampleMap_Resources.M_UN_Liquid_BSP_BlueWater02'

    The material is in a map included with UDK, and located beneath the grates in the floor.
  • Lamont
    Offline / Send Message
    Lamont polycounter lvl 15
    moose wrote: »
    You can blur the reflection stuff, i may have spoke too soon earlier! (edited it out)! You do not need to do crazy material offsetting/adding/blending - though that is an option ;)
    Mozeltoff!!! Nice to know!!
  • Karmageddon
    Offline / Send Message
    Karmageddon polycounter lvl 7
    I'd be terrified to swim in that pool. This pool is where people come to die.
  • chris89
    Offline / Send Message
    chris89 polycounter lvl 10
    Argh! completely forgot about that. Thats a great way to do it, and probably very cheap as well. Cheers.
    I'll try it out tonight as i'm at work now.

    Ow.. i saw tinypic screwed up the images i posted, i'll fix that tonight as well.
  • mathes
    If you're looking for absolute perfection with this scene, you can always bake your light maps with V-Ray.
  • Firebert
    Offline / Send Message
    Firebert polycounter lvl 15
    pretty awesome stuff man!
    my only crit is that based on your camera animation, you are currently at midget status, or shorter :)
  • r4ptur3
    Offline / Send Message
    r4ptur3 polycounter lvl 10
    pure win. awesome info on reflections, thx!
  • chris89
    Offline / Send Message
    chris89 polycounter lvl 10
    Hey Mathes, you're right, for more detailed lighting a vray bake would be great. You'd still need the UDK bake next to that since that will automatically calculate the specular vectors, which is needed to get specular from lightsources without them being there.
    I might try to combine a vray bake with unreals vector specular maps, but it'll have to wait for now.

    Firebert, whoops, you're right. forgot about the weird unreal scale!

    Moose, thankyouthankyouthankyou. It works pretty well. BUT!

    Here it works a treat
    28k23rn.jpg

    But with a bright shiny object behind it, you'll see that the blur doesnt blend the two together properly.
    11k9wev.jpg

    Can live with that though :) still a nice find!

    I tried the depth colouring on the water again, but couldn't get it to work properly. The water in the UDK material you mentioned just behaves on the fresnel, not actual depth of the water. Other approaches with depth calculations also didn't work for the water body, i'm probably doing something wrong again :)
    I tried using a fog volume, but those are additive and thus will only make the water brighter instead of darker.
  • karera
    Offline / Send Message
    karera polygon
    I love this thread! Keep it up and please post more cool info about the materials. I've been learning alot here already ;D
  • R3D
    Offline / Send Message
    R3D interpolator
    Wow, that looks amazing!

    on an unrelated note
    fearian wrote: »
    I actually read this as 'auschwitz swimming pool'.

    I was pleasantly surprised!
    made my day
  • JordanW
    Offline / Send Message
    JordanW polycounter lvl 19
    looking awesome!
  • MainManiac
    Offline / Send Message
    MainManiac polycounter lvl 11
    Ive had this question alot. Why so many textures/blocks in the material? What wrong with just spec norm and diff?
  • JordanW
    Offline / Send Message
    JordanW polycounter lvl 19
    Because that'll just create a basic phong material, which is a basic representation of surfaces in real life. There's many view dependent, surface dependent effects that occur on surfaces that simply phong spec diffuse and normal can't express.
  • chris89
    Offline / Send Message
    chris89 polycounter lvl 10
    JordanW is right. Just a basic, static, opaque phong for a water body might look a bit weird, so when you add more to the shader the amount of instructions and nodes rises quite fast.
    But i have to say a lot of the materials you see on the web have so much redundant nodes in them.
  • Habboi
    Offline / Send Message
    Habboi sublime tool
    Thanks for the chrome material set-up. It's on my to-do list of materials to add to my scene so that shaved an hour off figuring it out.
  • ae.
    Offline / Send Message
    ae. polycounter lvl 12
    wow this is awesome!
  • IchII3D
    Offline / Send Message
    IchII3D polycounter lvl 12
    Its only an idea but it might help enhance the scene by adding a very very small amount of fog to the water to help give it a bit more volume, especially in the with the lights. Another thing that might help would be to try and simulate caustics on the edges of the pool.

    caustics_rendering_example.jpg

    EDIT: Also just another thing to add, its very hard to gauge the scale in your scene, many conventional sizes don't seem to match. But it could just be because of the unique architecture.
  • glottis8
    Offline / Send Message
    glottis8 polycounter lvl 9
    very nice... i like all the attention to detail on your reflections and eveyrthing.
  • chris89
    Offline / Send Message
    chris89 polycounter lvl 10
    thanks chaps.

    IchII: Even though this thread is almost a year old, your suggestions are good. I'll have another look at the scene to see if i can incorporate caustics, fog and some scale guide. Let's hope it still works with the new udk
  • NomadSoul2501
    Offline / Send Message
    NomadSoul2501 polycounter lvl 10
    Great work!

    I was looking into creating a reflective ocean shader and stumbled onto this thread.
    I used your diagrams as guides and got the reflection to work somewhat.
    The problem is everything is way too transparent and bright?
    How did you regulate that in your shader?
  • DEElekgolo
    Offline / Send Message
    DEElekgolo interpolator
    Thats.... quite the 5 year bump there
  • dzibarik
    Offline / Send Message
    dzibarik polycounter lvl 10
    at first I thought that it looks nice for UE4. then I read the date, lol
  • DireWolf
    lol was thinking why would anyone call UE4 UDK.
1
Sign In or Register to comment.