Home 3D Art Showcase & Critiques

[UDK] Environment - Industrial Candy Store WIP

sublime tool
Offline / Send Message
beefaroni sublime tool
I figured I should start up a thread to document my own progress as well as get feedback from other polycount users on what I can do better.

A brief intro: This is the first environment I've attempted. I am about halfway through school and decided I would like to try environment design this summer before group projects/classes begin in the fall.

I want to create a near-future industrial candy store inside of UDK for this project.

My goal is to create an efficient workflow for creating future environments. During this process, I hope to develop good high poly - low poly modeling techniques, modular assets for the environment, a broad understanding of different mapping techniques, texturing, pleasing color throughout the environment, lighting, and UDK.

Here are some early concepts:

ZW1CIvih.jpg
Pipes on top will be industrial sized and will hold m&m sized candy. The pipes will curve and end on the first floor where they will dispense candy. The colors on top will represent the colors. The windows will be all glass. One of the windows on the bottom left will be a glass door.

Color pallete is on the bottom right.


j9pTsc8h.jpg

Maya blockouts:

tIhOxoVh.png

9PVUPuEh.png

Replies

  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    This past week I've been focusing how to create normal map bakes in xNormal. I have not created normal maps outside of zbrush so I have been experimenting with different methods.

    A few notes:

    Large flat planes on my high poly ended up giving weird normal artifacts so I threw in a couple edges loops which solved the problem. Originally, I thought that my low poly was causing the problems but it was fine.. I also found that triangulating the mesh before running xNormal helped a lot.

    For some reason UDK wasn't flipping my green channel even with the option enabled for the .fbx import. I had to flip the green channel in photoshop to fix the problem.

    In terms of UV mapping, I tried stacking the UVs as much as possible; however, it created problems in my AO bake (brackets over the glass in different locations, stairs next to support beams). For UV mapping, someone on polycount suggested a great UV unwrapping tool (Nightshade UV) in a technical talk thread. Here's the link http://www.creativecrash.com/maya/downloads/scripts-plugins/texturing/c/nightshade-uv-editor

    As of now, I feel that my stairs don't have enough going on visually. They feel kind of boring.

    Anyways, images.
    (2328 tris, 2K maps).

    oC1zpB9.png

    R4rJpZ3.png

    J3HhlBm.png

    7LruTp1.png

    DuTuF3h.png
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    nice design concepts! i like the perspective.

    i dont think your stairs are lacking something geometry-wise, they fit quite nicely to the style of the concept. add details and areas of interest in the texture.

    about stacking uv-islands: did you move the stacked islands out of the 0-1 box? having them stacked while baking causes artifacts. you should be easily able to stack a lot of those parts and save texture space or gain resolution.

    keep going!
  • snow
    Options
    Offline / Send Message
    snow polycounter lvl 8
    I like where this is going, but if you're keen to improve on your high to low poly techniques then I think your normal map seems overly convoluted. If you look at your normal map bake for the stairs/railing, pretty much all of the shells are the same. Not everything needs to be baked and unique, it's just not efficient. Rely on some horizontally tiling trims. You could also skip on the normal map for the glass as well, generally glass just doesn't need it, it will look great with a nice shader setup. Also don't be afraid to add supporting edges to your model and smooth it that way, it'll be cheaper than drawing a huge normal map to give your soft edges, plus you can get more resolution from your textures!
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    @walkonsky - I did not move them out of the 0-1 box. I'll give that a try on my next bake.

    @snow - I'm going to give your method a shot for the stairs as well as the rest of the railings. I didn't think of creating a singular texture sheet for multiple assets. Thanks.

    Actual update soon..

    Edit: Finished up the low poly assets for the stairs/railings. Debating whether or not to try to include the walls and the glass/rails on the front of the building.

    E88CAhj.png

    smn6Jb0.png
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    A bit of an update. I've been working on creating textures as well using UV space as efficiently as possible without going overboard for my first attempt. Currently, I'm running into UV seam issues in UDK with the mirrored UVs. From what I've found, the UV seams need to be vertical and the Indirect Normal Influence Boost needs to be at 0. Unfortunately, that doesn't seem to be working.

    Threads I've been looking at to solve the problem if anyone is running into similar issues:
    http://www.polycount.com/forum/showthread.php?t=93063
    http://www.polycount.com/forum/showthread.php?p=1498164


    I think my texturing could use more work but for now I want to get the staircase in UDK and learn how to create a good glass shader so I can get a better idea of what it will look like outside of Maya.

    Mirrored UV Seams
    DBkukK7.png

    1024x1024 texture map. Each texture is 512x256 so far.
    KDuHhTj.png

    UVs on top of texture
    mp46lFm.png

    Edit: Update

    Didn't want to make a new post for this small update. Un-mirrored the UVs and tried to line everything up. Came out much better. Also laid out the UV maps for the lightmap. They're not very optimized; however, they look fine at 64x64 so I'm going to keep them for now.

    Here are some images. The railing is supposed to be stainless steel and the base is concrete. Any critiques are welcome on what to improve with the textures.

    PcoCWR5.jpg

    Lightmap UV
    uqkGD7m.png

    NOW onto glass shaders. Another update soon..

    Oh also for the stainless steel I'm going to try Anisotropic Lighting.
    http://udn.epicgames.com/Three/AnisotropicLighting.html
  • hollandje
    Options
    Offline / Send Message
    hollandje polycounter lvl 4
    oh this is something to follow! :D great work!
  • Minos
    Options
    Offline / Send Message
    Minos polycounter lvl 16
    You would save a TON of time and texture memory by using a tiling trim texture for that railing! Really, for simple stuff like that it's waaay overkill to make a hipoly and bake, just to get beveled edges.

    Even if you don't want to use trim sheets you can still make the same normal map super easily and fast with nDo.

    Leave bakes for the props/big pieces that really need them!
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Thanks hollandje!

    @Minos - I started off with baked maps but Snow suggested that I use tiling textures in an earlier post. For the staircase and handrails I added supporting geometry and smoothed the normals. Right now the stainless steel is 512x256 (although not all of it is being used) and the concrete is 512x256.
  • snow
    Options
    Offline / Send Message
    snow polycounter lvl 8
    @beefaroni - looks like you have everything in one smoothing group, for better results try: http://pontuscg.se/images/SciFiTutorial/Korean.jpg
  • chrisradsby
    Options
    Offline / Send Message
    chrisradsby polycounter lvl 14
    I would honestly just but the bevels in there myself and use tiling textures instead of baking everything down.

    So I agree with Snow here.

    Do something like this instead to save time and be more efficient with your texture space. It does cost more polys however but then again it's something you have to decide on. Whether you want to spend time on baking out lots of complex shapes or do stuff quicker by just modeling the necessary things you need. Polys are polys, easier to just remove bevels in later LODs anyways.

    But! It's very interesting to see where this is going, good work :):thumbup:
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    I would honestly just but the bevels in there myself and use tiling textures instead of baking everything down.

    So I agree with Snow here.

    Do something like this instead to save time and be more efficient with your texture space. It does cost more polys however but then again it's something you have to decide on. Whether you want to spend time on baking out lots of complex shapes or do stuff quicker by just modeling the necessary things you need. Polys are polys, easier to just remove bevels in later LODs anyways.

    But! It's very interesting to see where this is going, good work :):thumbup:

    Thank you. I've changed my low poly model and included bevels. A few posts up are my new textures that I've attempted.

    I'm working on creating a good glass shader as well as one for the stainless steel. Anistropic lighting for the railings looks okay but it's hard to see how it will look like in the environment. I think I may take a step back and create the wall/ceiling/floor textures in UDK so I can get a better idea where the light will be coming from. As of now I'm just placing the staircase on a flat BSP floor with spot lighting.

    bvxaa17.png
  • fab-camp
    Options
    Offline / Send Message
    fab-camp polycounter lvl 6
    I think your shading will be a lot better if you put in some extra edgeloops, right next to your edges. just the way you would perpare that geo for beeing subdivided.
    that beveling will give you pillowing normals with smooth faces.
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Sorry everyone, had a busy two days and do not have any updates.

    @fab-camp - What are pillowing/pillowed normals? Tried to search and came up with very little.

    From PredatorGSR on http://www.polycount.com/forum/showthread.php?t=78728&highlight=pillowed
    Adding a 2 edge bevel will create pillowed surface if it is a large object, so sometimes you just add an edge loop on each side of the corner and soften the normals. That way you get a softened corner, but the softening doesn't extend beyond the beveled area and ruin the smoothing like you mentioned earlier.

    I don't think i'm seeing the pillowed normals in UDK on my model. Could you give an example?
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Okay I was able to look at some tutorials and work on my materials a bit tonight. A few notes so far.

    1. When doing reflections for the stainless steel, my normal map was causing my specular to become pixaleted. After a bit of research I re-imported (actually importing it again if that makes sense) and used Normal Map Uncompressed settings. That fixed that issue.
    2. MLM_Anistropic works well for stainless steel reflection
    3. A high specular power for metal reflections
    4. I plugged in my normal map into anistropic direction and it just made everything super reflective. I may give that another try on another material. For the stainless steel it seems to be fine.
    5. Right now I am using 2 materials for 1 texture(?). One is the concrete which uses a phong shader and the other which uses a anistropic shader. They use the same texture samples though (diffuse, spec, normal, etc). I looked at material instancing a bit and the benefits of reducing drawcalls for performance. For now I may ignore that and focus on getting more of the project finished so I can show something else besides this staircase..

    Overall my stainless steel texture still needs more work but here it is so far. By the way for those who suggested using tilable textures for my assets THANK YOU. It will be nice to be able to apply one material to all of my stainless steel railings / stairs / anything else that uses the material.

    My notes are kind of hit or miss. They're more for myself to keep track of what my main findings are so please correct anything you think is wrong.

    ACda1o9.png

    svEwB8S.png
  • fab-camp
    Options
    Offline / Send Message
    fab-camp polycounter lvl 6
    I think your shading will be a lot better if you put in some extra edgeloops, right next to your edges. just the way you would perpare that geo for beeing subdivided.
    that beveling will give you pillowing normals with smooth faces.
    ok that wasnt to clear

    made a test in max and udk to clarify.

    what I mean is that your normals do bend around your whole surface the way try to make the edges smoother.
    you get a gradient on the flat surfaces of the chamfered cube (right one)
    ( I dont got time to explain my point more detailed now, sorry)

    bevel_test_01.jpg
  • leleuxart
    Options
    Offline / Send Message
    leleuxart polycounter lvl 10
    I think what fab-camp is saying is instead of beveling, add two edge loops on either side of the original cube edges. When you soften the original edge, you get almost a fake bevel look and don't get that many shading errors.


    For your stainless steel, are you going for a smoother look or one with a little bit of a brushed texture? Right now, it's hard to tell because it's very soft. Also, I think your specularity is a little off. You should try increasing the constant for the specular(you might have to adjust the spec power afterwards) and try incorporating the cube map into the specular as well. Stainless steel is really reflective, but not so much that it's like a mirror. It just reflects back more of the colors from the environment. You can see that in this picture.

    stainless%20steel%20slide%20tuner.jpg

    And one last thing, whether you're going for a smooth/brushed surface, try playing around with a normal map with long streaks. It will probably have to be pretty weak, but enough to effect the specular highlight. You could just use your existing normal map and adjust the UV coordinates so it stretches along one axis.
  • fab-camp
    Options
    Offline / Send Message
    fab-camp polycounter lvl 6
    ok, first I realized, I might have caused some confusion by using the word "chamfered".
    as the the "chamfer"-tool in 3dsmax is the equivalent of the "bevel"-tool in Maya.
    (I´ll use the maya-meaning of "bevel" below)

    so I was curious about how these two techniques mentioned (adding edgeloops on the one hand and beveling on the other) to round off edges work with cubemap-reflections.
    I made another test with a pillar resembling yours on the stairways.
    and I think adding edgeloops in (left pillar) works way better here.


    bevel_test_02.jpg


    also I would think you could get rid of these narrow diagonal highlights on your handrails that way.

    bevel_test_03.jpg

    although adding edgeloops is quite more expensive on the polycount-side - to me it seems worth it.
    any opinions on that?
    I hope that is of some help.
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Thank you everyone.

    @Chilly - I re-did the UVs for the lightmap. There's a lot less wasted space now.

    @fab-camp - Thanks for all the visual guides. I have added the extra edge loops to both the railings and the concrete part on the bottom. They look much better already.

    @leleuxart - I'm attempting to do a brushed stainless steel. While I was out today I spent some time focusing on what you said in terms of reflecting both light and the world.

    Hopefully I'll have another image update by tonight or tomorrow afternoon.

    Edit: The stainless steel normal map is hard to do with a 512x256 texture. I'm going to play around with it a bit more.
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    New problem.. for some reason the specular reflection is ending up black.

    This time around I decided to import my textures separate of my mesh in order to change them easier when I wanted to alter something.

    Edit: Hmm well I re-imported it by connecting all the inputs through maya and exporting as an FBX. I would have rather done it manually but for now I'll stick with this.

    Okay I figure it out. Notes so far.

    To manually assign textures to a object after it has been exported, new materials have to be created. Beforehand, this was my process.

    1. Assign blank phong materials in maya (stainless steel, glass, concrete, etc).
    2. Export the model as an .fbx
    3. Import into UDK with materails selected
    4. Assign diffuse, specular, normal into the already created phong materials

    New process (still need to try it out fully but..)
    1. Do the same as before with exporting
    2. In the Unreal Static Mesh Editor, go to LODInfo > Elements
    3. Under the elements should be the materials, I just found out if you export with multiple lamberts it shows up as None
    4. Create new materials using the textures
    5. Assign those new materials into the slots.

    The image below is the result of the first wrong method I tried.
    F2HBd70.png


    Edit 2: I think I'm going to get rid of the bevels on the stainless steel railings, or, if I do keep them, don't smooth the normals. Having to add this many edge loops doubled the polycount from ~2000 tris to ~4000. Not sure if it's worth it for my first environment to use such a high polycount. Hmm..

    Edit 3: So this is very basic but was helpful in understanding why the specular/anistropic on the stainless steel was coming out the way it was. I'm kinda teaching myself a lot of this as I go along so a lot of my posts may be boring:

    [ame="http://www.youtube.com/watch?v=PMgjVJogIbc"]Smooth Shading - YouTube[/ame]
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Started putting together everything in UDK to get a better feeling of what it will look like. The stainless steel still needs more work for reflections. I'm also debating doing a 1024x1024 map for the floor (it's 512x512 now) and having 3 tiles that are slightly different from the original tiled textures to break up the floor a bit more. My lighting also needs a lot of work. I need to read up on that.

    Edit: For the floors I was reading up on thirding and I think I may try adding cracks to the bottom 1/10 of the texture and then extending the UVs where I want cracks.

    KEMFoX9.jpg

    T7G55jq.jpg
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    great to see this moving forward! would you mind to show us the railing a little more up close?
    im not too sure about what you meant when you described the technique you want to use for your floor, but have you had a look at vertex blending in UDK? I guess thats a very useful technique for large surfaces that are textured with tiling textures. you can add detail where you want to with little cost and in a very easy way...
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Ah yea vertex painting looks much better. Here's the railing. The stainless steel still looks too reflective. I may remove or lower the normal map and as the lower resolution (512x256) is making the anistropic reflection look a bit weird. I'm waiting until I learn a bit more about lighting as the reflections look much different in the level compared to the Static Mesh Editor.

    bygouvX.png

    and thirding.

    thirding.jpg
  • walkonsky
    Options
    Offline / Send Message
    walkonsky polycounter lvl 11
    looks good so far.
    i knew the technique of thirding, but forgot the name. ;) im still not sure how you want to apply it to the floor, but that might be me.
    just keep posting your progress!
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    An update. I haven't been progressing nearly as much as I should recently. Anyways.

    yhmzUn5h.jpg

    uWbopcjh.jpg

    ou0RD0fh.jpg

    zODkNX0h.jpg
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    New update. Went out and took some reference images of candy stores and industrial A/C. Working on filling in the interior.

    n1jJiJf.png

    6wWpTLAh.jpg

    vnRIkx3.png

    ZGwWAkM.png

    u69c3jsh.jpg
  • beefaroni
    Options
    Offline / Send Message
    beefaroni sublime tool
    Hey guys, I never got a chance to finish this piece. School started back up and I had to begin a group animation.

    Looking back, I learned a good amount about normals, baking, UDK, optimizing for games, etc. My main mistakes were not detailing my concepts enough and not planning this whole thing out as much as it should have been. I'm not sure if I will revisit this project. Maybe later down the line. Anyways, here are the images from late August.

    Thank you to everyone in this thread that contributed and helped.

    Final images
    udk_enviornment_third_floor.png



    udk_enviornment_first_floor.png

    udk_enviornment_lights.png
  • sushi
    Options
    Offline / Send Message
    The candy store looks awesome. If you ever go back to work on it I'd say the scene could use some more detail to break up all the white space and give more ease between the bright white and the highly saturated colors.

    BTW, awesome thread discussion about normal map detail VS bevels/chamfers. Does anyone know what is more "expensive" - using a high res normal map on a low poly model VS double the polys with no normal map?
Sign In or Register to comment.