-
Notifications
You must be signed in to change notification settings - Fork 137
FAQ
They’re different approaches to level design. With CSG you’re building with volumes, with mesh based approaches you’re building edges and geometry by hand. For example if you’re creating a building with some corridors in, with CSG you’d add a brush for the building then subtract some brushes for rooms and doorways.
One of the many benefits of CSG is because it’s all built from volumes it’s extremely flexible, you can move chunks of the level about (such as where doorways are or a set of columns and platforms) so it’s very rapid for iterating and changing the levels you’re building, giving you lots of flexibility to make small or huge changes to your level quickly without having to rework lots of topology, add and remove faces as you would with mesh based approaches. It also allows you to focus on the actual gameplay spaces you’re building because it’s inherently a spatial approach.
There’s a great video by Joe Wintergreen from Impromptu Games where he talks about the differences of CSG and mesh based approaches to level design.
Unity 5.0.0, Unity 2017 or higher. It could be that we accidentally use a feature or two not available in older Unity versions even though we actively try to keep it compatible. If this is the case please open a new issue and let us know what's wrong.
SabreCSG supports exporting to the widely support OBJ format, to export select the CSG Model and click the Export OBJ button on the Inspector. This is a great way to prototype level geometry that can be used with external tools, if you need to tie in modelled assets or sculpted geometry too.
Absolutely, SabreCSG follows Unity’s model of scripts and game objects. Every brush is attached to a game object, allowing you to duplicate brushes and modify brush properties programatically at editor time. In fact we have a quick guide to doing just this which you can find here.
SabreCSG builds standard Unity meshes that work exactly the same way as meshes that are imported from external art tools. They can be added to Mesh Renderers and Mesh Colliders (which the built game objects by default do) allowing you to set custom shaders, ray cast them, etc.
SabreCSG automatically batches geometry into the minimum of draw calls by using the materials present in the final geometry to determine how to build the final meshes.
Absolutely, we have several logos available online and a splash screen just for this. Please check out the Logo Assets page.
If you’re having issues with scene files getting too big, or long load/save times then make sure Asset Serialization isn’t set to Force Text (Edit -> Project Settings -> Editor -> Asset Serialization Mode). Using Mixed is the default for new projects and this should give you a good balance.
If you require bump mapping make sure that Generate Tangents is enabled on the CSG Model. You can check this by selecting the CSG Model, then on the Inspector open the Build Settings drop down and check Generate Tangents. Unity’s built-in lighting shaders require both normals and tangents to be present on the model for calculating bump mapping as these are required to calculate the lighting in texture space rather than world space.
If you wish to create transparent brushes, it is usually best to mark the brush as a NoCSG brush (previously called Detail brushes). NoCSG brushes do not run CSG logic and all their faces end up as final geometry. This avoids the issue of transparent materials on some faces revealing interior space. For windows it is usually best to use a subtractive brush to cut out the hole, then duplicate the brush and mark it as a NoCSG brush for the actual window surface. This way the sides of the window frame are generated and there is a visible boundary between the glass and the wall.
For more information visit the official http://sabrecsg.com/ website, or join the official discord server:
Tutorials
Brush Tools
Primitive Brushes
Compound Brushes
Resources
Requests for comments