Home Technical Talk

Shop Windows

I'm curious to hear peoples ideas on how to approach windows for shops/bars/cafe's etc in street scenes for example. Specifically for buildings that won't be entered by the player, but may be viewed up close.

Looking at examples in games I've played, it seems the common approach is either an image straight onto the window geometry, or a transparent 'window' with a plane behind with an image on. Both of these sound like inadequate methods in principle but they do seem to be quite effective. I notice CGTextures have a massive library of shopfronts that could be chopped up and used as textures.

Is there any other way that you guys are familiar with or have any tips/suggestions.

Replies

  • Ludix
    Options
    Offline / Send Message
    Games like Mafia II and L.A. Noire have a polygon for a window and behind this there is often a selection of products. Behind this there's another poly with a texture on it. I think it's a pretty effective method, much better than just a texture on a poly, looks pretty interesting and can be reused a lot.
  • glynnsmith
    Options
    Offline / Send Message
    glynnsmith polycounter lvl 17
    There's a nice-looking solution I've seen used where you render out the interior of the room that'll be behind your glass plane, then apply a strong parallax map to it, which pushes it in and gives it a believable perspective distortion when you walk/move past it. Especially nice when you apply a good reflection map to the glass.

    It is pretty expensive, because it's using parallax/offset mapping, and will most likely be only available in the one or two public engines that support it.

    Otherwise, still use a good reflection map, and fake it as much as you can, by occluding the view of the room with curtains, blinds, net curtains, products, storefront shelving, signs, stickers, etc etc.
  • haiddasalami
    Options
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Pretty much what Glynn was talking about. (http://www.eriklarsson.net/shader_window.html) Reading in a power point about procedural buildings, Epic mentioned doing this as layers and using the camera vector and offset with that. Haven't tried it yet.
  • mortalhuman
    Options
    Offline / Send Message
    That shader looks awesome, showed it to our programmer.

    Saints Row 2 used straight up rooms inside of buildings, but smashed with a perspective corrected texture. If you get close to them and observe, it's like "smooshed on depth" but riding around it looks neat, even if the art in that game is a bit goofy and the game runs slow as cold molasses on PC :P

    In Modern Warfare 2, IW put in some small extrusions inward on the windows and put lamps on the cielings etc in "SkidRow" - it looks really, really good, and again only comes apart when you look right at it.

    GTA IV was all flat textured window polygons, and that looked very, very good, where they only looked wrong if you singled out the one element at a time and picked it apart.

    Mafia and LA Noire stuff is cool, very similar to saints row 2 stuff but I can't stand how close you are before stuff loads as an interior in those games, then closer to see props in there, etc - in my opinion, they should have windows that are solid that don't fade away until the entire interior is loaded, at least then, I may be closer, but it comes into view smoothly instead of seeing assets pop in stages on approach.

    Nit pick shit though - at the end of the day, in normal gameplay, all examples look really great, IW's in MW2 "Skid Row" is probably my favorite.
  • Tom Ellis
    Options
    Offline / Send Message
    Nice one guys thanks a lot.

    I just remembered also, I think the Eat3D texturing DVD covers something similar with a parallax setup.

    That shader linked looks really awesome, I'll have to have a play with UDK and see what I can come up with.

    Thanks again
  • r_fletch_r
  • mortalhuman
    Options
    Offline / Send Message
    posting to personally thank you for that link, so impressive and it outlines part of my post. Coincidence like that can mean only one thing. Interior mapping is THE WAY FORWARD. xD

    Not that it's the best choice for the OP, no way to tell that yet, but man, I want that in our engine lol.
  • Stromberg90
    Options
    Offline / Send Message
    Stromberg90 polycounter lvl 11
    r_fletch_r: Did read that some time ago, a real jawdropper that thing, so nicely done.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    r_fletch_r: Did read that some time ago, a real jawdropper that thing, so nicely done.

    yeah I found it about 2 years ago. I can only conclude there is a good reason why no one is doing it.
  • Stromberg90
    Options
    Offline / Send Message
    Stromberg90 polycounter lvl 11
    r_fletch_r wrote: »
    yeah I found it about 2 years ago. I can only conclude there is a good reason why no one is doing it.

    Guess you are right about that, but i cant help wonder what the reason may be.
    It might be that I am overlooking something, the beauty of it makes me blind for such things.
  • mortalhuman
    Options
    Offline / Send Message
    r_fletch_r wrote: »
    yeah I found it about 2 years ago. I can only conclude there is a good reason why no one is doing it.

    But best guess would be what, consoles specs or maybe something else? Saving it for later/waiting to use it in games?

    I mean, GTA IV wasn't started 2 years ago, it was already out by the time that article was written, and it was being developed for a few years before that, right?

    Could it be console specs? Could it be more serious an issue than one of timing? I mean, I wouldn't use that "til GTA V" either, if you catch my drift there, and it could just be that kind of thing, no?

    Overdraw? Something? What could it be?

    Has anyone ever done that before? I don't have anything that supports it to try it myself right now.
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    It's pretty easy to do it in UDK, there is a tutorial from Eat3D which shows how to do it. It's not even resource intensive by todays standards if you look at the payoff.

    The reason no one uses it is because it's pointless. Players won't notice such things when being shot at from sniper rifles, and if you plan on having monsters burst out from window shops, you may as well bulk up the entire indoor area black to add the fear factor of something only showing the last moment.

    Ontop of that, if you plan on having dynamic windows which to interact with in real-time with the player, exploration essentially, once again it will have limited use since that interactivity won't exist with such a material...after all, it's being applied to plane.

    Plus, switching from one material to another in the event that the window is broken just will look tacky upclose.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    AceAngel:
    Not the same thing. Read the paper/Look at the pictures..

    MortalHuman: I wouldn't like to guess as Its something I'm not well versed in.
  • commander_keen
    Options
    Offline / Send Message
    commander_keen polycounter lvl 18
    r_fletch_r wrote: »
    yeah I found it about 2 years ago. I can only conclude there is a good reason why no one is doing it.

    Because it would be very hard for an artist to work with, and in many cases it wouldnt work at all because the walls and ceilings are mathematically placed at constant intervals. Plus because its just an illusion of geometry it wouldnt be effected by lighting.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    Because it would be very hard for an artist to work with, and in many cases it wouldnt work at all because the walls and ceilings are mathematically placed at constant intervals. Plus because its just an illusion of geometry it wouldnt be effected by lighting.

    Closure :) thanks man.
  • mortalhuman
    Options
    Offline / Send Message
    Indeed, thank you. Forum needs thanks buttons :P
Sign In or Register to comment.