KatsBits Community

Game Editing => Video Channel => Topic started by: kat on August 19, 2014, 03:00:53 AM

Title: [Blender] brush-based structures
Post by: kat on August 19, 2014, 03:00:53 AM

Can you make a brush based map or structures in Blender? Yes.

Download the 'idTech/Unreal' reference pack (http://www.katsbits.com/tools/#reference)

Although the above shows the process applied to a small section, the basic principles apply to larger structures or full levels. A few simple rules;
IMPORTANT: make sure to be using a version of Blender that includes the Quake map export script, currently most versions in the 2.6x series up to and including 2.70.


Title: Re: Brush-based Structures in Blender
Post by: kat on November 10, 2014, 07:45:29 AM

Example of what can be done using the above approach to building .map format levels in Blender. Shown is a section of a much larger level being blocked-out in Blender, i.e. structure is made using primitive 'convex' shapes which are eventually exported as solid volumes. For more read the Make a Simple Level tutorial (http://www.katsbits.com/tutorials/blender/map-basics-tutorial.php).
Title: Re: Brush-based Structures in Blender
Post by: kat on January 13, 2015, 07:53:36 PM
Working with 'planes' (single-sided surfaces and panels) is problematic because of the way the export script create 'volume' by extruding surfaces backwards - whilst this generally works fine for flat surface, where intersection occur, at corners for example, it creates issues where extrusions overlap (when separate panel are used) or distort based on angled extrusions.



Title: Brush volumes and breaking complex shapes apart
Post by: kat on June 16, 2015, 02:48:26 PM

Ensuring relatively complex shapes are correctly prepared for export as brush volumes.

As models, even the simplest of shapes can trip the process when exporting content to the *.map format. This happens because brush volumes can only be convex and as such requires concave shapes be broken down into discreet collections of 'primitives' to properly conform to the volume requirement used by .map/BSP level editors. Shown in the above for example, a simple 'stepped' object (shown in Blender) has to be broken down into a set of very basic shapes so each can be exported properly for use in GtkRadiant - without doing the the final *.map file will be incomplete (the read/write process essentially stops at a problem structure even though the export appears to complete).
Title: Exporting maps from Blender
Post by: kat on December 02, 2015, 04:35:26 PM

Exporting maps from Blender
Make sure complex structures are made from individual blocks that are basically water-tight. Brushes can be part of larger selections but it's best not to export entire levels to keep the amount of data parsed to manageable sizes, and it makes tracking down errors easier. Surfaces should be UV mapped and images applied as materials are based on image assignments (as long as materials are clearly defined it should then be a simple matter of 'find and replace' once the file is loaded). "Open" the resulting text file rather than using 'Load' then re-save using Radiants options to ensure map data is fully and correctly formatted and structured.

Face Thickness: when exporting blocks and volumes, i.e. the level has been constructed from primitive solid volumes, this setting can generally be ignored. To ensure proper output compatibility however, it can be set with "8" as a minimum value. Essentially this setting forces single sided elements (faces rather than blocks) to be extruded by a certain value generating valid *.map volumes - for general construction this should be at minimum "8" but may be better using higher 'power-of-two' values (16, 32, 64) depending on circumstance.

Scale: ideally, because Radiant uses a grid-based system, it's preferable to work at actual size, i.e. the default Scene cube is 2 x 2 Blender Units, in Radiant this would be 2 x 2 units, which is too small for general construction. With "Scale:" (set to "100.00") applied, this small cube becomes a 200 x 200 unit block. Although this is much larger, and a better size for use in Radiant, it's not a power-of-two value - ideally major structures are best built using that system, doing so might mean a wall being 256w x 256h x 32d. When working 1:1 "Scale:" should be set to "1.00".

Note that level design using Blender typically results in one or two "MeshTexturePoly [...] use_twoside (http://www.katsbits.com/smforum/index.php?topic=672.0)" errors.