1. Forums
  2. Discord
  3. About Mapcore
  4. Patreon Supporters
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • More Options
  1. Mapcore
  2. Discussions
  3. Level Design

BSP-Style level construction tool for Unity

  • sixbyseven
  • October 10, 2012 at 7:43 PM
  • Skjalg
    • October 12, 2012 at 8:31 PM
    • #21

    Awesome write up Warby. That must have hurt like hell for you typing that up.

    I agree on all points except the last bit about unity should have shipped with this functionality as I think that would take away from the fact that unity is made to work however you like and don't force you down a path of how to make your levels.

  • sixbyseven
    • October 12, 2012 at 8:56 PM
    • #22

    Thanks for the solid input Warby- I'll have a solid response in a sec, busy atm. You will like the answers, I believe. In a nutshell- ProBuilder 2.0!

  • sixbyseven
    • October 12, 2012 at 9:59 PM
    • #23

    Okay, proper response:

    -PERFORMANCE: you are 98% correct, and this is a (if not "the") major focus of v2.0. Currently, Unity will batch all static meshes that have the same material, down to one drawcall. So, and I've tested this, 3000 boxes with 18,000 sides, will batch down to 1 draw call if 1 material, 2 if 2, and so forth. However, that all goes to (bleep) in a handbasket the instant you add in pixel lights, multi-drawcall shaders, and even lightmaps (though, that's a Unity bug). At that point, you end with applause-worthy drawcall numbers, and a lunchbreak between frames, heh.

    So what is being done about this? Well for one, in v2.0, there will no longer be the current method of seperate planes- all ProBuilder objects (hint: more than cubes!) will be procedurally-built meshes, and instead of seperate "planes" will employ sub-meshes for per-face materials. Yes, I realize a sub-mesh has the same drawcall hit as a seperate mesh, however it allows for much, much better batching and all sorts of other exciting things. Related to this, it means the ability to "collapse" groups of objects down to a single mesh object, prefab and instantiate that object, and even un-collapse that object for further editing! I am ridiculously excited for this There will also be "auto-collapse" groups the user can create, something like visleafs, wherein the user will designate a group of Objects to collapse into a single mesh at build-time (or when hitting the "Play" button, but NOT on "Start()", no in-game hit). Again, the submesh drawcall applies, but this shouldn't be a major issue. For example, if you make a pillar from 16 boxes and 2 materials, it will collapse to 1 mesh, with 2 submeshes, thereby 2 base drawcalls and some seriously fine texturing due to the tiling and control. Of course, a savvy builder would find a way to do such a thing with just 1 material, but just for example...

    -PRIMITIVES: absolutly- this is another feature I'm really, really excited for. Since v2.0 will create all it's geo procedurally, there will be cylinders, tubes, triangles, arches, stairs, and more, all with the ability to set resolution of the mesh and other options, just like good 'ol Hammer does it.

    -CUT TOOLS: here, I have to say...maybe. At the 3d studio I worked at till recently (http://www.studio2a.net), we called the Boolean tool "the evil one", and it was only used when there was absolutely zero other option. Clipping and cutting creates really, really nasty geometry when used incorrectly, and it's really easy to go crazy and do just that. In fact, on TF2maps.net, I believe they also regard it as generally evil and a no-no, except in very skilled hands. Personally, I never used it in Hammer, and never missed it. Oh, it also would be seriously tough to implement- but that part actually makes me WANT to add it in, ha, love a good challenge. So...maybe.

    -COLLISION: Could you link me the supporting docs on this? I was not aware of that limitation. Seems very odd, since everything in Unity is mesh-based. Perhaps I'll have to figure out a "build collision" that would build one collision mesh from multiple boxes. Very doable, with the new system. Generally though, I wouldn't expect people to create complex collision requiring many boxes with this- just like hammer, you should only be building simple player clips, ramps for stairs, wall collision, etc. This does sound an issue though, and thanks for bringing it up!

    -LIGHTMAPSPACE: Hmm. Wouldn't you would want to create multiple sections so the vis leafs could break things up properly? It's entirely possible that I remember that incorrectly, it's been a while since I worked in-depth with Hammer, sadly. Regardless, yes, some sort of merging/CSG/pre-calc would be great, that's partially where the "Auto-Collapse" groups are aiming. If you have any thoughts on how to best implement this, without going full-BSP (impossible for me technically, would infuriate and put off new users just coming in). Vis leafs and portals and hint brushes etc, I remember there was so much to optimizing in Hammer that it was just crazy as a newcomer. True, it did make for some amazingly efficient games/levels, but I hope to strike a compromise in the sweet spot- very easily usable with good enough performance for starters, but plenty of under-the-hood tweaking and optimizing available for those who know/care to really dig in and squeeze every last bit of FPS from the system.

    Thanks again Warby!

    PS, When I said (I think I said) "ProBuilder is being rebuilt from scratch", I meant exactly that- the ENTIRE code base is being scrapped for brand new. Even moving from Javascript to C# for every little performance boost and extra low-level capabilities. Also, I am honestly just an artist who wanted this tool so badly, I taught myself Unity editor scripting as best I could to create this tool to the best of my abilities, in a reasonable amount of time. For v2.0, I have found a "real" developer to do the heavy lifting, and build this thing proper- It's going to be a whole new beast!

  • Skjalg
    • October 12, 2012 at 10:17 PM
    • #24

    About the MeshCollider performance hit.

    We noticed it on ponh when we loaded in levels we'd get a huge spike right as the progress reached 100% and it turned out it was because we used meshcolliders on everything. Then we set out to replace what we could with primitive colliders such as box colliders and cylinder and it turned out to be a hell of a lot better performance wise.

  • sixbyseven
    • October 12, 2012 at 10:21 PM
    • #25

    Awesome, somehow I never dug into that- much obliged!

  • Warby
    • October 14, 2012 at 2:07 PM
    • #26

    PERFORMANCE AND SUCH: glad to see that you are on top of things and being an artist first before doing this ... thats even more impressive !

    CUTTOOL: when i am talking about cut tool i dont mean carving/booleans i mean this tool were you draw a line and it splits the brush into 2 along that plane as long as you do that on the grid its perfectly safe and the extrude functions from unreal are perfectly safe too. ... so yeah stay away from the carving !!!

    COLLISION: i dont think there is any documentation where unity warns of the dangers of mesh colldiers regarding physics fuck ups or async level loading we learned about it the hard way.

    LIGHTMAPSPACE: yeah this is a lesser issue because it can be bypassed by working more clean and to answer your question YES i would build a separate fitted ground primitive for every cooridor and room ( probably more than one for all sorts of trims and decorative shit on the ground ) .... but the average joe might not and than blame your tool if lightmaps get inffecient/lowres.... but really if it forces the noobs to become better .... than i am actually all for that ^^

    keep rocking man !

  • sixbyseven
    • October 14, 2012 at 4:17 PM
    • #27

    -Thanks

    -Ah, gotchya. Sounds like a good option!

    -Unity seems to have a lot of little pitfalls like this, heh

    -Okay, good to know I still remember!

    Some exciting updates coming soon, regarding 2.0 progress, will post when that happens

  • Froyok
    • October 15, 2012 at 2:43 PM
    • #28

    I saw this yesterday and this looks like an exciting tool !

    Too bad I prefer the UDK for my project, but prototyping with this would be very cool and fast.

    (I always feels that Maya and other 3D software could gain some cools tools just by looking at how Hammer create game geometry)

  • sixbyseven
    • October 15, 2012 at 5:07 PM
    • #29

    Thanks Foryok, I agree- Maya/Max/etc could learn a thing or two from Hammer!

  • Skjalg
    • January 25, 2013 at 11:32 AM
    • #30

    How is this coming along?

  • Kinky
    • January 25, 2013 at 1:42 PM
    • #31

    I just saw this for the first time and my jaw hit the floor.

    If it delivers ill never use Unity without it again.

  • Spherix
    • June 13, 2013 at 8:32 PM
    • #32

    Any updates?

  • sixbyseven
    • September 29, 2013 at 1:01 AM
    • #33

    Whoopsies sorry to drop off the map guys/gals!


    I, erm...well I kinda took a 3-month-motorcycle-trip-around the US


    Sometimes, you just gotta get away from the computer screen, ya know? Anyway, I'm settled in LA now (saw no point in going back to the midwest, once I made it to Cali). Back at the controls and ProBuilder is really coming along, plus some new things!


    Quite a few changes since back in June- we now have Extrude, huzzah! And rotate/scale vertices is working internally, not released yet. Vertex and face coloring, without extra drawcalls. Lots! I'm excited to get back to work...ironic. But good!


    The recent CS:GO Bravo posts are really making me excited to have more mapping contests soon...Halloween theme anyone? I know it's overdone, but still fun

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login
Discord

The Mapcore Discord is our lively IRC channel of the 2000s reborn. Chat about level design, gaming, and more.

Latest Posts

  1. Tangerine

    Harry Poster
    July 18, 2026 at 11:10 AM
  2. Any of the old guard still around? D:

    Warby
    July 12, 2026 at 8:23 PM
  3. About our archived forums

    Thrik
    June 30, 2026 at 2:12 PM
  4. Mapcore Discord

    mason_fan123
    June 24, 2026 at 8:52 PM
  5. [CS2] Valley

    Serialmapper
    June 22, 2026 at 11:56 AM
  6. Free Music / SFX Resource - Over 2500 Tracks

    Eric Matyas
    June 18, 2026 at 12:32 PM
  7. Pango [WIP]

    Elowen
    June 11, 2026 at 10:13 AM
  8. [CS2] Dvina

    Jeremy Rivera
    June 11, 2026 at 10:03 AM
  9. Bridges 2.0 by NEXSIDE, MAP SHOWCASE. ( Steam Workshop )

    MrTrane18
    June 1, 2026 at 7:46 PM
  10. Classic Maps Reborn For CS2

    SillySpaceCat
    May 31, 2026 at 10:33 PM

Users Viewing This Thread

  • 1 Guest
  1. Privacy Policy
  2. Contact
Powered by WoltLab Suite™