General Curve Settings I

Input File

source "UNSET" (default)
source "C:\" (absolute)
source "YourMaps\" (relative for C:\Map2Curve\YourMaps\

The input file type must be in MAP format (GoldSrc and id Tech) at the moment. It should contain either world brushes, solid entities or point entities that correspond to Map2Curves requirements.

Input map requirements

  • Align your scene along the x-axis
  • Brushes can have any length on x-axis
  • Brushes can be world or solid-entities (entity is recommended)
  • Point-entities will be treaded as Detail Objects
  • For proper texture shift calculation, unused faces should have NULL or similar texture applied
Amount of faces per brushAmount of vertices per face
Cut-Faces2 per Brushany

Input map examples

Brushes fit for triangulation

Sometimes it might be necessary for Map2Curve to triangulate the brushes of a curve.
Situations that require triangulation are height+ramp, “snap to grid” and sheared texture mapping.
For this to work efficiently on complex objects like cylinders as well, they should be setup similar to figure 2 or 3.

Object made from one brush only.

Recommended when triangulation isn’t needed at all.

When triangulation is necessary, complex brushes like this will be turned into many spike brushes (very inefficient, not recommended).

Object divided into several brushes.

Ideal for triangulation, more efficient than figure 3.

Object divided into even more brushes/wedges.

Also suited for triangulation. More flexible than figure 2, but uses more brushes.

Allows for hollow objects.

Output File

target "UNSET" (default)
target "C:\"
target "YourMaps\" (relative for C:\Map2Curve\YourMaps\

The generated curve can be exported to 3 formats atm: MAP, RMF and OBJ.

Output File Settings

Export to Map file format

map 0
  • MAP (GoldSrc and id Tech) and RMF (Valves rich map format) are both suited for leveldesign purposes.
  • MAP can be used for both GoldSrc and Quake mapping, but due to it’s simple architecture of 3 vertices per face, complex geometry might not get reconstructed as intended by any editor.

Export to RMF file format

rmf 1

RMF ensures a higher precision when opened in a GoldSrc editor like Hammer 3.x with no floating point fix, as it always saves all vertices of a face.

Export to OBJ file format

obj 0

OBJ support is rudimentary at the moment and can be used for development purposes.

Append result to existing output file

append 0

Whether or not a generated curve gets appended into an existing MAP-file.
Currently this will only work for the MAP file format.

  • Off – Overwrites output file completely.
  • On – Appends generated curve into an existing output file.


Export curve brushes

c_enable 1

Enables generation and export of curve brushes.
Turn off in case you only want to export detail objects.


rad 0

Curve radius in game units.

  • 0: Radius is being taken from original brush or point entity location, measured from y-axis.
  • Any value greater than 0 will cause the curve to be generated in that radius, including the input objects depth (y-axis).

Radius Offset

offset 0

Additional offset (+/-) on top of radius in game units.


res 8

Number of sides/sections of the final curve.

Depends on the selected curve framework type:

Minimum ResMaximum ResDivisible by
Pi Circle43844
Grid Circle1238412
Path_Corner2; based on the amount of path_corner entities

Curve Framework Type

type 0

Type of construction frame.

  1. Pi Circle
    Based on a simple but clean Pi Circle. Ideal for precise manmade architecture. Will create vertices with floating point coordinates, which can easily be snapped to grid when using simple brushes.
  2. Grid Circle
    Based on a special construction method (see the Online-Documentation for more info). Generated vertices will eventually be „on grid“ when using low res brushes and/or low resolutions.
  3. Simple Path_Corner Extrusion
    Suited for large outdoor terrain with low definition and high flexibility. Generated vertices will be „on grid“ and curve-brushes can be edited without becoming invalid.
  4. Precise Path_Corner Extrusion
    Ideal for complex objects. Can be triangulated for completely seamless texture mapping.

Flatten Pi Circle Framework

flatcircle 0

Circle is being transformed in a way so that its shape will be flat instead of peaked. Makes it possible to match the original mesh when doing a circle duplication.

Export Range

range_start 0
range_end 100

Start and End of export range in percent. Also has an impact on the result of ramp generation and horizontal texture stretch.

Bounding Box Type

bounds 0

Enables or disables a brush box that covers the generated objects, for an easier handling in a map editor.

  1. Off, no bounding box.
  2. Simple bounding brush to make handling of vertices with floating point positions in them easier.
  3. Hollowed sky box for quick test runs of the generated geometry.

Height and Ramp Settings


height 0

Total height which the curve will travel in game units.

  • Height will be distributed equally among all sections.
  • Ramp mode can be activated to create a sloped surface.
  • Textures will be aligned respectively.
  • Distribution of height can be controlled with the height-curve setting.

Height Curve

heightmode 0

Defines how the total height is being distributed among the sections.

  1. Linear
    The most basic height distribution. The curve will travel in a straight or linear line.
  2. Path_Corner
    The height (z-coordinate) of each section will be taken from another map file (see Tab „Path_Corner“), which is populated with path_corner entities.
    They can exist as a connected path or be created/cloned individually in a consecutive way.
    When there are more sections than path_corner entities, the height-curve will start over, making repetitive patterns possible.
  3. Random Jagged
    A random jagged line, complete chaos, not very beautiful.
  4. Easings
    The new „easing“ height-curves were taken from and can be used for smooth and accurate slopes.

Sloped Ramp

ramp 0

Adds a slope to the curve sections.

  • Height must be bigger than 0 for this to have an effect.


Texture Mapping

texmode 0

The way textures are being mapped onto curve brushes horizontally.

  • Square:
    • Good results with most textures.
    • Best used with textures that are tiled directionally and only have little to no disruptive patterns in them.
    • No distortion, but also not seamless.
  • Sheared:
    • Distortion can be heavy at low curve resolutions!
    • Best results can be accomplished at higher curve resolutions.
    • Triangulation must be active for a fully seamless result!
    • As of Map2Curve v0.8 this works for all curve types and ramps.

Horizontal Shift Group Mode

shift 5

Horizontal texture shift mode.

  1. Nullshift
  2. Per Section
    Longest/shortest section edge.
  3. Per Brush
    Longest/shortest brush edge.
  4. Per Brush Texture
    Respects texture-shift, -scale and -name.
  5. Aligned Left (Section)
  6. Per Group Texture
    The recommended default shift method. Respects texture-shift, -scale, -name and solid entity.

Horizontal Shift Source Edge

hshiftsrc 1

Defines which edge will be used as source for the calculation of the horizontal texture-shift. For a PI circle the long edge is always the outer edge, while the inner edge is the short one. Edges will be determined for each texture group individually in any case.

Horizontal Shift Offset

hshiftoffset 0

Custom offset on top of the calculated horizontal texture-shifts.

Horizontal Texture Stretch

hstretch 0

Whether or not textures will be stretched/tiled along the curve horizontally. Works together with “hstretchamt”. Respects export range.

Horizontal Texture Stretch Amount

hstretchamt 0

Controls the amount of times all textures will be repeated and stretched along the entire curve length horizontally (along the X-Axis).

  • Will overwrite original texture scale and shift.
  • Only works when Horizontal Texture Stretch is turned on.
  • Respects export range.
  • 0: Automatic, based on texture scale and curve length.
  • >0: Fixed, based on curve length.