Pillars

Parent element name: hill
Element name: pillar

Pillars are an essential part of DSJ4 hill buildings. It can be defined as a textured block that can have different shapes. It can be used under the inrun flat section as "tower", under inrun as hill support, etc.

TIP

This section of the documentation contains things, that can't be described using only words. The best way to test the parameters described below is to use elements from already existing hills and play with them.

Positioning pillars

NameTypeAllowed valuesDescriptionOptional
y[1, 2]FloatThe position relative to the Y-axisTrue
breflzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the bottom left side, which pillar is based onTrue
brefrzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the bottom right side, which pillar is based onTrue
brefyStringA built-in reference which applies for refy or your defined profile nameA reference to the Y-axis from the bottom side, which pillar is based onTrue
brefzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the bottom side, which pillar is based onTrue
reflzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the left side, which pillar is based onTrue
refrzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the right side, which pillar is based onTrue
refx[1, 2]?StringA built-in reference which applies for refx or custom refx idA reference to the X-axis, which pillar is based onTrue
refyStringA built-in reference which applies for refy or your defined profile nameA reference to the Y-axis, which pillar is based onTrue
refzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis, which pillar is based onTrue
treflzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the top left side, which pillar is based onTrue
trefrzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the top right side, which pillar is based onTrue
trefyStringA built-in reference which applies for refy or your defined profile nameA reference to the Y-axis from the top side, which pillar is based onTrue
trefzStringA built-in reference which applies for refz or your defined profile nameA reference to the Z-axis from the top side, which pillar is based onTrue

TIP

If you are a beginner you don't have to use all these refs. The most basic are enough - refx or refx1 and refx2, refy and refz.

Sizing pillars

TIP

Manipulating the length of pillars in DSJ4 is based on manipulating x1 and x2 attributes, width on lz and rz, height on ty, and by.

NameTypeDescriptionOptional
x1FloatThe starting point in position relative to the X-axis
x2FloatThe ending point in position relative to the X-axis
lz[1, 2]?FloatThe starting point in position relative to the Z-axis
rz[1, 2]?FloatThe ending point in position relative to the Z-axis
bly[1, 2]?FloatThe bottom left side coordinate(s) relative to the Y-axisTrue
blz[1, 2]?FloatThe bottom left side coordinate(s) relative to the Z-axisTrue
bry[1, 2]?FloatThe bottom right side coordinate(s) relative to the Y-axisTrue
brz[1, 2]?FloatThe bottom right side coordinate(s) relative to the Z-axisTrue
by[1, 2]?FloatThe bottom coordinate(s) relative to the Y-axisTrue
tly[1, 2]?FloatThe top left side coordinate(s) relative to the Y-axisTrue
tlz[1, 2]?FloatThe top left side coordinate(s) relative to the Z-axisTrue
try[1, 2]?FloatThe top right side coordinate(s) relative to the Y-axisTrue
trz[1, 2]?FloatThe top right side coordinate(s) relative to the Z-axisTrue
ty[1, 2]?FloatThe top coordinate(s) relative to the Y-axisTrue
n[top, bottom]FloatThe top or bottom height in position perpendicular relative to [t, b]refy? profileTrue

TIP

If you are a beginner you don't have to use all these position attributes. The most basic is enough - x1 and x2, lz and rz, ty and by.

Multiple pillars

TIP

If the steps between the next pillars are the same, you can use the step and count attributes to create multiple pillars using only one element.

NameTypeDefault valueDescriptionOptional
step+Float0.0Step between pillarsTrue
count+Integer0Count of pillars to be renderedTrue

Controlling sides visibility

NameTypeDescriptionOptional
bottomBooleanToggles the bottom side visibilityTrue
frontBooleanToggles the front side visibilityTrue
leftBooleanToggles the left side visibilityTrue
rearBooleanToggles the rear side visibilityTrue
rightBooleanToggles the right side visibilityTrue
topBooleanToggles the top side visibilityTrue

Texturing pillars

TIP

Use normal type attribute if you are using opaque texture. When using textures with alpha channels such as grid.png, use blend type. In the case of transparent textures, use glass type.

TIP

If you have two surfaces that are overlapping each other, specify the zbias attribute, so this surface will appear "above" the second surface.

NameTypeAllowed valuesDescriptionOptional
[t, m, c][Texture, Material, Color]Texture, material and color
ptBooleanToggles texture snapping to the pillar shapeTrue
scaleFloatTexture scaling factorTrue
texture-refyFloatA reference to the Y-axis, which texture is based onTrue
typeStringnormal, blend, glassTexture typeTrue
zbias+IntegerZ-indexTrue

TIP

Texture-refy attribute works only when pt="false".

Code snippets

<hill version="DSJ4-1.10.0">
    <!-- Rest of code omitted for clearance -->
    <!-- This XML outputs in pillar placed directly under the flat section of the inrun. -->
    <pillar brefy="terrain" trefy="inrun-top" t="Textures\concrete1.png" m="Materials\material1.xml" c="0xf2e5c7" reflz="inrun-left" refrz="inrun-right" x1="0" x2="3" />
</hill>