Announcement

Collapse
No announcement yet.

Basic Mesh Modeling Questions

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Basic Mesh Modeling Questions

    I've had fairly limited modeling experience in the past, mostly limited to models mapped with only diffuse textures exported to .3ds format for a 3D engine that didn't support modern-day features such as shaders. Now all of that has changed as there are all sorts of things out there to learn and incorporate into how I create textures and models. With that will come some odd questions as well on how to make meshes the best way.

    Now for my ambitious project, a FPS game, I want to create a map based on a real life place, so all models are to be done from reference pictures. So, I'm going to fire away with my first one. It's difficult to search the net for exactly the sort of thing I'm doing, so forgive me if I simply forgot to search somewhere first.

    Anyway, my question basically amounts to this: Is modeling with the lowest number of polygons possibly needed to create a shape the best approach? I'm rather unfamiliar with modern standards for UDK. The picture shows what I'm asking specifically.



    Top of the picture is the original photo. Bottom is where I drew lines to show the wireframe of the mesh I'm building. (I did not draw lines over areas I'm not currently focused on, such as the window and background past the archway.) Now, my specific question is, are the polygons represented by the green lines necessary in order to map a brick texture to show up as it does in the original photo? I would guess that they are necessary in order for the UV maps to be assigned appropriately, but I've seen layering tricks done to make some slightly similar things work.

    I'm fairly polygon minded when modeling things, always trying to omit what's unnecessary. However, sometimes I use less polygons than needed not by intention but by due to odd or poor modeling techniques. (Still have a long way to go on learning 3DS Max.) Here's a side effect of this:



    The highlighted polygons intersect through the roof/building. I also drew a grey line in paint to show where the polygon is hidden by the other part of the roof. (I did this instead of making it transparent because it was difficult to see the individual polys.) Now, so far I will not be modeling the interior of the building, nor do I plan to allow players to climb onto the roof but that could change. In any case, I'm sure these odd polygon intrusions will never cause a problem where players would see something odd, but I'm wondering if this approach is bad for optimization of the game engine, affects shadow quality/performance, and that sort of thing. Perhaps it'll be a problem when it comes to secondary UV channels for lightmapping, leaving some unnecessary spots to be mapped. I'm not sure; I hardly know how to work with UV's anyway.

    Perhaps I should be running through modeling for games tutorials instead of posting on this forum, but like I said, it seems difficult to get to these kinds of specifics.

    #2
    For that arch, you don't actually need to have that many segments in it, the main thing is that if you are using it in a game and a player walks up to it would they be able to see the segments of the curve.

    For your second example, you don't need to worry about that polygon, I would actually do those parts as a separate simple shape, without trying to make them physically connect. If you wanted to get really detailed, you'd want to make sure the roof meshes connect properly together and then you would be adding the proper detail for how the pieces meet. But if it's not that important then don't waste time trying to add detail that won't be seen.

    Comment


      #3
      are the polygons represented by the green lines necessary in order to map a brick texture to show up as it does in the original photo? Not really, as a matter of fact is not even a good idea if you want to have your machine performance under control, check this example:


      now the polycount is the same but the detail is better


      just by using a normal map.

      bottom line your idea of going to learn from tutorials is your best chance, and if 3ds max is your program try to get the "knife tutorial" from Ben Bolton you will learn A LOT from that one.

      Comment


        #4
        Thanks everyone for the quick feedback. Turns out my hunch on keeping poly count as low as physically possible still holds very well despite all the advancements made to computer hardware and 3D engines from what I'm used to modeling. However, I still suspect that I will be making many exceptions to what I usually do, where any detail that really stands out gets extra polys instead of normal mapping. The map I'm building is fairly small in size; it will cover several houses worth of playing area.

        The actual mesh where the arch is so far has half the curvature detail as what I outlined in the photo. (10 sides for a half-circle, versus 20 on the actual house) I think it should work out as is. The main trick here seems to be texturing it right so that I can preserve as much brick detail as possible; perhaps some tricks I find on overlapping texture layers will be helpful. Even though the placeholder diffuse texture on the second picture doesn't show it, I'm thinking of tiling high res textures a lot. Perhaps I'm over-doing it though, and I might end up having to create specialized textures that aren't designed to tile except horizontally. I guess I'll see what I'll do as I go, which is kind of my only plan for how to carry out this entire project given my lack of experience. The project's a combination of me learning to use the UDK as well as creating something that could be useful later. (The main idea I'm running off of is a water gun FPS game; I should probably be saving polys for particles and water effects/decals instead lol.)

        Comment


          #5
          Originally posted by CA99 View Post
          Perhaps I should be running through modeling for games tutorials instead of posting on this forum, but like I said, it seems difficult to get to these kinds of specifics.
          You need to be doing both, more or less at the same time.

          All things being equal, the fewer the polygons you are using the better. In the case of the house posted by juguefre, there is a lot of visible detail on that house, once normal maps are applied. While it's true that normal maps can't replace actual geometry, but in a lot of places, it can fake it pretty well.

          Also keep in mind that polygons aren't everything. While you have have a grass texture applied to a simple "cross mesh", while there aren't that many polygons (4 to be exact), the material may cause performance issues because of the alpha channel or masking issues.

          You should also consider modular mesh design as this will help you reuse static meshes. While a static mesh used in a level has it's benefits (over BSP), static meshes really "shine" when you can instance (use over and over again) in a level. If designed right, you can even used different materials on the same mesh.

          Just some food for though (and eating).

          Comment


            #6
            At the level of detail I'm trying to work with, ideally the LOD of the mesh that juguefre posted would be used for distant, off-map houses. The playable area of the map I'm building is a portion of a neighborhood spanning several houses, and there will be boundaries both hard/soft, and lower detail distant objects will be needed to represent off-map buildings.

            Some bits on modular meshing.
            - There are two specific houses where it'd be nice if I have the option to model out their interiors in the future; I will likely just do specialized meshes for these and use a modular set for everything else.
            - Two issues: inset geometry (i.e. doors/windows) and accuracy to real-world objects. Perhaps I could save a lot of polys and # of meshes needed by creating the windows/doors as objects that don't actually inset, but this would be quite far off from how it is in the real world. (An issue for places where the player will be close to a door or window.) This will play a big role in how the set pieces are done.

            Anyway, I've done a bit on on other models that will later be needed, but texturing/UV-ing will be completely different from what I'm used to. I suppose geometry always comes first though, and I can worry about the rest later.

            Comment


              #7
              You need to think of a game level similar to that of a movie set. Everyone knows it's a set, but when the person watches the movie, if they can't tell it's one, then you have done your job.

              Keep in mind that if any part of the mesh is seen by the "player", the entire mesh is rendered. For a house you go into, you don't want the exterior and interior part of the house to be one mesh. Having it one mesh can also cause issues with texturing it, unless you use multiple material slots.


              Also, if there are open gaps in the mesh and the player can see into it, I don't think the mesh will be able to occlude other geometry.

              Comment


                #8
                Thanks for the heads up on creating mesh sets/pieces. I spent most of today breaking up the house model and now it is much, MUCH easier to make small corrections to proportions of various parts. Here's what I have at the moment:



                Each separate mesh has it's own color. Objects in black or grey are not important at the moment and are just side work I'm doing. (The black face on the light green mesh is there because I'm going to make windows and geometric detail on it.)

                Now, because Odedge mentioned that each mesh is rendered in its entirety regardless of which parts are visible, I'm inclined to break things up further than they are right now. For example, the garage doors can go as a separate mesh, as can the roof pieces of the pink, light green, light yellow, and red sections. The light blue part will have to be broken up later because the upstairs-back of the house is made of wood paneling instead of brick.

                Next, I'm going to refer to what I asked in the OP about the arch geometry. If I break up the geometry in the way I mentioned, I will be able to keep the texture set very small, to a set of simple textures. If you look closely at the first picture, there's a section I never drew green lights over, and that is where the brick pattern changes near the ceiling of the archway. If I break up this geometry as it's own separate polys, I will be able to tile the main brick texture more easily. If I don't do this, I will have a collection of rather large brick textures; one that includes the main brick pattern and the array of bricks on top, another that includes the top of the arch, and another that includes the bottom. I guess the bottom line is that I have to have a balance of extra geometry versus building things in a way that require textures to stretch over large surfaces.

                Last is inset geometry for doors and windows. Having non-inset doors/windows allows me to swap doors and windows more easily, but having them inset is somewhat more realistic. Right now I'm drawn to having inset doors and outset windows, but even this will severely limit set piece versatility or at least force me to break up pieces further. Hmm...

                Comment


                  #9
                  Each house looks reasonable in regards to breaking it up into smaller pieces. Regarding rendering polygons, it's hard to say because if you use advanced materials with normal maps, polygons won't be an issue.

                  The other concern is your texture space and how big the resolution can be. the way you are doing it now (many meshes per house), allows you to have higher quality textures because each mesh can use the entire texture space.

                  If you haven't done much UV mapping, you might want to at least finish one house. Model it, create the UVs for the diffuse texture and UV lightmapping (if you plan on doing this), learn to make collision, and create your textures.

                  This way, you learn the entire process and if something comes up that would make you change your modeling techniques, you don't have to waste more time "fixing" all of these models you have already made.

                  Comment


                    #10
                    Well, I spent the last few days learning how to use the Unwrap UVW modifier (should've done that a while ago), and importing my first static mesh into the game. Nope, not the house (still have a ton of work to do on detailing it), but a solar-powered garden lamp instead. Unfortunately, I have several issues to work out on it, despite the object being quite simple.



                    At the moment, I am trying to figure out how to fix the object's pivot point within UDK. The reason it's off is because I have all my meshes thrown together in one scene in Max, which I prefer to keep that way. For the lamp itself, I may decide to work out the normal map to make it more realistic, but I'm leaning on ignoring that and leaving it as is. I have a more urgent issue at hand, and that is that the renderer is not handling transparent materials very nicely. A picture on the problem:



                    The other problem shown is that I can't get the transparent part to look anywhere close to being like the reference even with distortion mapped on. You'll also notice that the glass/transparent part is only single-sided; this was done by design because theoretically, if the distortion effect is working correctly, the other side of the glass should not matter at all.

                    Perhaps I should separate the transparent from the rest of the lamp since transparency is only needed for a fairly small part of it. Alternatively, I can go with an opaque material and get some environment maps on there which would actually be better. (Because I also kind of need an environment map on the solar panel as well.)

                    I'll be spending the next few days looking over this and figuring it out, but replies/thoughts are appreciated as always.

                    Comment


                      #11
                      The pivot point is simple. You just need to place the mesh at the 0,0,0 coordinates in Max before exporting. This will be your pivot point in UDK. In the UT 3 editor, there is a way to change your pivot point, but it's kind of a pain.

                      As for the other issue. While I haven't actually done this, is there a way to create a mask of sorts for the distortion? This way, the distortion only happens in the translucent areas and not the entire material.

                      Comment


                        #12
                        I'll be looking up how to change it in UDK and see how it goes, as I really prefer everything in Max to be together in one scene instead of hidden around each other and/or placed all around Max's world origin.

                        As for the transparency issue, I'm finding that the problem occurs whenever I use the BLEND_Translucent mode even if I plug in a constant of 1 into the Opacity value, or if I don't plug in anything at all. If I use BLEND_Opaque, the problem doesn't occur at all. Will see what I can search up for on this issue.

                        Merry Christmas/Happy Holidays.

                        Comment


                          #13
                          I'll be looking up how to change it in UDK and see how it goes, as I really prefer everything in Max to be together in one scene instead of hidden around each other and/or placed all around Max's world origin.
                          Just move 1 object, export, CTRL+Z, rinse and repeat.

                          Comment


                            #14
                            ^ That's what I ended up doing.

                            Anyway, the project's been progressing slowly. I sometimes take a lot of time off to finish Skyward Sword, but I'm getting done what I can. Just installed an educational licence of Mudbox today and I will be working with it in the future come character modeling time.

                            Another question if you guys don't mind. A few days ago, I finished modeling a wooden pallet. The modeling is, of course, easy as cake, involving stacking cube primitives together. However, I'm not sure on most people's preferred ways to get the nails in. There are a few approaches that I'm aware of.

                            1. Quads. Layer individual planes with a small nail texture (with alpha masking) over the areas where the nails go.
                            2. Put the nails into the wooden texture and UV accordingly. (Or perhaps it's the other way around.)
                            3. Use some sort of decal system to put the nails on.
                            4. Multi-layer texturing. Use one map for the wood and the other as a large map containing the nails where they ought to go.

                            I went with the first approach and here's a picture of the model I have:


                            Advantages/disadvantages to all 3 approaches that I'm aware of:
                            1. Requires extra polygons and one additional material draw call, as two separate mats are used. However, this allows the wooden texture to be tiled, which in turn saves texture memory and squeezes a lot more detail into the thing. It also leaves the wooden and nail materials to be reused elsewhere.
                            2. Requires more work to do the UV's, and the texture can't be tiled as effectively, along with a little bit less control over where the nails go. Both textures are far less reusable.
                            3. Not a single clue how to do this outside of UDK. Inside UDK, it could be a waste of decals as the scene will need many for bullet holes (or in my case, water splashes) and other things.
                            4. Unless there's a way to mask the wooden texture's diffuse and normal,, this won't look nice. However, I'm certain that that won't be a problem for UDK's material editor. The main disadvantage then is that the texture/mask for the nails will be very spread out and have a lot of wasted pixel space.

                            Any input on this would be appreciated as always. In the meantime, I'll search up what I can find on the issue.

                            Edit: December version of UDK has texture painting for static meshes. Worth a look at least even if it doesn't seem to be designed for decal sorts of uses.

                            Comment


                              #15
                              I think #2 would be the best option. I think your advantages/disadvantages are spot on.

                              I don't think nails are worth any extra quads/triangles.

                              Since a pallet is fairly simple, I think you can use the wood texture wisely enough to have few repeating textures (with the top planks and nails), but still use other parts for the parts of the pallet that don't have nails.

                              I have never been a big fan of decals, especially for something this small.

                              If I understand #4 correctly, you want to combine 2 textures (like a LERP), but if that's correct, you will have to mask the nail texture and it might be a pain to do this.

                              Comment

                              Working...
                              X