Announcement

Collapse
No announcement yet.

Right Way to map a city street?

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

    Right Way to map a city street?

    I know I'm just not going about this the right way, but it seems others are making mistakes as well.

    We've got a few "In-Town" type maps for the LawDogs mod and they all seem to suffer from bad performance, some worse than others. I can't think of a way to map an entire street, buildings down both sides, and keep the FPS above 60.

    Anyone have any suggestions or ideas?

    =LD

    #2
    How are you doing the buildings? Static meshes or mostly BSP? Can they all be entered or are some of them 'dummy' fronts? If they can all be entered, you can try zoning them, but you have to be creative with recessed doorways and closed windows, otherwise someone standing in the street can see into several zones. If there are dummy ones, you can add antiportals inside them, that should occlude some of the other buildings from the worst angles (ie looking along the street).

    Comment


      #3
      Make sure the textures are .dds format. I made this mistake when I first starting making streets with lots of buildings along the sides. Used .pcx and since the file sizes were much bigger, it cut my frames down to about 10-15. I also use a little bit of fog which helps. All the buildings on the street are bsp and I get about 120+ on my average pc.


      Comment


        #4
        The buildings are bsp with static mesh decoration like awnings, window and door frames, etc. You can enter every building, but they are separate zones. There are antiportals in the sides of the buildings that do help some.

        If you look at the last 4 images it gives you a good idea of what I've got so far: http://alexmond.tripod.com/rbs/3dstuff/ldlevel.htm

        It doesn't look nearly as complex as C+R Combo's level so I dunno what the deal is. I'll definitely check texture compression. Does tiling the texture more often affect FPS as well?

        Thanks for you help!
        =LD

        Comment


          #5
          Try adding some fog into that level. I'm positive it will bring the frames up. I don't think tiling the texture would increase/decrease anything performance-wise but I may be wrong. Also, if you're using spolights, that may be the culprit.

          Comment


            #6
            modeling city streets starts with figuring out how you are going to occlude everything.

            make a very old european layout, i.e. no grid system...

            its much easier when your streets meet in "T"s every so often so you can put occluding stuff within the building that makes the "T"

            depending on your layout, if its nice and tight with the illusion of openness, you might be able to carve out the BSP hallways of your town and zone it all off. depending on the openness and size of course.

            lots of antiportals is a BAD BAD thing. dont think that putting tons of antiportals will help. in your "occlusion buildings" you want a large semisolid/unlit/invisible BSP brush to begin with. this helps with NETWORK occlusion. players on the other side of the BSP wont be updated as much and open maps can be better optimized.

            then make an antiportal volume in the same spot, just make sure its larger so the BSP doesnt occlude it

            and, in general, its always better to use a VOLUME antiportal than a BSP antiportal. every time your BSP is cut, it becomes another antiportal, the the BSP seams wont combine to occlude objects. basically BSP antiportals are evil

            cull distance is your friend. set effects and meshes to have a proper cull distance value. if all these tables and chairs within a building cant really be noticed from far away, figure out a good distance and under the display properties, set that distance in the "culldistance" field.

            the easiest way to do that is to figure out where you wont miss seeing that particular mesh or effect. open up the editor, hold ctrl+shift+middlemouse drag from the object to the point you were standing to get the unit distance. the ruler... rules

            you can also cull-out antiportal volumes with distance. so, if close up, an antiportal in a stack of barrels might be a good idea, but from 5000 units away, its so small that it doesnt really matter anymore. cull it out

            good old zoning, BSP network occlusion, antiportals, cull distance, and minimal texture usage help in big open maps.

            Comment


              #7
              Originally posted by -=¤willhaven¤=-

              lots of antiportals is a BAD BAD thing. dont think that putting tons of antiportals will help. in your "occlusion buildings"
              Ok so I have a city that is ONE zone. How many 'antiportals=BAD', are we talking here? Will fog/cull distance occlude APs?

              I'm neck deep into a very large city project so this is a topic close to my heart. With every building added I keep a close eye on the FPS. So far so good. As you can see I'm way ahead of you on the non-grid/european layout idea.

              My fog starts at 10000 and ends at 24000. this way only two islands are visable at one time. Also it gives the city a creepy feel.


              Note- one off the first thing I noticed about ViceCity is the non-grid street system. And if a street went on long it would snake back and forth so you couldn't see down a long way.

              Comment


                #8
                im not sure exactly how many antiportals are bad. but if you do a stat render, some of the visibility times can give you a clue.

                if you have too many antiportals, you spend more rendering time trying to figure out what to render than you would if you just rendered everything in the scene.

                keeping the numbers as small as possible and making your antiportals large is a good thing.

                its hard to give you a bearing on what would work in your level with just an overhead shot

                Comment

                Working...
                X