Search Unity

  1. Unity 2018.3 is now released.
    Dismiss Notice
  2. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  3. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  5. Want to provide direct feedback to the Unity team? Join the Unity Advisory Panel.
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice

[RELEASED] Realtime CSG - level design for Unity

Discussion in 'Assets and Asset Store' started by LogicalError-Unity3D, Aug 24, 2016.

  1. PartyBoat

    PartyBoat

    Joined:
    Oct 21, 2012
    Posts:
    60
    Woah awesome! I didn't think you were doing updates anymore. Are you sorta working on RealtimeCSG again?
     
  2. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Yes, I plan to release updates now and then.
    At the very least I'll make sure it'll work with every new version of Unity
     
    Mark_01 and Petethegoat like this.
  3. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Aaand I just uploaded version 1.535, which fixes a couple of more prefab issues I discovered + selection ordering issue:
    • Fixed duplicate on prefab-instance sometimes not working + error messages
    • Fixed not selecting brush behind cursor when clicking on brush (issue #250)
    • Fixed "Selection interacts with models outside prefab mode, while inside prefab mode" (issue #275)
    • Fixed "Creating new brushes while inside prefab mode, creates brushes in scene instead" (issue #276)
     
  4. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Just uploaded version 1.536 which fixes an error when upgrading models from an older version
    (having to do with UnityEditor.UnwrapParam:SetDefaults)

    You can find it here
     
    tarahugger, dadude123 and Mark_01 like this.
  5. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Capture.PNG

    Just a sneak peak
    It may not look like much, but this is the beginning of Realtime CSG 2. The UI is just functional at the moment, this will be improved. You can see here that generators will be components in the future! The new foundation will make it easier to implement new types of generators & it should all work at runtime. It also has a whole lot less overhead compared to the original
    (Keep in mind that there's still a lot of work remaining, so don't expect it to be released soon)
     
    VergilUa, Petethegoat, andyz and 7 others like this.
  6. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    200
    I'm a big fan of realtime CSG. Any update is a joy for me.
    Will it be free for current customers or is it a paid upgrade?
     
  7. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    It'll be a free upgrade!

    It might be a different asset on the asset store though .. I'm not sure yet how I'm going to release it
    I'm considering releasing it as a beta version first on the realtimecsg.com website, so that v1 users can try it out and give feedback on it, before I release it on the asset store
     
    VergilUa, Petethegoat and Mark_01 like this.
  8. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    200
    Cool! Thanks a lot!
    I don't know if I will be able to betatest it though, as I'm quite busy working out my motion capture workflow right now :p
     
    LogicalError-Unity3D likes this.
  9. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Well I'm not releasing a beta *now* ;p So who knows, maybe by the time I release a beta version you'll have time :)
     
    Mark_01, dadude123 and atomicjoe like this.
  10. JuliuszK

    JuliuszK

    Joined:
    Dec 22, 2014
    Posts:
    25
    Great news! Looking forward for the runtime aspect of it.
     
    LogicalError-Unity3D likes this.
  11. tarahugger

    tarahugger

    Joined:
    Jul 18, 2014
    Posts:
    57
    Looks really great :)
     
    LogicalError-Unity3D likes this.
  12. Petethegoat

    Petethegoat

    Joined:
    Jun 12, 2013
    Posts:
    36
    Very exciting, take your time on it :)
     
    logicalerror likes this.
  13. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    200
    NO! Don't take your time! I want it NOW! :p
     
  14. CrazeDevelopment

    CrazeDevelopment

    Joined:
    Nov 26, 2010
    Posts:
    18
    Based on RealtimeCSG 1.0, I would honestly pay $100-200 for 2.0.

    I'm sure you get plenty of praise but again: everyone I've shown / recommended has been absolutely astonished by it. Every week I swing by your site wishing you the best.

    Hope life is good!
     
    Mark_01 and logicalerror like this.
  15. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @CrazeDevelopment Thanks! Yes, life is good rn

    Still churning away on Realtime CSG 2.0 ;p
     
    Petethegoat and Mark_01 like this.
  16. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    FYI; some fixes have been coming out over the last couple of months

    Version 1.541 - 26 nov 2018
    • Fixed FBX export generating an error after export

    Version 1.540 - 5 nov 2018
    • Fixed default physics material not being applied to mesh colliders

    Version 1.539 - 10 oct 2018
    • Fixed grouping objects causing NullReferenceException (oops)

    Version 1.538 - 8 oct 2018
    • Fixed mesh being destroyed on build

    Version 1.537 - 2 oct 2018
    • Fixed grouping objects causing NullReferenceException
     
    Mark_01, dadude123 and twobob like this.
  17. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Realtime CSG is ON SALE RIGHT NOW! 50% OFF!
    Tell your friends!
     
    Mark_01 likes this.
  18. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    I'll tell myself to get it thanks
     
    LogicalError-Unity3D likes this.
  19. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    52
  20. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    Released some more bug fixes

    Version 1.543 - 27 nov 2018
    • Fixed compilation error in 2019.1a10
      Keep in mind that 2019 is pretty much untested with realtime CSG, there might be other things that don't work
      At the very least visibility of brushes is not supported (yet) at the moment

    Version 1.542 - 27 nov 2018
    • Fixed FBX exporting failing when a material is missing on exported model
    • Fixed FBX exporting in different locales causing malformed fbx files
     
    Mark_01 likes this.
  21. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    Got it thanks.. pretty good, no requests yet :D

    Just a question as I barely had time to play with it, but I noticed csg prefabs are supported does that mean this all works at runtime with all the boolean operations and colliders recalculated?

    Think for now it will serve best for level prototyping and exporting out the fbx, I didn't have much fun with probuilder, and sadly sabrecsg got abandoned, though from what I remember it didn't have the best performance while this does.. and sale price honestly probably the best purchase all week.
     
  22. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @Player7 There's no runtime support in realtime CSG, sorry ...
    realtime-CSG 2.0 will have runtime support however, but it'll take a while before that's done :)

    Prefab support is basically there just to make it easier to reuse pieces in your level(s)
     
  23. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    Maybe I'm missing something, but in scene view Realtime CSG hotbar.. if you close it, it becomes a floating panel, and if you close that, it goes back to being in the scene view.... this is kinda annoying when you aren't doing anything with CSG.. I don't mind the toolbar at the bottom of the scene view being permanent, and I think maybe an icon to toggle on/off the hotbar might be a good use for it.

    Also the CSG grid... 1) possible to make this work with all transforms of other gameobjects, ugui?
    2) possible to have a way of independently adjusting grid snapping levels, and the grip lines/sub gridlines.. they don't really match up with the snapping sometimes, and depending on zoom player its like there are more lines visible that can't be snapped to anyway. Some finer control or mapping on lines/snap levels would be nice.

    Oh and some way of selecting all faces, or something like maya where you can paint select faces? to apply material(s) faster?
     
    atomicjoe likes this.
  24. atomicjoe

    atomicjoe

    Joined:
    Apr 10, 2013
    Posts:
    200
    I concur on everything.
     
  25. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @Player7 @atomicjoe you can turn realtime CSG on/off using control-F3 when you're not using it, the toolbar disappears then..

    1. that used to work, but something got broken. Haven't yet had the time to look into why .. :-/
    2. with independently adjusting grid snapping levels, do you mean different snapping for x, y & z? you can already do that; if you click on position it'll toggle between uniform grid and non uniform grid. As for showing sub-lines below the snapping distance, yeah maybe that's not a good idea .. I'm not sure what you mean with "Some finer control or mapping on lines/snap levels would be nice"?

    You can select faces while dragging over them while holding shift, control or alt in surface edit mode. When you drag a material onto the a selected surface, it'll apply to all selected surfaces. When you hold shift while dragging a material on a surface, it'll apply to all sides of all brushes that belong to all selected surfaces. If you hold G and click on a surface, and then click on another surface, it'll copy the material and make the uvs continuous between those surfaces. You can also drag over surfaces while holding G .. does that help? Maybe I don't understand what you mean with paint-select faces?
     
  26. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    yeah that explanation on texturing faces and the shortcuts might help will check it out later on.

    ctrl+f3 ..maybe this could cycle between 'all on' | 'all off ' | 'grid on only'? Well at least when the grid working with normal gameobject transforming.

    For grid lines and snapping, just a way of adjusting the visual grid independently off the snapping levels.
     
  27. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    41
    You're working at Unity and looking at updating Realtime CSG... hmm I'm wondering if we'll see Realtime CSG join Unity Technologies like Pro Builder did? ;-)
     
  28. tarahugger

    tarahugger

    Joined:
    Jul 18, 2014
    Posts:
    57
    I'm having an issue with the CSG not taking effect immediately after adding a CSGTreeNode to an already rendering CSGTreeBranch. The node i am adding is a shape set to Subtraction, but it doesn't update for me properly. My current workaround is to wait a while, and change the localtransformation so that it is updated at least twice - and then the subtraction shows up correctly.

    Relevent Code:
    Code (CSharp):
    1.     private IEnumerator RefreshHack()
    2.     {
    3.         transform.localScale += new Vector3(0, 0.01f * Time.deltaTime, 0);
    4.         yield return new WaitForSeconds(0.01f);
    5.  
    6.         transform.localScale -= new Vector3(0, 0.01f * Time.deltaTime, 0);
    7.         yield return new WaitForSeconds(0.01f);
    8.     }
    and the brush is being checked for changes and updated every tick

    Code (CSharp):
    1.     public static void SetMatrix(this CSGTreeBrush brush, Transform transform)
    2.     {
    3.         brush.LocalTransformation = Matrix4x4.TRS(transform.localPosition, transform.localRotation, transform.localScale);
    4.     }
    Any ideas?
     
  29. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @Player7 so you want to turn off realtime csg, but not the grid? I'd have to think about how to set that up in a clean way ... in the meantime you could just have the realtime CSG window, but tab it underneath another window, maybe?

    @Falagard Perhaps one day .. certainly would help if you let Unity how you feel ;p

    @tarahugger I'm not sure why there is a delay, but you could try to call CSGModelManager.EnsureBuildFinished()
     
    Petethegoat likes this.
  30. CrowbarSka

    CrowbarSka

    Joined:
    Dec 15, 2009
    Posts:
    114
    Hey! Loving this tool so far. I just blocked out a whole level in record time and feel very comfortable using it as a Source SDK / Hammer veteran.

    I'm having a couple of issues though...

    1. After doing a lot of work, I hit Play to test it but constantly get this error:

    Invalid editor window UnityEditor.FallbackEditorWindow
    UnityEditor.EditorApplicationLayout:SetPlaymodeLayout()


    After quitting Play mode the RealtimeCSG tab now says "Failed to load" and is blank.

    2. I'm trying to just create 2 rooms with a doorway alcove between them. I have 3 adjacent Subtractive boxes, all flush against each other, but some of the faces behave differently to each other and I don't get a hole in the wall.

    Take a look at this gif to see what I mean: https://imgur.com/TEiIoWl

    I've read the docs and it seems to be an order of operation issue, where it depends on the hierarchy order. If that's the case, is there a simple way to change that order without delving into Operations?

    Thanks!
     
  31. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    Yeah the grid toolbar at the bottom of the scene view looks good and useful, I mean if and when it works for everything.. I do think an icon on that toolbar to toggle realtime CSG tool could be used.. detaching it to a window and putting it in another panel that is hidden is really just more worfklow steps to use it again, and I think when I'm going to use it CSG having it actually in the scene view is better use of screen space than having it windowed or docked in another panel (likely meaning it would be taking up space that another panel would otherwise be shown in)

    I've always thought a game engine should have good CSG tools, the hammer editor was pretty good if not the best for its time... Probuilder I believe was doing some CSG tooling, but it's not the main area and I doubt it will match this. So I think Realtime CSG actually working in game realtime would be great and could open up for some really fun gameplay with the way it can cut through geometry.

    I do think you should utilize the scene hierarchy to show csg objects with an icon with the operation they are doing, like subtraction etc, and if they are hidden distinguishing that in the hierarchy would help find them aswel, could be other ideas to flesh out with improving things using more of the scene hierarchy to visualize that more.
     
  32. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @CrowbarSka Hi, great to hear that you like realtime CSG :)
    As for your problems; the SetPlaymodeLayout thing is a unity bug. You can fix it by Go to Window > Layouts > Revert To Factory Settings. (It will erase any layouts you currently have). The "Failed to load" thing is weird, it sounds like a Unity bug as well, might be related to the first? Let me know if you still have this problem after reverting your layout ...

    As for 2. there is a big in RCSG at the moment that can happen when surfaces are exactly on top of each other, it was accidentally introduced in a previous version and I haven't yet had time to debug it.. If you make the subtractive brush a bit bigger it should work for now. Also, fyi; you can change the order of brushes by dragging brushes higher or lower in the hierarchy, you don't need to use Operations to change the order of brushes.

    I hope that helps!

    @Player7 Well I obviously think CSG tools are great for level design as well, otherwise I wouldn't be spending so much time on this ;)
    Realtime CSG 2 will have runtime support, but it'll be some time before that's out.

    I'm confused about your third paragraph though, Realtime CSG is already showing the operations of brushes in the hierarchy:
    csg_operations.PNG
     
    Mark_01 likes this.
  33. Petethegoat

    Petethegoat

    Joined:
    Jun 12, 2013
    Posts:
    36
    Where's the most productive place to do this?
     
  34. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    I get an error on that one, 2019.1a.. sorry was just trying it out in another project that I was testing on that version figured you might aswel know about it.
     
  35. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @Petethegoat I'm not sure? Create a post in Worldbuilding forum maybe? I feel conflicted here .. telling someone where to ask unity to acquire an asset that I own, while working at unity ;p

    @Player7 The latest version already fixes that compilation error on 2019.1a: https://realtimecsg.com/updates/index.php
    2019.1 isn't properly supported yet though, I haven't gone through it and see if there are other issues. At the very least the visibility toggle won't work on brushes and operations .. it should work on models though
     
    Petethegoat and Mark_01 like this.
  36. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    weird I don't get any icons like that showing in the hierarchy.. infact some of the grid toolbar icons don't show either.. like the toggle show grid icon is missing, while the XYZ show up.. all works but yeh icons are missing for me in the project I'm using this in which is 2018.2.17f1 and using version RealtimeCSG[1_543][Unity2018_2_3f1]
     
  37. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    52
    @Player7 Ok, this is confusing .. I just installed 1.543, both full and eval version, in professional and personal skin .. and it looks fine from over here? Weird. Can you try deleting your realtime csg folder (when unity is not running) and reinstall it?
     
  38. LogicalError-Unity3D

    LogicalError-Unity3D

    Unity Technologies

    Joined:
    Aug 7, 2015
    Posts:
    52
    @CrowbarSka do you still have issues? let me know if you do
     
  39. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    Just tried that and it actually worked, icons are back now, last time I just updated to the latest and figured that would sort it out but it didn't oh well.
     
    logicalerror likes this.
  40. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    I just uploaded version 1.544, which has a couple of small improvements.
    • Improved line rendering
    • Grid no longer shows gridlines smaller than the current grid size
    • Update lightmap UV button now also visible in surface mode
    • Surface edit mode window now has scrollbar when it's too small
    • Surface edit mode window now has button to select as the surfaces of all brushes that are currently selected (issue #279)
    • Max sphere splits / Max cylinder sides can now be set in options preference menu (issue #278)
    • Edit mode window now has option to automatically commit an extruded shape after extruding it from a polygon


      auto_commit.PNG


      Note that when it's off, you can just press enter after each operation, which would essentially do the same.
      But this is just a little bit better workflow when you need to do something like this.

      continuous_extrude.gif
     
    Last edited: Dec 10, 2018 at 6:49 PM
    tarahugger, Player7, 2dgame and 2 others like this.
  41. Player7

    Player7

    Joined:
    Oct 21, 2015
    Posts:
    1,135
    This is better, I wouldn't say perfect, I think ideally more preference options on it like coloring/opacity etc might help.. Also the two other issue with it is that in orthographic compass view some directions just won't show the grid not sure I'm missing something on that or a bug and another is that at certain zoom levels the grid can disappear :(

    Also not sure if you use the asset Odin inspector, but it seems if you are in the RealtimeCSG with the Edit or Generate tab selected, if the Surfaces toggle is down in the inspector where it shows materials, well it's causing some massive editor slowdown, hiding the surfaces pulldown and it goes away.. strangely when in the tabs Place,Clip,Surfaces you can the have the surfaces materials showing and it doesn't cause any slowdown.
     
  42. logicalerror

    logicalerror

    Joined:
    Jan 2, 2013
    Posts:
    162
    @Player7 the color/opacity of the gridlines can be modified by changing the Center Axis/Grid/Guide line colors in preferences

    I've create the following issues for you
    grid lines sometimes not showing up properly in orthographic camera Bug #283
    showing lots of surfaces in the inspector slows down unity #284

    the slowdown is because rendering the material icon is done by calling some unity code .. which is not too efficient .. if you have lots of these then it'll slow down unity .. I'll see if I can work around it