Valid XHTML 1.0!

Funnel Generator

funnel.png

Generates a quarter of a funnel as a .map file to be opened in GtkRadiant.

topRadius: The radius of the top of the funnel. You should probably have this be greater than bottomRadius.
bottomRadius: The radius of the bottom of the funnel. You should probably have this be less than topRadius. This radius may be zero.
height: The difference in height between the top and bottom of the funnel. Unless you know what you are doing, this value should be positive.
slices: The number of slices to chop the top circumference and the bottom circumference into. The funnel structure ends up having slices * 2 triangular faces making up the funnel surface.
crossSection: Unless extendDownInsteadOfSquare is checked, this specifies the length of the square cross section of the total structure making up a quarter of a funnel. If extendDownInsteadOfSquare is checked, the cross section takes on a slightly different meaning, which is the distance from the "top" of the funnel to the very bottom of the base. Note: if overlapping brushes are being generated, you will need to set this to a large value relative to the radius values.
offsetTopInsteadOfBottom: To make the funnel, either the top or the bottom circumference must be rotated counter-clockwise by half a slice, so that triangles can be created on the surface. Normally, the bottom circumference is rotated by this amount. use this flag to rotate the top circumference instead.
extendDownInsteadOfSquare: Project the triangular faces of the funnel downwards to make the brushes. Normally, the faces are projected in the +x and +y directions.
generateOnlySeam: Generate only the last brush. Useful for making seams.
adjustSeamForJoining: Adjust the seam brush if it is to be joined to another structure such as a slanted wall.
offsetAngle: The angle, in degrees, by which to rotate the funnel counter-clockwise. This only applies if extendDownInsteadOfSquare is true.

generate normal non-overlapping brushes Generates ordinary brushes. To make a funnel wall to fling you around at high speeds, you will have to generate overlapping brushes in order to prevent "bouncing". Another purpose for normal brushes is to define the visual component of a structure, for example by using surfaceparm nonsolid.
generate overlapping brushes Overlapping brushes are useful for making funnels such that the player doesn't "bounce" off the surface when flying against the funnel wall. However, it is not advised to texture the overlapping brush faces with drawn textures. Instead, apply [slick] caulk to all of the overlapping brushes, then superimpose a set of normal non-overlapping brushes that have surfaceparm nonsolid. NOTE: If you are generating overlapping brushes make sure that crossSection is very high relative to the other values such as radius. When you are done generating overlapping brushes, you will likely want to cut everything off that is above z = 0 and everything that is below z = -height.



Note that it is possible to create interesting shapes that are not exactly funnels if you know what you are doing. For example, try the following parameters:

topRadius: 768
bottomRadius: 256
height: -512
slices: 16
crossSection: 128
extendDownInsteadOfSquare: checked