Prop Tri Count question: UDK project

Hey all,
I am currently helping some friends work on a UDK project on my free time, and ran into a sort of nagging question everyone seems to have.

I am doing a telephone, 1950s era, and because of the design, I feel like it's pretty high poly. Now to preface this, I am used to working with a much smaller tri count at work (as are my friends) but we are wondering if we should try pushing the tris; since our project is all puzzle based and will feature no characters, should we focus on making a bad ass environment (which will have "dynamic aging"), or should we focus on portfolio pieces that fit a different criteria? I'm kind of stuck at this point, it's not high at 1452 tris, but is that still too much for something like this or should i go strip crazy, haha. Any opinions are welcome!!
phoneHP.jpg

Highpoly took about 5 hours.

Lowpoly about 2 hours; sitting at 1452 tris.
phonelp01.jpg

Replies

  • ZacD
    Offline / Send Message
    ZacD interpolator
    IMO, it depends on how close the camera will be to the prop, and how often.

    If this telephone is an important prop that will often take up 15% of the screen space, its fine at 1.5k tris, if its just some prop for a fps, 1.5k would be way too much. I'm no video game expert, but that's what I've heard.

    it also depends on how graphically intense the scene will be, if its cluttered with lots of stuff like this, 1.5k might be too much.


    Also it may be a better idea to not worry too much about it now, but try getting the rest of the scene done and see how the performance is.
  • Godemper0r
    As I said this is a first person puzzle game. While I am waiting for the LD to work on layout, I need something to do :P
  • Snader
    Offline / Send Message
    Snader polycounter lvl 11
    If you don't know if it's important, then it's likely not important. Otherwise it would already have been discussed in gameplay etc.

    For random clutter like this you should go for at least half this polycount, probably under 500 even.
  • Dis
    I know it's not what you asked for and I'm sure you can optimize it even more if you wanted but I did a little paintover for the things I saw that could be removed/fixed without losing a lot or any detail. Hope you don't mind :poly122:

    phonepaintover.jpg

    The dial (yellow) could be a floating mesh instead, getting rid of the red lines. Those other red lines could also be removed since the phone would retain almost the same shape and the edges could probably be combined to the blue line without losing detail (but that's up to you).

    I don't really know what's up with the center part of the dial (ngon much? Or is it just the angle making it look weird?) but I'd recommend just having one cylinder for the whole dial and let the normal map do the rest of the work. If you do want the center part, at least fix the ngon like I've illustrated in the lower left corner. Also, the bottom could probably just be a flat plane if it's not going to be seen from underneath but again, that's up to you.

    The rest of the paintover should be pretty self explanatory :)
  • System
    Offline / Send Message
    System admin
    The first thing noticable to me is the feet at the bottom which should be seperate objects and the surface underneath just a flat plane with corners alpha'd to look round.
    The dial could also be alpha'd with the centre part being a seperate cylinder.
    The ear end, listening part doesn't have to be complex either, just an alpha'd flat plane with shading would create the illusion of a depression, normals will take care of the rest.

    Areas that need cleanup are on the front beneath the dial and the handle, try to keep quads as much as possible. Also, as long as your low poly is larger than the high poly it shouldn't matter, as again, normals will fix this.

    If you try to break objects up into their constituent parts it will make uv'ing and texturing easier resulting in the end product being more realistic.
  • Godemper0r
    Thanks for the responses, I know about the ngons, the feet on the bottom are also ngons, as I stated to begin with, I stopped what I was doing to ask the question. I appreciate the advice about reducing polys, but that's not what I posted about. I have no doubt I can reduce this much further; but the original post was about if there's a real reason to. I tried to get it across that I am a professional, so I do know how to project, etc.; I'm just trying to determine if I should just make it a really simple background prop; or should we work to make the environment as impressive as possible since there's not really much else to our game. The only reason I care is which would be better for an art director seeing? Also, to GCMP, I've had major issues with the lowpoly being larger than the highpoly, the corners will not project. And I've never liked doing alpha for end caps, it doesn't mip well in many engines and it's an extra shader pass.
  • System
    Offline / Send Message
    System admin
    If your having trouble raycasting to a larger lp: make sure geometry is within a reasonably even proximity to the hp, uv's are layed out with no overlapping or stretching and the topology has the minimum basic structure for holding any sharp angles to avoid shading/lighting problems.

    *You could do it the other way round also: making a heavier lp that can be easily reduced after baking by removing edge loops. Another reason to keep quads.

    --
    ps: I'm not sure whether you are using it already but xNormal is imo the most predictable and reliable baking tool around.
    --



    Well the alpha thing is an option, it sure would save some poly's as it looks like that part and the feet are around 50-60 tris? Alpha wise, if this object was done at <512px it may look slightly choppy but it also depends how you handle uv's.

    eg;
    quart.jpg

    You should be able to get away with using this method on the base with alpha, just ask yourself how close is the cam going to be and what is the purpose of the object. Is it a static prop on a table, animated prop on a table and or a throwable weapon?
    Putting aside the base and alpha you could also use the quarter method for the dial and extend uv space giving your textures better clarity, just look for areas that are repeatable and mirror those uv's to free up space.
  • Snader
    Offline / Send Message
    Snader polycounter lvl 11
    No. Nonono. Alphamapping the bottom is a very bad idea.

    It requires an extra channel in the texture, more complex shader, and it won't for a nicely closed object(causing you to either see backfaces, or see through the entire object). Besides, the amount of polies saved would be negligible. You use 8 (4 quads) while he could get away with 12 (5 quads, 2 tris), just by floating the feet.

    If anything were to get alpha mapping, it'd be the dialing ring, with it being transparent plastic and having holes.

    Godemper0r wrote: »
    I'm just trying to determine if I should just make it a really simple background prop; or should we work to make the environment as impressive as possible since there's not really much else to our game. The only reason I care is which would be better for an art director seeing?

    Ah. Yeah you should try to make the environment as impressive as possible if that's all there is. Not having other characters and weaponry and a tonne of explosion effects should free up a nice amount of resources.

    Though all depends on what kind of environment it is. Assuming your total specs are current gen and not a triple sli i7 monster, look at these examples:

    dct2706_SeatingArea_photo_lg.jpg
    This could probably use 1000-1500 polies so something like you currently use would be quite okay, especially if it's in a fairly prominent place. Furniture is fairly simple shaped, with the most complex models being the plant and the lamp, and it's clean and empty. Also, the cupboards have closed, nontransparent doors so there's few small objects rendered.

    090409e.jpg
    This room also has fairly simple furniture, so in that aspect is sort of the same. But there's a lot more clutter on the table and the leftmost cupboard. Worst of all, the bookcases in the corner are open and have quite a bunch of stuff in them.
    You would have to go <1000 on most of the props (exceptions are the plant, oil lamp, cuckoo clock and big things like the couch).

    27yzewi.jpg
    Yeah, you're screwed. you get 10 polies for the phone =P

    Anyway, send some more questions to your art director or team captain. The layout of the room isn't that important for you (yet) but the density and type of room is.

    As for a portfolio: If anyone sees this ingame, they'll understand that the lack of characters etc gave you more freedom, though try to put some lower specced (separate project) props in the folio too. This question will also be null in a year or 2, when technology catches up. So definitely go for 'as pretty as possible'.
  • metalliandy
    Offline / Send Message
    metalliandy greentooth
    Yea, i have to agree with Snader...Using an alpha channel would be a really bad idea.
    Adding an Alpha channel is the same as increasing the texture size by 50% or having another texture of the same size and would be pointless for something that is never going to be seen.

    I would remove any of the bottom faces that the camera is never going to see and make the dial a cylinder that intersects the main body (maybe with a bevel on the top), so you can just have quads across the front.
    As other people have said i would also make the topology of the receiver more even on both sides and remove the section where the wire goes into the base and bridge the gap as it doesn't really add anything to the main shape.
    You should try to make the normal map do some more work really...if the detail is recessing you can prob. get away with using to the normal map to represent that geo. with out too many problems.
    If any detail you are adding isn't re-enforcing the silhouette, get rid of it :)

    Hope that helps!
  • Godemper0r
    Thanks guys! @Snader: That's more of the info I was looking for, just really opinions about it. I'm not used to working on a self contained environment (work for an MMO company), so that was sort of my basis of reference. I play TONS of FPS, but then you are contending with 10k characters, so obviously you need to cut a tri anywhere you can.

    The project itself is going to be set in an abandoned asylum (closed 1960), but there will be travel back to the past (Dynamic), so I wanted to keep that props as detailed as we can, to be able to better show that visual effect of traveling back and forth.

    Oh, and I actually finished the lowpoly, sitting at 1208, I'll post that shortly. I make most of my hard surface low poly model from the high or mid poly I make, so I just strip stuff and connect it all together, then I strip it down to what the prop needs.
  • System
    Offline / Send Message
    System admin
    Snader wrote: »
    No. Nonono. Alphamapping the bottom is a very bad idea.

    It requires an extra channel in the texture, more complex shader, and it won't for a nicely closed object(causing you to either see backfaces, or see through the entire object). Besides, the amount of polies saved would be negligible. You use 8 (4 quads) while he could get away with 12 (5 quads, 2 tris), just by floating the feet.

    If anything were to get alpha mapping, it'd be the dialing ring, with it being transparent plastic and having holes.


    It would be astonishing to find that a 1bit alpha would cause so much memory overhead that it could cause the complexity of other objects/shaders to be scrutinized. BTW alpha can be added into a single 16/32bit TGA file, so why would it require an extra channel?
    Actually, looking at the current config. it would save around 50 tris and on a small object like this that is a substantial saving. The feet could also be included in the bottom plane as this area won't be as visible, this will reduce the count even further.

    And to futher disagree here because your opening statement was so bold and because I feel like it...

    Alpha mapping the dialing ring would be a No. then a nonononono! Because you wouldn't be able to see the numbers, I mean what telephone doesn't have numbers?! On this type of phone the numbers are submerged on a card and are part of the dialling ring, I know because my parents have one.
    I would remove any of the bottom faces that the camera is never going to see.

    Which faces are those, how does anyone know what is and what isn't going to be seen? Wouldn't it be wiser to make the object fully editable and not take parts away before it's purpose has been fully realised?

    Thanks, I feel better now :)
  • Zack Fowler
    Offline / Send Message
    Zack Fowler polycounter lvl 10
    If this is for unreal, it doesn't matter if you are using soft lit translucency or a 1-bit masking shader in terms of texture memory. Storing an alpha channel converts a texture from DXT1 to DXT5 in UE3, and that doubles the texture's memory usage because of the way compression is handled. If you do split your alpha map off into a separate texture, however, that increases the number of texture fetches performed by the shader. It is far from inexpensive either way, certainly not cheap enough to be offset by a mere 50-tri reduction.

    For a prop this simple you would be best off not bothering with any alpha.

    Don't go crazy on tris for minor props, but don't go overzealous with optimization either. For UE3 you probably won't see a worthwhile performance benefit in reducing an asset from 800 to 700 tris, or from 400 to 300 tris. Especially considering that adding a bit of extra geometry can mean the difference over whether per-vertex-lighting looks good enough to be used instead of lightmaps. In the sub-2000 triangle range, per-vertex lighting is generally quite cheaper than using lightmaps.
  • Snader
    Offline / Send Message
    Snader polycounter lvl 11
    GCMP wrote: »
    Stuff

    I was writing a long explanatory post about why you shouldn't use an alpha plane for the bottom, but nevermind. Let's just say that 32 bit uncompressed targa's are not a good thing to put in a game engine, and that your 4 polygon 'improvement' is not worth mipping errors, complex shaders and models with holes.

    Also, I like this:
    GCMP wrote: »
    this area won't be as visible
    GCMP wrote: »
    how does anyone know what is and what isn't going to be seen?


    @Godemper0r:
    Have you done this yet?
    noalphaphone.png
    Also, just a note, I wasn't implying you should use alpha on the dialing ring, just that -if- transparency were used, that'd be the most sensible place. Best is to trick the viewer with some clever normals and specular.

    Also, how are you planning to work through time? I'm working on a project that uses time influence and I'm curious as to how you guys are fixing it.
  • PixelMasher
    Offline / Send Message
    PixelMasher insane polycounter
    yea unless you are getting this like directly filling the camera like literally 90-100% screen space you dont need the little feet or any detail on the bottom really.If its for a puzzle where you click to dial and the camera is right up on it I would go way higher poly (3-5K), right now its kinda in the middle zone. most of the optimization people already covered just get rid of stuff that barely effects the silhouette.
    should we focus on making a bad ass environment (which will have "dynamic aging"), or should we focus on portfolio pieces that fit a different criteria?
    If you are looking to draw outsiders/attention to your project I would certainly focus on getting some awesome looking environments. The biggest sign of a mod/indie project is renders of props or clay renders of guns. having a couple shots of lit, well realized environments is much more attractive.

    mood/atmosphere/sense of detail is what draws people into environments. look at any AAA title and 70% of the props usually arnt amazing portfolio worthy pieces. The end result of this phone is its going to probably take up 100-200 pixels on screen at the most, so the detail is going to be pretty much unreadable in 90% of circumstances. so a texture size of 256 or even 128 would suffice and adding alpha is a bad idea for sure.

    The highpoly looks nice man, this kinda ended up deviating from the optimization a bit and more focused on part of your original question, so I hope thats cool. I would be really interested in seeing a well done aged environment with that dynamic aging you mentioned.
  • metalliandy
    Offline / Send Message
    metalliandy greentooth
    GCMP wrote: »
    Which faces are those, how does anyone know what is and what isn't going to be seen? Wouldn't it be wiser to make the object fully editable and not take parts away before it's purpose has been fully realised?

    Thanks, I feel better now :)

    Righto
  • System
    Offline / Send Message
    System admin
    Snader wrote: »
    Let's just say that 32 bit uncompressed targa's are not a good thing to put in a game engine.
    No one uses uncompressed TGA's in games, the reason TGA files are used is because they have lossless compression = no quality lost when compressed. Also, I never said anything about compression. :shifty:
    Snader wrote: »
    your 4 polygon 'improvement' is not worth mipping errors, complex shaders and models with holes.
    I said 50-60 tris, which is around 20-30 poly's = approx 1/5th of the total count in the model! Again this is looking at the current topology, not your example or what it could be in the future.
    Snader wrote: »
    Also, just a note, I wasn't implying you should use alpha on the dialing ring, just that -if- transparency were used, that'd be the most sensible place.
    In retrospect the dialing ring is actually the worst place for alpha because it is the most visible area and means that more geometry would have to be made if you wanted to show numbers. As a result, less available uv space = the biggest quality killer of all.
    Snader wrote: »
    I was writing a long explanatory post about why you shouldn't use an alpha plane for the bottom, but nevermind.

    I'm still waiting for the explanation on why I shouldn't risk using alpha on a chain-link-fence because according to you it is just too down right dangerous and expensive to risk! I kid, I kid:poly124:
  • Godemper0r
    Haha, wow, wasn't expecting all this feedback :P Ok, let's see what I can address...

    Well here's the lowpoly I'm using for projection.
    phonewirezz.jpg


    At 1208 tris currently.


    So a few notes, Most of the geometry that was kept was for a specific purpose while projecting. The four chamfers around the base I left because I've never like the look of a soft edge/curve on a sharp lowpoly; you tend to get this weird effect that it looks fine when seen head on, but from the side, you see this black space on the corner where the highpoly had curved into the lowpoly, It's very noticable in the game Perfect Dark Zero (horrible game for normal mapping, btw). Also the mouth piece for the handset, To reduce it I would have to really rework my highpoly, or risk some weirdness I don't want, which is also why there is still a chamfer on the tops of the mouth and ear pieces.

    Oh, and forget about the random tris in places, that's me turning my strips so the normals will display right...

    Here's my uvs...
    uvs.jpg

    The red areas are pieces I've stacked to save space. Kind of hard to tell what they are unless you know the model...

    Ok, onto specifics... About the alpha issue, It's not that I have an issue with it on this model, as I plan to do the dial on an alpha, I just find the technique to be overused and really not much of an advantage of the few tris you'd spend on it. Like I had said before, it's a personal issue really, :P

    About like objects on screen, because of the "traveling back and forth" aspect of the game, the actual translating will be done only in specific marked areas, so I would like those areas to be really highlighted when that change occurs. So while in a normal room a prop may just be sitting somewhere, taking up little screen space, you may be staring at only a desk and the objects on it when the time shift occurs. So, as I've said before, I was more or less just wanting some opinions on this because these things may end up becoming almost center pieces to show off the time transformation. Doesn't it suck that this industry is so subjective? :/



    @Snader "Also, how are you planning to work through time? I'm working on a project that uses time influence and I'm curious as to how you guys are fixing it."

    What specifically do you mean? We are basically doing a ON/OFF switch between the past and present, using the vertex blending in UDK. We'll probably have some animations on objects to support that, and we'll have the two version of most objects (newish and old). As far as like time itself goes, I've come up with a lot of story elements mixed with mathematics to make it seem like you are really affecting things. I've also got a lot of "paradox" puzzles in mind ;), so things happened in the past that cause the things to be like they are now, which is the impetus for going back and changing things, and the whole thing is a loop. The point of the game is to break the loop. IDK if I answered anything you asked, haha.



    @PixelMasher: Well, that's what this post was about really, I wasn't specifically asking for optimization help, but I appreciate everyone that did offer it! And the highpoly is the reason I actually agreed to do any art on this, been just flexing my highpoly modeling as much as possible; if I would've been sensible, I would've made something that would've worked better as game art, and not something that I thought would be fun to model highpoly :P Like changing the mouth piece to be exactly like the earpiece would probably drop this under 1000, but I really like it, and it's going to be annoying to change on the HP.



    It's really interesting to see what everyone's ideas of good tech and bad tech is; I mean especially after working in a production environment, and just looking at how games actually do things; there's a lot of crappy workarounds in everything :P
  • Snader
    Offline / Send Message
    Snader polycounter lvl 11
    Ah I thought you were going to animate fluidly while ingame, but instead it's more like this? A sort of cutscene?
    [ame]

    About the phone:
    phonedialerthing.png
    It looks like you have a few cuts on the horn which can be remove without any visual effect but I can't tell properly from the screen.

    The cable looks a tad messy, it might be an idea to redo this with a spline(+some hand tweaking), shouldn't take long. It would probably also be easier to put a tiling texture on it, instead of having to make it match the highpoly.

    Are you sure you can't fix the mouthpiece? It doesn't have to go all lowpoly, but currently the inconsistency is an eyesore. You could opt to increase the earpiece, but it'll cost you about 200 tris I think.

    If you're going to put everything in one texture, you could shave off a few more polies by making the finger-stop-thing below the dial with alpha too.

    GCMP wrote: »
    50-60 tris, which is around 20-30 poly's = approx 1/5th of the total count in the model.
    Original post was 1460 tris. 50-60 tris ≠ approximately 292.
    GCMP wrote: »
    In retrospect the dialing ring is actually the worst place for alpha because it is the most visible area and means that more geometry would have to be made if you wanted to show numbers. As a result, less available uv space = the biggest quality killer of all.
    The dialing ring is a transparent acrylic, it makes sense. And it doesn't have to take up much texture, if you optimize smartly(see above).
  • Godemper0r
    No not a cutscene; [ame] using this. but you will only be able to do it in certain areas; so we limit the puzzle areas and limit what the player sees.
    For the wire, it's a repeated texture section on the map, so those extra lines are where the texture seams are. On the uvs its the top left area.
    As far as the dial goes, and just the way I laid it out in general; repeating like that would be fine for a clean version, but having a dirty version using the same uv layout wont work well. Any rust I put on it (the dial ring is made of metal), would be very noticable as repeated.

    The extra polys that you pointed out in the top image, I only have those there because I have been projecting using Max, and it will not project smoothly otherwise. So, I'm going to give xnormals a try tonight, and cut this down more to the tri count I'm used to, and see if I can't get better normals. And because the actual jack box is inset and then sticks out above, that's why I didn't float that piece.

    And finally this is my reference. http://retrophones.files.wordpress.com/2009/03/232-black-1.jpg The drawer looking thing on the bottom is the bells; I just made them into the unit so It'd be more recognizable as an American phone (that is a british model)
Sign In or Register to comment.