Jump to content
The Dark Mod Forums

Need help!


Darkman

Recommended Posts

Hi guys!

 

this time i need some help with an occured error...

 

when i dmap my (unfinished) fm, this process lasts as long at it does usally - BUT: in the end, i get an error (which prevents from mapping after dmap; however, loading the map with dark radiant is still possible) which says something like "error: more than 2048 collision models".

 

background info: i have very few REAL models/entitys yet, but a lot of converted entitiys (func_statics, based on patches/brushes).

 

any ideas what to do now? my idea would be to merge some of the func_statics... but this would mean on the other side lead to some kind of unnecessary performance-requirement (on several positions, func_statics which are inside (!) the main building are rendered when standing outside)

Link to comment
Share on other sites

i think you could select similar func statics, just revert them to world then back again to func_static.this is just 3 clicks, no need to reselect things.

 

!Note: Bordering brushes should not be converted to func_static as its like a leak!

Link to comment
Share on other sites

brushes that seal agains the void, or seal off internal areas that you visportalled. Visportalled areas should be sealed just as well as you do with the whole map, such leak is called an internal leak and leads to visportals not working properly , thus performance drop.

 

EDIT:

 

Also one thing to check. func statics are determined where they belong based on where their origin is, set it so it's in the correct room. Func_statics that has their origins out in the void are Leaking!

Edited by _Atti_
Link to comment
Share on other sites

Have you already separated your map with visportals? It sounds like you've got one giant visleaf with enough worldspawn and func_statics to add up to 2048 mapname.cm collision model primitives.

 

This happened to me in NHAT 3/3, when the forest-o'-thousand-trees didn't have *any*visportals.

yay seuss crease touss dome in ouss nose tair

Link to comment
Share on other sites

yes, it is visportaled. and even if one or a couple of visportals would leak, there wouldnt be too much func_statics/model in any area (not even close 2048; i would guess that as the time of wirting this, there is no area which includes more that even 200).

 

seems as if only merging bunches of close func_statics will help here. but i hoped that i could avoid this, because - as i said - some entitys are rendered through walls. And the more func_statics are connected to such single "malifunctional" func_statics, the bigger becomes this kind of wasted performance. Sounds like leaking areas but there should be no leak: other, smaller, models that are in the same area like those unnecessary rendered func_statics seem to be NOT also rendered (what is correct, as they are also in an not-rendered area)...

 

problems over problems... this map starts to suck -.-

Link to comment
Share on other sites

Feel free to upload the map and let us take a look at what the problem is smile.gif

Makes it easier on both sides

 

would be very welcome! :)

 

i guess i will to this within the next 24 hours (it´s late here). anyway, i just have to learn how/where to uoload the files - would you recommend a generals upload of pm´s? and as a pk4 or "as it is" on the hdd at the moment?

 

however, good night all (as i said, it has become late here wink.gif )

Link to comment
Share on other sites

The 'too many collision models' error sounds like too many moveables entities. Try reducing those by converting some to func_statics, eg, chairs, plates, etc. I don't know of any way to count those unless you have some kind of text editor that can do a search and report how many occurrences of "classname" "atdm:moveable there are.

Link to comment
Share on other sites

The 'too many collision models' error sounds like too many moveables entities. Try reducing those by converting some to func_statics, eg, chairs, plates, etc. I don't know of any way to count those unless you have some kind of text editor that can do a search and report how many occurrences of "classname" "atdm:moveable there are.

 

i´m afraid thats not the problem here, my map - at this time - includes to 99% worldspawn-brushes and converted (->func_static) brushes+patches. i dont even have more that 10 doors at the moment laugh.gif

 

i will try uploading files later this day, no time within the next hours.

 

 

my latest theory is: while same (real) models share the same clipmodel, converted func_statics always get an own clipmodel at the very end, even if some of them have the exact same size/shape. so, the massive use of func_statics (which i did NOT merge) seems to lead to a massive count of clipmodels (darkradiant counts about 1800 func statics). would be kind, if somebody could comment this theory.

 

as is said earlier, i did not merge them for a certain (renderer-based) reason. in terms of this, i figured out, that about 95% of the situations, where func_statics are rendered through sealing walls (note: wiki only says, this can especially happen when using large sized func_statics), occur next to such walls/roofs, that are ~rotated. so, a simple vertical wall, that points from south to north or east to west, is ok. but f.e. a vertical wall with the same thickness, that points from north-east to south-west, is NOT ok.

 

so maybe, i should change level-geometry a bit (no ~rotated walls that seal areas) and then merge close bunches of entitys. but this is an issue for later this day wink.gif

 

anyway, thanks for your help this far!

Link to comment
Share on other sites

update: darkradiant DOES count more than 2400 func_statics (~2800)...

 

i could upload the map per radidshare but this would require to select the e-mail adresses, which i of course dont have...

 

here is the download link:

http://rapidshare.com/files/394082790/DEBUG.map.html

http://rapidshare.com/files/394082791/DEBUG.darkradiant.html (<- didnt know if this was necessary too)

 

feel free to dmap this... if u CAN -.- (but beware, it will take a lot of time to compile)

 

 

just for info: all textures were customized, so i substituted them with random originals. this means, all worldspawn-brushes are textured with brown wood, while all funcstatic ware textured with bright wood. most models will appear dark (doesnt matter here).

Edited by Darkman
Link to comment
Share on other sites

Pretty trippy to get my head around this map in a few minutes, but I see what's wrong.

 

Gimme 20 min to modify and test the compile works and I'll upload a 'fixed' version and explain the changes.

 

 

no need to hurry that much, there is no deadline :)

Link to comment
Share on other sites

Ok, download the fixed debug version first. Extract it somewhere that you wont overwrite your version.

 

Load the map.

Make sure you dont have anything hidden, then hide "World Geometry" and "Brushes"

Open the Layer tool (ctrl+L)

Hide all the layers except for "Underground"

Select a single pillar

Notice that the whole rooms worth of patches is selected.

 

Pretty much all I've done is take each room and convert all the patches used to give it detail into a single entity.

To do this with your version of the map I would separate all the levels into different layers and hide everything that isnt a patch. One layer at a time, group all the rooms by selecting all the patch entities then right click and merging them together.

 

If you select patches outside the room, keep the select and just right click and convert to worldspawn then unselect whatever you had extra and convert the selection back to func_static.

 

So in short you need to combine your patch entities into entities that have more than one patch. (i.e one entity per room is quite nice to work with!)

 

Once you have done that, the map will compile and run, however I _strongly_ suggest you do the same thing for brushes (this time if you hide patches and unhide brushes you will see what I mean!)

With brushes you do the same thing, combining all the steps of a staircase into one static, for example.

 

Just remember if you run into performance issues later on, its a good idea to use normal caulk on the surfaces of these entities which will never be hidden.

 

Hope that helps, my explanation isn't great - if you need me to explain anything just say so!

Link to comment
Share on other sites

first of all, thanks for your effort, serpentine!

 

now in detail (if your are interested):

 

the BAD side of news is, that i once had entitys merged the way you suggest but separated them then cause of having many and big entitys rendered from the outside then (unnecessary but unfortunatelly the game engine's choice). floowing your suggestion would lead to repeating this...

 

the GOOD side is: comparing your "fixed" map with my original map showed me a new/different solution: only few very special func_statics seem to be rendered from the outside (when merged to further entitiys, they are also rendered). so, if i merge in each room all "correctly working" entitiys to one and all "trouble making" entitys to a second entitiy... then this should lead to a massive reduction of func_statics (far, far below the limit), while at the same time only the few merged "trouble making" entitys are rendered from the outside (and not ALL entitiys in the same room).

in few words: no perfect solution but VERY acceptable, as it reduces the clipmodel-count easily below the limit, while the number of unneccessary polygons is reduced to a minimum).

 

thank you so much, i was not far away from giving up this whole editing! and of course, thanks to all other who showed in here, too! smile.gif

 

 

ps: do layers have any sense beyond performing some customized "filter" while in editing mode? or do they also make any difference while ingame?

Edited by Darkman
Link to comment
Share on other sites

Yes, having many hi-poly patches in one visleaf will certainly draw enough collision models to make any engine choke.

 

I'm downloading your map now to take a look at other possible causes.

yay seuss crease touss dome in ouss nose tair

Link to comment
Share on other sites

Yes, having many hi-poly patches in one visleaf will certainly draw enough collision models to make any engine choke.

 

fortunatelly, the "trouble making" entitys (like i called them), which are unnecessarily rendered through sealing walls, are in 90% of such cases entitiys with a LOW poly count (the integratet high-poly-entitys in my map do nearly all work correctly) :)

 

but please, let me know if u gain any further suggestions/ideas!

 

 

ps: in the testmap (different from the original), there are no visportals - i forgot to hide them when replacing mine with the "old" textures (so they became walls now). However, just believe me, that this does neither solve the performance-/clipmodelissue, nor does it drive things worse.

Link to comment
Share on other sites

Hey Darkman,

 

I cant say that I checked with r_showtris 3, but I do know what you're talking about.

 

What will happen is that once you form a visleaf, separated by solid brushes or visportals, any entity touching these 'sealing' brushes will be included into the visleaf. That is why trim from one room will be visible from a nearby room. This usually only happens if the entity has something that either touches or intersects with the sealing brushes, however sometimes a stray vertex can make it seem disconnected.

 

I think the most noticeable performance hit you are talking about would be that if your wooden beam brushes are grouped as entities, and as you already figured out the solution to this by seperating these 'touching' entities into something separate, you should be more than fine and in my experience this is actually the best solution :)

 

So in your case, I'd only focus on the 'bad' beams that show up when you're in one of the outside areas, looking for them inside shouldn't be a major concern.

 

Good to hear it helped!

Link to comment
Share on other sites

update:

 

finished "reorganizing" func_statics.

i have an much lesser amount of them now, far below the limit (dmap/map works again), while having a minimum of wasted performance (i would say, in the worst positions, max 500 polygons are unnecessary computed - thats almost nothing).

 

thanks again for your time, guys! rolleyes.gif

 

 

/closed

Edited by Darkman
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
×
×
  • Create New...