Please Help

Rendy_CZechRendy_CZech Life is a Koan Join Date: 2003-10-11 Member: 21608Members
edited December 2003 in Mapping Forum
<div class="IPBDescription">I need expert advice</div> Ok here is my bsp log
<!--c1--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>CODE</b> </td></tr><tr><td id='CODE'><!--ec1-->

Object names  Objects/Maxobjs  Memory / Maxmem  Fullness
  ------------         ---------------           ---------------         --------
models              140/400             8960/25600              (35.0)
planes           47036/65535     940720/1310700          (71.8)
vertexes        30581/65535     366972/786420            (46.7)
nodes            13475/32767     323400/786408            (41.1)
texinfos           8889/32767     355560/1310680          (27.1)
faces             20245/65535     404900/1310700          (30.9)
clipnodes       21021/32767     168168/262136            (64.2)
leaves             7767/8192      217476/229376             (94.8)
marksurfaces 29436/65535     58872/131070             (44.9)
surfedges      93424/512000 373696/2048000           (18.2)
edges            52713/256000 210852/1024000           (20.6)
texdata             [variable]       13600/4194304            ( 0.3)
lightdata            [variable]              0/6291456            ( 0.0)
visdata              [variable]               0/2097152            ( 0.0)
entdata             [variable]        54877/524288            (10.5)


<!--c2--></td></tr></table><span class='postcolor'><!--ec2-->


As you see I have almost reached the "leaves" limit.

What leaves are exactly ?
How can I lower them ?



PLEASE HELP MEEE !!!!! <!--emo&:(--><img src='http://www.natural-selection.org/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->

Comments

  • quazilinquazilin Join Date: 2002-11-25 Member: 9880Members, Contributor, NS2 Playtester, Squad Five Blue
    Thats a hard one...
    If leaves are known as leafs this what I found from the Tommy14 mapping error list.

    <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->
    Max_leaf_faces:

    You have gone over a limit similar to max patches error, but by BSP creating too many leaf faces for VIS to handle - probably due to "shattering" of a brush. Did you carve a complex brush (like a cylinder) or intersect it with another brush?

    Exceeded MAX_PATCHES:

    When hlrad runs, it takes all the visible faces in the game, and divides them into sections called patches. These patches are the textures used as the lightmaps for the world. There is a hard limit of 65535 patches that hlrad can deal with. By default, a 64x64 game unit chunk of space is the size of one patch. If the texture scaling (not texture size) is larger or smaller, it will directly affect the lightmap size as well. This means a texture with scale of 2, will have at best 1/4th as many patches as a texture with a scale of 1.

    Putting a 'box' around the level to protect from leaks is the most commmon cause of this error, beyond excessively large maps. The box causes vis to keep the faces on the outside which would normally be thrown away. These faces are then required to have lightmaps. Worst case, is that putting a box around the level will usually cause an extra 40-80% more lightmaps to be created than necessary.

    Barring having a box, the other cause is large maps. The fixes are varied but can only help so far. Using -chop values larger than the default 64 for hlrad will cause the lightmaps to be larger. However, for values larger than around 96 the lightmaps start looking bad, and will more prominently show the 'staircase' effect on shadows. Using a larger scale on large textures (dirt, rock walls, concrete) will help those large surfaces consume fewer lightmaps.

    <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
  • WolvWolv Join Date: 2002-01-25 Member: 56Members
    IIRC leaves are the 2D planes seperating nodes. Nodes are 3D spaces that together define the level.
    I don't think you should get close to the leave limit, unless your map is humongous or contains evil mapping (hollowed box to prevent leaks, 21 sided cylinder rotated over a 23° angle carved from a 25 sided cylinder, that kind of work).

    Some methods that may help reduce the number of leaves:
    <ul><li>Turn complex, non vis-blocking geometry into func_walls
    <li>Increase the nodesize by adding "-maxnodesize xxxx" to the hlbsp command line, where xxxx is a value between 1024 and 4096, for example 2048.</ul>
  • BlackPantherBlackPanther Join Date: 2002-02-11 Member: 197Members
    Yeah leave are that... since it goes in sync with the term "BSP TREE"
    Means you're getting too close to having the max number of nodes.

    Like WOLV said, just take one of your complex rooms with a lot stuff, select a bunch of architecture brushes which are close together and turn them into func_walls.

    this may cause some r_speed increase if you put too many at onces in the same func_wall.

    Trial and error method here <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
  • Rendy_CZechRendy_CZech Life is a Koan Join Date: 2003-10-11 Member: 21608Members
    edited January 2004
    Have leaves something to do with HLVIS ? (I think they do). I've tried that thing with func_wall but doesn't help me , -maxnodesize too <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo--> .

    Isn't somewhere tutorial witch explains everything about leaves ?

    I'm not using sky box around the map. Leak I have filled. Probably my map is huge, but I dont have problem with other limits. Only **** leaves <!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html/emoticons/nerd.gif' border='0' style='vertical-align:middle' alt='nerd.gif'><!--endemo--> .

    I'm really despairing, if someone want to help me I will send him .map file ....
  • CageyCagey Ex-Unknown Worlds Programmer Join Date: 2002-11-15 Member: 8829Members, Retired Developer, NS1 Playtester, Constellation
    edited January 2004
    <!--QuoteBegin--Wolv+Dec 29 2003, 06:59 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Wolv @ Dec 29 2003, 06:59 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->IIRC leaves are the 2D planes seperating nodes. Nodes are 3D spaces that together define the level.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
    Other way around <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->

    Short description: Nodes are branches of the BSP tree that chop up 3D space, and leaves (sometimes referred to as leafs in the documentation and code) are the end nodes of the tree (like green leaves on real trees). Each leaf describes a space inside the level (solid/liquid/empty, ambient noise levels, coordinates for frustrum culling).

    One way to think of the relation between nodes and leaves: each wall's information is stored in one or more nodes -- the wall, like the nodes, cuts the level. Each room's information is stored in one or more leaves -- the room, like the leaves, is a 3D space that's left over when all of the walls (nodes) have been added.

    Clipnodes are nodes for the clip hulls. There are no "clipleaves" -- the only information the engine needs about 3D space in clipping hulls is the content type of each volume, which is stored as a single number in would-be clipleaf's parent.

    <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Some methods that may help reduce the number of leaves:
    <ul><li>Turn complex, non vis-blocking geometry into func_walls
    <li>Increase the nodesize by adding "-maxnodesize xxxx" to the hlbsp command line, where xxxx is a value between 1024 and 4096, for example 2048.</ul><!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

    This still applies to leaf reduction and is good advice. In addition, brushes that "stick out" into rooms and hallways actually chop those areas into multiple leaves; each leaf must be a convex polyhedron. If you remove items that are at odd angles or stick out of walls (or turn them into entities like Wolv suggests), it should reduce your leaf count (but the new entities will add back to the count again slightly, since entities also are made up of sections of 3D space). HINT brushes can also help by telling the compiler to avoid cutting up a room -- filling a room with a HINT brush will cause the tools to cut that room last, reducing the chance of it being divided into extra leaves.

    The 8192 leaf maximum is aggravating, but it's not a limit I can increase in the tools. Half-Life assumes that the level has at most 8192 leaves when it's calculating visibility at runtime. VIS checks to see what pairs of leaves can "see" each other without being blocked by walls; this information is used to speed up the game.

    P.S. - In the future, please mention your exact problem in the thread title; it increases the chance that someone else with the same problem will find the answer they need.
  • Lt_GravityLt_Gravity Join Date: 2003-04-28 Member: 15909Members
    <!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Some methods that may help reduce the number of leaves:

        * Turn complex, non vis-blocking geometry into func_walls
        * Increase the nodesize by adding "-maxnodesize xxxx" to the hlbsp command line, where xxxx is a value between 1024 and 4096, for example 2048.<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->

    I have this serious problem myself. max patches error to be exact. will this line help it? cause I cant think about reworking my whole map (which is quite big) only because this stupid error. shure, we all have unnecessary brsuhes, but reworking,.... omg that would take months! besides: is there a hint to determine the number of patches?

    hl mapping isnt that hard. but ns drives one mad!!!
  • Rendy_CZechRendy_CZech Life is a Koan Join Date: 2003-10-11 Member: 21608Members
    I'm forced to abbandon the map. I have no chance to rework it because I'm too much above the limit <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->

    Good bye NS_Hulk ....
  • WolvWolv Join Date: 2002-01-25 Member: 56Members
    <!--QuoteBegin--Lt.Gravity+Jan 6 2004, 12:10 AM--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (Lt.Gravity @ Jan 6 2004, 12:10 AM)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> I have this serious problem myself. max patches error to be exact. will this line help it? <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
    Only a little, at best. The solution quazilin gave earlier for MAX_PATCHES will work better and easier, especially the -chop one, although visuals may suffer (a little hopefully).
  • OlmyOlmy Join Date: 2003-05-08 Member: 16142Members, NS1 Playtester, Contributor, NS2 Developer, NS2 Map Tester, Reinforced - Diamond
    How would restarting help? <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo--> You just need to make compromise, who knows, maybe its just some complicated brushes that are cutting each other up which is creating huge amounts of leaves, it happens.
  • EriasErias Join Date: 2003-08-17 Member: 19878Members
    You don't need to quit, you need to learn how to map more efficiently and economically... how to achieve the effect you want using the least brushes, entities, textures, complex geometry, faces, planes... otherwise you'll just encounter more problems in the future.

    I'm sure we all realize: mapping is a constant learning experience! <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->

    Anyways, perhaps you don't want to go through your map and start going to work on slews of brushes you thought you were finished with... then I guess you'll have to start over, or start something new. But take it from me, someone who has started and abandoned a mind-boggling number of maps: the next time around the result is always that much better.
  • Lt_GravityLt_Gravity Join Date: 2003-04-28 Member: 15909Members
    yeah... learn...
    one thing I never will get into my brain:why is the hl engine so terrible unpredictable??? WHY OH WHY!!!
    when I once looked at a finished room, I realized... yes, it looked good. but the speeds were incredible high for such few architecture. so me watched te area with gl_wireframe 1.... and nearly got a heardattack!
    the vising splitted the whole in half, double faces were the result. and it didnt stopped where I "fitted" brushes. nono. it clipped nearly each brush.

    first the r-speeds restrictions. after some trainig it was possible to create rooms with a fewer than 600 faces. I was happy... till this new error occured. the weird thing: since I combined all the rooms I get an additiv leaf-error that moves when I fix the architecture in this areas.... I dont know any further...
  • Rendy_CZechRendy_CZech Life is a Koan Join Date: 2003-10-11 Member: 21608Members
    I know about U are speaking, HL maping is survival horror ... <!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html/emoticons/nerd.gif' border='0' style='vertical-align:middle' alt='nerd.gif'><!--endemo-->
  • HyperionHyperion Hyperion2010 Join Date: 2003-10-06 Member: 21477Members
    edited January 2004
    use hint brushes they should help to reduce the inefficiencies in hlvis, and therefore lower the total number of leaves (some moreknowledgeable person correct me if im wrong) hint brushes basically create the 2d and 3d spaces for vis, and as i said earlier also may reduce the inefficiency in hlvis (again correct me)

    EDIT: I might be able to help with the hint brushes, if you want someone to help you...
  • EriasErias Join Date: 2003-08-17 Member: 19878Members
    Yeah, HINT brushes can do that, but usually I find them unpredictable as well. I usually just try to make my architecture not make VIS do anything stupid to begin with (a difficult feat.)

    Still, sometimes the engine is nice, and surprises me with little presents.

    I did a little tweaking in my Marine Spawn, actually <i>addeding</i> detail and brushes... when I ran it in-game, one viewpoint had almost <i>50 less</i> wpolys! It didn't make any sense, but who am I to complain?

    In another room I made, I was expecting terrible r_speeds, due to lots of detail, scaled-down textures, and a curved wall. In-game, it was only like 300-400 wpolys... gl_wireframe showed that for some reason the usual nasty hacking and slashing of faces didn't really happen.

    Perhaps I'm getting a sort of sixth-sense feel for how to design a room and not have the compiler shatter it into oblivion. Perhaps I'm getting more skilled than my humble soul admits...

    I think I'm just lucky. <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
  • Lt_GravityLt_Gravity Join Date: 2003-04-28 Member: 15909Members
    all this doesnt help really, with hint brushes i get a "you mixed textures" error, meaning that I used normal textures and hint textures on ONE solid.
    .... I dont know any further. seems that I have to redesign THE WHOLE MAP!!! see you guys in one year... no, serious, this will take months! <!--emo&:(--><img src='http://www.unknownworlds.com/forums/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif'><!--endemo-->
  • EriasErias Join Date: 2003-08-17 Member: 19878Members
    That's right, you can't mix faces on certain types of brushes (like hint brushes.) This is built intentionally into the compiler. You can, of course, texture an entire brush with HINT.

    A face on a brush textured with HINT will split vis along that plane, and if you don't want a face on a hint brush to split vis, texture it with the SKIP texture. A hint brush, of course, is gone when you run the map, it doesn't show up or anything.

    Oh yeah, and as everyone will yell, there are a zillion HINT tutorials out there, and threadage and linkage galore on these forums about how to use HINTs. Searchie searchie! <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo--><!--emo&::nerdy::--><img src='http://www.unknownworlds.com/forums/html/emoticons/nerd.gif' border='0' style='vertical-align:middle' alt='nerd.gif'><!--endemo-->
Sign In or Register to comment.