Skip to content

Commit

Permalink
Add manual section on non-rectangular primitive brushes
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthew Mott committed Jul 29, 2018
1 parent 22df468 commit f512b63
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 11 deletions.
41 changes: 33 additions & 8 deletions doc/manual.adoc
@@ -1,5 +1,6 @@
= DarkRadiant User Guide
:toc: left
:toclevels: 3
:imagesdir: img
:icons:
:iconsdir: img
Expand Down Expand Up @@ -183,8 +184,7 @@ The following commands are available within the 2D view:

[cols="1,3"]
|===
|*Right drag*|Scroll the view horizontally or vertically (relative to the
window).
|*Right drag*|Scroll the view horizontally or vertically
|*Mouse wheel*|Zoom the view
|*Shift + Right drag*|Zoom the view (alternative binding)
|*Ctrl + Middle click*|Move the camera directly to the clicked position
Expand All @@ -205,16 +205,16 @@ The *0 key* on the main keyboard can be used to toggle the display of the grid.
Note that objects will still be snapped to the grid even if the grid is not
visible; this is purely a visual toggle.

IMPORTANT: Level geometry built from brushes and patches should *always* be
IMPORTANT: Level geometry built from brushes and patches should _always_ be
snapped to the grid to avoid problems such as rendering glitches and map leaks.
Static meshes and animated AI can be positioned more freely, however grid
snapping is a useful tool for ensuring that models are appropriately aligned
with the level geometry.

=== Manipulating objects

Every object in a map can be selected and moved within the 2D view. Brushes and
patches can also be resized.
Every object in a map can be selected and moved within the 2D view. Some objects
-- including brushes, patches and lights -- can also be resized.

[cols="1,3"]
|===
Expand All @@ -230,6 +230,12 @@ patches can also be resized.
|*Left drag* _outside_ a selected object|Resize the object (if available)
|===

TIP: Like other editors in the Radiant family, DarkRadiant offers a rather
unusual system for resizing objects. Rather than clicking exactly on the edge,
or on a dedicated resizing handle, you can click and drag anywhere outside an
edge to move that edge inwards or outwards. Dragging outside a corner allows you
to move two edges at once.

=== Working with brushes

Brushes are the basic building blocks of all maps. Typically they are used for
Expand All @@ -238,9 +244,8 @@ have a vital role in sealing a map from the void: even a map built entirely from
patches and static meshes must still be surrounded by brushes in order to avoid
leaking.

[sidebar]
.Additive versus subtractive geometry
--
****
If you are used to mapping for the legacy Thief games using Dromed or T3Edit,
the system used by DarkRadiant may seem somewhat back-to-front. In previous
games, the world starts out as an infinite solid, in which you "carve out" rooms
Expand All @@ -254,7 +259,7 @@ exclusive use of solid brushes frees the engine from needing to worry about
"brush ordering", and allows an important performance optimisation: by "flood
filling" the map interior, the map compiler can efficiently discard geometry
that never needs to be rendered.
--
****

==== Creating a brush

Expand All @@ -272,3 +277,23 @@ floors or walls in succession. To match the height of an existing brush, simply
select (*Shift + Left click*) and deselect it (*ESC*) before drawing the new
brush.

==== More complex brush shapes

Although each brush starts out as a six-sided cuboid, it doesn't have to stay
that way. DarkRadiant offers several options for creating multi-sided brushes in
more complex shapes. To create one of these shapes, first define a regular
cuboid brush covering the volume you want the new shape to occupy, then choose
the appropriate option from the *Brush* menu:

*Prism*:: An n-sided approximation of a cylinder, with the axis of the cylinder
aligned with the current 2D view.

*Cone*:: A tapered n-sided cone, which always points upwards regardless of the
2D view axis.

*Sphere*:: A rotationally symmetric n-sided approximation of a sphere, with the
axis of rotation pointing upwards.

While these shapes can be useful for certain architectural modelling, remember
that brushes are always flat-shaded and are not generally a good substitute for
spheres or cones created with patches or static meshes.
6 changes: 3 additions & 3 deletions doc/manual.css
Expand Up @@ -67,7 +67,7 @@ a:hover,a:focus{color:#1d4b8f}
a img{border:none}
p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:bold;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
Expand All @@ -76,7 +76,7 @@ h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
strong,b{color:#7a2518;font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
Expand Down Expand Up @@ -196,7 +196,7 @@ table.tableblock #preamble>.sectionbody>.paragraph:first-of-type p{font-size:inh
.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px}
.sidebarblock>:first-child{margin-top:0}
.sidebarblock>:last-child{margin-bottom:0}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:left;font-size:1em;font-weight:bold;}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;margin-bottom:1em;text-align:left;font-size:1.1em;font-weight:bold;}
.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8}
.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1}
Expand Down

0 comments on commit f512b63

Please sign in to comment.