Difference between revisions of "OBJ Reader"

From Terragen Documentation from Planetside Software
Jump to: navigation, search
(jrfconvert import)
 
(Updated example images and page layout per meeting notes.)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:IMPORT]]
+
[[File:OBJReader_00_GUI.png|none|470px|OBJ Reader]]
='''OBJ Reader'''=
+
<br />
 +
== Overview ==
  
[[Image:drex_module_9_image_0.png|485pxpx|OBJ Reader]]
+
The OBJ Reader node loads models from a Wavefront .OBJ file. The OBJ Reader can also load .mtl files specified by the OBJ containing texturing information. When you create an OBJ Reader it opens a file dialog allowing you to choose the file to load.
  
==Additional tabs for OBJ Reader==
 
  
* [[OBJ Reader - Angular Position Tab]]
+
'''Node Type:''' Object<br />
  
* [[OBJ Reader - Surface Shaders Tab]]
 
  
* [[OBJ Reader - OBJ Options Tab]]
+
'''Settings:'''<br />
__NOTOC__
+
 
<!-- imported from file: module_9.html-->
+
<ul>
 +
<li>
 +
'''Population mode:''' This popup has two options:
 +
 
 +
[[File:OBJReader_01_PopulationMode.png|none|322px|Population mode parameters]]
 +
 
 +
<ul><li><u>Individual Object:</u> This is the default for objects created individually, not part of a population. If you choose this option for objects that are part of a population the population instances will still render but the object itself will also show up at its original position. </li>
 +
<li><u>Member of a Population:</u> This is the default for objects created as part of creating a population. It means the objects only render as part of a population. If you choose this option for an individual object it won't render.  If you create an object as part of a population and then decide to use it on its own you may need to change the popup to <u>Individual Object</u> to get it to render.</li></ul>
 +
 
 +
<li>'''Preview mode:''' This popup has five options to let you choose how the object should be displayed in the 3D Preview, and sets the most detailed mode that the object can be displayed in. The '''Object Display Mode''' button in the 3D Preview controls the mode for the preview as a whole. For example, if you set the '''Preview mode''' of the object to '''Wireframe''' but the 3D Preview object display mode is set to '''Show as bounding boxes''' then the object will only be drawn as a bounding box.</li>
 +
[[File:OBJReader_02_PreviewMode.png|none|234px|Preview Mode parameters]]
 +
 
 +
<li>''' Preview Colour:''' Enabling this parameter causes the object to be drawn in the 3D preview using the preview colour when the object display mode is set to '''Show as bounding box''' or '''Show as wireframe'''.  When set to '''Show as smooth shaded''' or '''Show as textured''' the preview colour tints the object’s textured surface.  This is useful for making a particular object stand out in the 3D preview.  Clicking on the colour swatch to the right of the parameter label opens the [[Colour_Picker|Colour picker pane]].
 +
</li>
 +
<br /> <br /> </ul>
 +
== File Read Tab ==
 +
[[File:OBJReader_03_FileReadTab.png|none|460px|File Read Tab]]
 +
 
 +
'''Settings:'''
 +
<ul><li>'''Filename:''' This parameter shows the path to the file used by the OBJ Reader. You can use the file button at right to load a different file but this isn't recommended as the materials for the new file won't be loaded.</li></ul>
 +
<br />
 +
== Sequence Tab ==
 +
[[File:OBJReader_04_SequenceTab.png|none|460px|Sequence Tab]]
 +
'''Settings:'''
 +
<ul><li>'''Sequence first:''' This value controls both the geometry and the frame on which that geometry is loaded.  Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the '''Sequence first''' and '''Sequence last''' values.  If an '''Offset''' value other than zero is present, that value will be added to the '''Sequence first''' value to determine which geometry is loaded.  If the sequential object number does not exist, Terragen will display a warning message to alert you.</li>
 +
<li> '''Sequence last:''' This value controls both the geometry and the frame on which that geometry is loaded. Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the '''Sequence first''' and '''Sequence last''' values. If an '''Offset''' value other than zero is present, that value will be added to the '''Sequence last''' value to determine which geometry is loaded.  If the sequential object number does not exist, Terragen will display a warning message to alert you.</li>
 +
<li>'''Loop or Ping Pong:''' Upon completion of the sequential object cycle determined by the '''Sequence first''' value and '''Sequence last''' value, Terragen can either “loop” back to the '''Sequence first''' object and cycle through the objects as each frame advances, or it can “ping pong”, that is, reverse the object sequence order until the '''Sequence first''' object is encountered. </li>
 +
<li>'''Frame offset:''' This value provides a way to load a different sequential object.  Its value is added to the '''Sequence first''' value and '''Sequential last''' value.  For example, if the '''Sequence first''' value is "1", the '''Sequence last''' value is "10", and the '''Offset''' value is "4", then MyObject_0005.obj would load on frame 1.  </li>
 +
[[File:OBJReader_45_OBJSequence.gif|none|400px|Object sequence options.]]
 +
</ul>
 +
 
 +
<br />
 +
 
 +
== Mesh Modifiers Tab ==
 +
[[File:OBJReader_12_MeshModifiersTab3.png|none|460px|Mesh Modifiers Tab]]
 +
'''Settings:'''
 +
 
 +
<ul>
 +
<li>'''Read MDD file (motion):''' Terragen can apply Motion Designer or “MDD” files created in third-party 3D software packages to an object within the project.  The MDD file contains the position of every vertex in an object, for each frame of an animation.  After an object is animated or otherwise deformed in the third-party 3D software, its vertex positions are “baked”, or saved in the MDD file format.  This allows for complex animation to exist within a Terragen project, that otherwise could not.</li>
 +
{|
 +
|-
 +
| [[File:OBJReader_52_MDD_Flag.gif|none|400px|MDD file cloth simulation.]] || [[File:OBJReader_51_MDD_Bat.gif|none|400px|MDD animated flap cycle.]]
 +
|} <br />
 +
<li>'''Reverse Z (right handed): '''  If the MDD file is facing in the wrong direction, you can reverse the Z axis in order to point it in the right direction.</li>
 +
[[File:OBJReader_47_ReverseZ_Bat.gif|none|400px|Effect of enabling the Reverse Z (right handed) parameter.]]<br />
 +
<li>'''Mesh displacer:'''  The shader assigned to this parameter displaces the object’s vertices (mesh). For example, a power fractal shader can be used to displace the vertices of the 3D object or a population.  The denser the object’s geometry, or more vertices it has, allows for more subtle deformations to be visible.</li>
 +
{|
 +
|-
 +
| [[File:OBJReader_15_MeshModifiersTab_MeshDisplacer_Cattail.gif|none|400px|Animated parameters on a power fractal to deform a single 3D object.]] || [[File:OBJReader_16_MeshModifiersTab_MeshDisplacer_Population.gif|none|400px|Animated parameters on a power fractal to deform a population.]]
 +
|-
 +
| [[File:OBJReader_48_MeshDisplacer_NonShadered.PNG|none|400px|Displacement applied to non-shadered objects.]] || [[File:OBJReader_18_MeshModifiersTab_MeshDisplacer_TexturedLeafs2.PNG|none|400px|Displacement applied to textured objects.]]
 +
|}
 +
<br />
 +
 
 +
<li>'''Recalculate Normals: '''  This popup has provides four options because of the many different ways in which 3D software applications, exporters and modeling techniques are used to create geometry and MDD files.  The MDD files and shaders assigned to the '''Read MDD file (motion)''' and '''Mesh displacer''' parameters change the base 3D object’s normals, requiring them to be recomputed in order to render correctly.  The '''Recalculate Normals''' parameter instructs Terragen how to recompute the normals.</li>
 +
[[File:OBJReader_41_MeshModifiersTab_RecalcNormalsParams.png|none|378px|Recalculate Normal options.]]
 +
<ul>
 +
<li><u>No:</u>  The normals are unchanged and left as they were in the original Wavefront OBJ, Lightwave LWO, or Terragen TGO formatted object.</li>
 +
<li><u>Conservative Update:</u>  Only the existing normals are updated. In other words, it relies on the normals to have been mapped to faces in a meaningful way in the original object.  Each recalculated normal is the average of the normals of the faces that use the normal.  The benefits to this method is it is fast and preserves creases where edges use per-face normals in the original scene.  The drawbacks are that this method cannot create a smooth surface if the normals are not shared between faces, and it cannot create normals where they didn't previously exist.</li>
 +
<li><u>Smooth + preserve creases:</u>  Similar to "Conservative update" except that it preprocesses the model to merge any duplicate normals. After doing this it recalculates each normal using the average of the normals of the faces that use the normal.  The benefits of this method is that it preserves creases where edges used per-face normals in the original model.  The drawbacks are that this method cannot create normals where they didn't previously exist.</li>
 +
<li><u>Smooth everything:</u>  All the prior normals are cleared. A new normal is created for every vertex. Each normal is the average of the normals of the faces that use the vertex, therefore it creates a smooth appearance across faces that share vertices with other faces.  The benefits to this method is that it works with models that didn't define any normals beforehand.  The drawbacks are that this method does not produce sharp edges unless the faces use separate vertices.</li>
 +
 
 +
{|
 +
|-
 +
|[[File:OBJReader_MeshModifier_RecalcNormals_SmoothPreserveCreases.png|none|400px|Normals recalculated with Smooth + Preserve creases.]] || [[File:OBJReader_MeshModifier_RecalcNormals_SmoothEverything.png|none|400px|Normals recomputed with Smooth Everything.]]
 +
|}
 +
 
 +
</ul><br />
 +
== Surface Shaders Tab ==
 +
[[File:OBJReader_19_SurfaceShadersTab.png|none|460px|Surface Shaders Tab]]
 +
 
 +
This tab lets you assign a surface shader to texture the object. If there was a .mtl file associated with the OBJ file, a Parts Shader with its associated nodes will be created and assigned to the Surface shader input.
 +
 
 +
'''Settings:'''<br />
 +
<ul>
 +
<li>'''Surface shader:''' Use this parameter to assign a surface shader to the object.  </li>
 +
 
 +
<li>'''Displacement tolerance'''  If you find that rough or spikey surfaces are showing problems at bucket edges, for example spikes having cut off tops, or gaps in ray traced shadows then increasing this value may help. However this can greatly increase render times. Relatively flat surfaces may render more quickly with smaller values.  The default value is 1. However this is an advanced setting and you should not change it unless you have specific problem you need to address. If you are having problems try starting with 2 and then increase it by small increments until they're resolved. A value of 4 would be considered a high value. </li>
 +
 
 +
<li>'''Smooth polygons at terminator:'''  This fixes self-shadow artifacts at the lighting terminator of polygonal objects where the smooth normals are inconsistent with the geometric normal.  This parameter is enabled by default.</li>
 +
 
 +
<li>'''Darken bumps at terminator:'''  This parameter approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow.  This parameter is enabled by default.</li>
 +
</ul>
 +
 
 +
{|
 +
|-
 +
| [[File:OBJReader_49_SmoothPolysAtTerminator.jpg|none|400px|Smooth polygon at terminator comparison.]] || [[File:OBJReader_50_DarkenBumpsAndSmoothPolys.jpg|none|400px|Darken bumps at terminator comparison. ]]
 +
|}
 +
<br />
 +
 
 +
== Rendering Tab ==
 +
[[File:OBJReader_24_RenderingTab.png|none|461px|Rendering Tab]]
 +
 
 +
'''Settings:'''<br />
 +
<ul>
 +
<li>'''Render mode:''' An object's render state can be set to <u>Visible</u>, <u>Invisible</u> or <u>Holdout</u>. When set to <u>Holdout</u>, an object is visible in the rendered image as a black shape with an alpha value of zero.  When using render layers the object's render state is combined with the group visibility parameter to determine its least visible setting. <u>Invisible</u> is less visible than <u>Holdout</u>, which is less visible than <u>Visible</u>. </li>
 +
[[File:OBJReader_25_RenderingTab_RenderType.png|none|148px|Object's render types.]]
 +
 
 +
<li>'''Visible to other rays:''' When enabled, the object will be taken into account by all the rays determined by the renderer including those from the camera, direct and indirect lighting, etc.  In the example below, a 100% reflective  3D object has been placed behind three coloured spheres in order to mirror the effect of the calculated rays.
 +
<br />
 +
 
 +
<li>'''Cast shadows:''' This should be checked if you want the object to cast shadows.
 +
 
 +
<li>'''Double-sided surface:''' If this is checked  object surfaces are double sided. A single sided surface is only visible from the "front", which is the direction the surface normal is pointing. If you look at it from the other direction the surface isn't visible. Double sided surfaces are visible from all directions.</li>
 +
 
 +
<li>'''Use smooth normals:''' If this is checked the object normals are interpolated to make the surface appear smooth. If it's unchecked the surface will look faceted.</li>
 +
 
 +
<li>'''Flip normals:''' Check this to flip or reverse the object normals. You might want to use this on an imported object if it has gaps or strange dark patches when rendered.</li>
 +
 
 +
<li>'''Render method''' This popup has three options.
 +
[[File:OBJReader_36_RenderingTab_RenderMethod.png|none|340px|Render method options]]</li>
 +
<ul>
 +
<li><u>Default:</u> Ray Tracing is the default rendering method for an object.  Typically it results in higher quality and faster rendering.  When displacement is applied to a 3D object the render method should be changed to <u>Force Displacement</u>.  When the object's render method is set to <u>Default</u>, the object is rendered according to the '''Ray trace objects''' setting in the render node.</li>
 +
<li><u>Force Displacement:</u>  When enabled for the object, its surfaces will be subdivided into micropolygons at render time, which allows the 3D geometry to be displaced correctly but at the expense of slightly longer render times. 
 +
It is useful when you have some objects you want to render with displacement but you don't want to change how all the rest of your objects are rendered, i.e. Ray traced. </li>
 +
<li><u>Force Ray Trace:</u>  When enabled for the object, its surfaces will be ray traced at render time, even if '''Ray trace objects''' is disabled in the Renderer settings.  This can be useful when '''Ray trace objects''' is disabled in the Renderer in order for other 3D objects to use displacement, but you want this object to use ray tracing for the highest quality rendering and it has not been displaced. </li>
 +
</ul>
 +
 
 +
<li>'''Sorting bias (metres)'''  This parameter gives you control over the order in which objects are rendered when using the micropolygon renderer. This does not apply to objects being rendered with the ray tracer.
 +
A large positive value, e.g. 10,000,000 (or 1e7) will usually force the object to render first.  A large negative value, e.g. -10,000,000 (or -1e7) will usually force the object to render last, or after the terrain.  This can be useful when rendering large objects with displacement, such as a lake object that lies mostly below the displaced terrain.  By setting the lake object’s '''Sorting bias (metres)''' value to something like -10,000,000 forces it to render after the terrain.</li>
 +
</ul>
 +
{|
 +
|-
 +
| [[File:OBJReader_60_RenderingTab_VisibleToOtherRays.gif|none|400px|Visible to other rays comparison.]] || [[File:OBJReader_61_RenderTab_CastShadows.gif|none|400px|Cast shadows comparison.]]
 +
|}
 +
<br />
 +
 
 +
== Transform Tab ==
 +
[[File:OBJReader_37_TransformTab.png|none|455px|Transform tab.]]
 +
 
 +
'''Settings:'''<br />
 +
<ul>
 +
<li>'''Translate:''' This sets the position of the object.</li>
 +
<li>'''Rotate:''' This rotates the object about its origin. The order of the values is heading, pitch then bank.</li>
 +
<li>'''Scale:''' You can use this parameter to scale the object in the X, Y and Z directions. </li>
 +
</ul>
 +
<br />
 +
 
 +
== Angular Position Tab ==
 +
[[File:OBJReader_38_AngularPositionTab.png|none|455px|Angular Position Tab.]]
 +
 
 +
This tab has settings which use angles and distance to set the position of the rock relative to the scene origin. These settings are an alternative to using the Translate setting in the Transform tab. The diagram below shows how all the parameters relate to each other and the origin.
 +
 
 +
'''Settings:'''<br />
 +
<ul>
 +
<li>'''Heading:'''  This angle sets the rotation of the object around the scene origin, in the XY plane, increasing as you turn clockwise. </li>
 +
<li>'''Elevation:'''  This angle sets the vertical part of the position. You could think of it as the angle above or below the horizon. 90 is straight up, -90 is straight down. </li>
 +
<li>'''Distance:'''  This sets the distance from the origin, in metres. </li>
 +
</ul>
 +
 
 +
[[File:Angular_position.gif|none|218px|Angular positions]]
 +
<br />
 +
 
 +
== Import Tab ==
 +
[[File:OBJReader_39_ImportTab.png|none|455px|Import Tab.]]
 +
 
 +
These parameters apply to .chan/.mov and FBX import.
 +
 
 +
'''Settings:'''
 +
<ul>
 +
<li>'''Import offset:''' This setting allows you to offset the positions imported from the file. As an example, you might want the positions imported from the file to be moved 10 metres in the X direction. To do that enter 10 for the X coordinate and import the file. </li>
 +
<li>'''Import scale:'''  You can use this setting to scale values imported from the file. </li>
 +
<li>'''Import Chan file:'''  This param specifies the file to be imported. When you a choose a new file you will be prompted to import the file. If you choose not to import it immediately you can click the Import chan File button to perform the import. </li>
 +
</ul>
 +
<br />
 +
 
 +
== OBJ Options Tab ==
 +
[[File:OBJReader_40_OBJOptionsTab.png|none|455px|OBJ Options Tab.]]
 +
 
 +
This tab contains settings which are specific to loading OBJ files.
 +
 
 +
'''Settings:'''
 +
<ul>
 +
<li>'''Source in cm:''' If this is checked then Terragen interprets the measurement units in the OBJ file as being in centimetres. That's the theory, but there is currently a bug which means the units are interpreted as 10cm (decimetre) rather than 1cm. You may still need to scale the object using the Transform tab to make it the correct size. </li>
 +
<li>'''Source Z up:'''  Check this if you know the OBJ file uses Z up as opposed to Y up, which Terragen uses. This will cause the coordinates to be swapped when read from the file to match Terragen's coordinate system. If the model seems to be laying over on its side when imported you probably need to check this setting. </li>
 +
</ul>
 +
<br />

Latest revision as of 23:40, 27 August 2020

OBJ Reader


Overview[edit]

The OBJ Reader node loads models from a Wavefront .OBJ file. The OBJ Reader can also load .mtl files specified by the OBJ containing texturing information. When you create an OBJ Reader it opens a file dialog allowing you to choose the file to load.


Node Type: Object


Settings:

  • Population mode: This popup has two options:
    Population mode parameters
    • Individual Object: This is the default for objects created individually, not part of a population. If you choose this option for objects that are part of a population the population instances will still render but the object itself will also show up at its original position.
    • Member of a Population: This is the default for objects created as part of creating a population. It means the objects only render as part of a population. If you choose this option for an individual object it won't render. If you create an object as part of a population and then decide to use it on its own you may need to change the popup to Individual Object to get it to render.
  • Preview mode: This popup has five options to let you choose how the object should be displayed in the 3D Preview, and sets the most detailed mode that the object can be displayed in. The Object Display Mode button in the 3D Preview controls the mode for the preview as a whole. For example, if you set the Preview mode of the object to Wireframe but the 3D Preview object display mode is set to Show as bounding boxes then the object will only be drawn as a bounding box.
  • Preview Mode parameters
  • Preview Colour: Enabling this parameter causes the object to be drawn in the 3D preview using the preview colour when the object display mode is set to Show as bounding box or Show as wireframe. When set to Show as smooth shaded or Show as textured the preview colour tints the object’s textured surface. This is useful for making a particular object stand out in the 3D preview. Clicking on the colour swatch to the right of the parameter label opens the Colour picker pane.


File Read Tab[edit]

File Read Tab

Settings:

  • Filename: This parameter shows the path to the file used by the OBJ Reader. You can use the file button at right to load a different file but this isn't recommended as the materials for the new file won't be loaded.


Sequence Tab[edit]

Sequence Tab

Settings:

  • Sequence first: This value controls both the geometry and the frame on which that geometry is loaded. Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the Sequence first and Sequence last values. If an Offset value other than zero is present, that value will be added to the Sequence first value to determine which geometry is loaded. If the sequential object number does not exist, Terragen will display a warning message to alert you.
  • Sequence last: This value controls both the geometry and the frame on which that geometry is loaded. Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the Sequence first and Sequence last values. If an Offset value other than zero is present, that value will be added to the Sequence last value to determine which geometry is loaded. If the sequential object number does not exist, Terragen will display a warning message to alert you.
  • Loop or Ping Pong: Upon completion of the sequential object cycle determined by the Sequence first value and Sequence last value, Terragen can either “loop” back to the Sequence first object and cycle through the objects as each frame advances, or it can “ping pong”, that is, reverse the object sequence order until the Sequence first object is encountered.
  • Frame offset: This value provides a way to load a different sequential object. Its value is added to the Sequence first value and Sequential last value. For example, if the Sequence first value is "1", the Sequence last value is "10", and the Offset value is "4", then MyObject_0005.obj would load on frame 1.
  • Object sequence options.


Mesh Modifiers Tab[edit]

Mesh Modifiers Tab

Settings:

  • Read MDD file (motion): Terragen can apply Motion Designer or “MDD” files created in third-party 3D software packages to an object within the project. The MDD file contains the position of every vertex in an object, for each frame of an animation. After an object is animated or otherwise deformed in the third-party 3D software, its vertex positions are “baked”, or saved in the MDD file format. This allows for complex animation to exist within a Terragen project, that otherwise could not.
  • MDD file cloth simulation.
    MDD animated flap cycle.

  • Reverse Z (right handed): If the MDD file is facing in the wrong direction, you can reverse the Z axis in order to point it in the right direction.
  • Effect of enabling the Reverse Z (right handed) parameter.

  • Mesh displacer: The shader assigned to this parameter displaces the object’s vertices (mesh). For example, a power fractal shader can be used to displace the vertices of the 3D object or a population. The denser the object’s geometry, or more vertices it has, allows for more subtle deformations to be visible.
  • Animated parameters on a power fractal to deform a single 3D object.
    Animated parameters on a power fractal to deform a population.
    Displacement applied to non-shadered objects.
    Displacement applied to textured objects.


  • Recalculate Normals: This popup has provides four options because of the many different ways in which 3D software applications, exporters and modeling techniques are used to create geometry and MDD files. The MDD files and shaders assigned to the Read MDD file (motion) and Mesh displacer parameters change the base 3D object’s normals, requiring them to be recomputed in order to render correctly. The Recalculate Normals parameter instructs Terragen how to recompute the normals.
  • Recalculate Normal options.
    • No: The normals are unchanged and left as they were in the original Wavefront OBJ, Lightwave LWO, or Terragen TGO formatted object.
    • Conservative Update: Only the existing normals are updated. In other words, it relies on the normals to have been mapped to faces in a meaningful way in the original object. Each recalculated normal is the average of the normals of the faces that use the normal. The benefits to this method is it is fast and preserves creases where edges use per-face normals in the original scene. The drawbacks are that this method cannot create a smooth surface if the normals are not shared between faces, and it cannot create normals where they didn't previously exist.
    • Smooth + preserve creases: Similar to "Conservative update" except that it preprocesses the model to merge any duplicate normals. After doing this it recalculates each normal using the average of the normals of the faces that use the normal. The benefits of this method is that it preserves creases where edges used per-face normals in the original model. The drawbacks are that this method cannot create normals where they didn't previously exist.
    • Smooth everything: All the prior normals are cleared. A new normal is created for every vertex. Each normal is the average of the normals of the faces that use the vertex, therefore it creates a smooth appearance across faces that share vertices with other faces. The benefits to this method is that it works with models that didn't define any normals beforehand. The drawbacks are that this method does not produce sharp edges unless the faces use separate vertices.
    • Normals recalculated with Smooth + Preserve creases.
      Normals recomputed with Smooth Everything.

    Surface Shaders Tab[edit]

    Surface Shaders Tab

    This tab lets you assign a surface shader to texture the object. If there was a .mtl file associated with the OBJ file, a Parts Shader with its associated nodes will be created and assigned to the Surface shader input.

    Settings:

    • Surface shader: Use this parameter to assign a surface shader to the object.
    • Displacement tolerance If you find that rough or spikey surfaces are showing problems at bucket edges, for example spikes having cut off tops, or gaps in ray traced shadows then increasing this value may help. However this can greatly increase render times. Relatively flat surfaces may render more quickly with smaller values. The default value is 1. However this is an advanced setting and you should not change it unless you have specific problem you need to address. If you are having problems try starting with 2 and then increase it by small increments until they're resolved. A value of 4 would be considered a high value.
    • Smooth polygons at terminator: This fixes self-shadow artifacts at the lighting terminator of polygonal objects where the smooth normals are inconsistent with the geometric normal. This parameter is enabled by default.
    • Darken bumps at terminator: This parameter approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow. This parameter is enabled by default.
    Smooth polygon at terminator comparison.
    Darken bumps at terminator comparison.


    Rendering Tab[edit]

    Rendering Tab

    Settings:

    • Render mode: An object's render state can be set to Visible, Invisible or Holdout. When set to Holdout, an object is visible in the rendered image as a black shape with an alpha value of zero. When using render layers the object's render state is combined with the group visibility parameter to determine its least visible setting. Invisible is less visible than Holdout, which is less visible than Visible.
    • Object's render types.
    • Visible to other rays: When enabled, the object will be taken into account by all the rays determined by the renderer including those from the camera, direct and indirect lighting, etc. In the example below, a 100% reflective 3D object has been placed behind three coloured spheres in order to mirror the effect of the calculated rays.
    • Cast shadows: This should be checked if you want the object to cast shadows.
    • Double-sided surface: If this is checked object surfaces are double sided. A single sided surface is only visible from the "front", which is the direction the surface normal is pointing. If you look at it from the other direction the surface isn't visible. Double sided surfaces are visible from all directions.
    • Use smooth normals: If this is checked the object normals are interpolated to make the surface appear smooth. If it's unchecked the surface will look faceted.
    • Flip normals: Check this to flip or reverse the object normals. You might want to use this on an imported object if it has gaps or strange dark patches when rendered.
    • Render method This popup has three options.
      Render method options
      • Default: Ray Tracing is the default rendering method for an object. Typically it results in higher quality and faster rendering. When displacement is applied to a 3D object the render method should be changed to Force Displacement. When the object's render method is set to Default, the object is rendered according to the Ray trace objects setting in the render node.
      • Force Displacement: When enabled for the object, its surfaces will be subdivided into micropolygons at render time, which allows the 3D geometry to be displaced correctly but at the expense of slightly longer render times. It is useful when you have some objects you want to render with displacement but you don't want to change how all the rest of your objects are rendered, i.e. Ray traced.
      • Force Ray Trace: When enabled for the object, its surfaces will be ray traced at render time, even if Ray trace objects is disabled in the Renderer settings. This can be useful when Ray trace objects is disabled in the Renderer in order for other 3D objects to use displacement, but you want this object to use ray tracing for the highest quality rendering and it has not been displaced.
    • Sorting bias (metres) This parameter gives you control over the order in which objects are rendered when using the micropolygon renderer. This does not apply to objects being rendered with the ray tracer. A large positive value, e.g. 10,000,000 (or 1e7) will usually force the object to render first. A large negative value, e.g. -10,000,000 (or -1e7) will usually force the object to render last, or after the terrain. This can be useful when rendering large objects with displacement, such as a lake object that lies mostly below the displaced terrain. By setting the lake object’s Sorting bias (metres) value to something like -10,000,000 forces it to render after the terrain.
    Visible to other rays comparison.
    Cast shadows comparison.


    Transform Tab[edit]

    Transform tab.

    Settings:

    • Translate: This sets the position of the object.
    • Rotate: This rotates the object about its origin. The order of the values is heading, pitch then bank.
    • Scale: You can use this parameter to scale the object in the X, Y and Z directions.


    Angular Position Tab[edit]

    Angular Position Tab.

    This tab has settings which use angles and distance to set the position of the rock relative to the scene origin. These settings are an alternative to using the Translate setting in the Transform tab. The diagram below shows how all the parameters relate to each other and the origin.

    Settings:

    • Heading: This angle sets the rotation of the object around the scene origin, in the XY plane, increasing as you turn clockwise.
    • Elevation: This angle sets the vertical part of the position. You could think of it as the angle above or below the horizon. 90 is straight up, -90 is straight down.
    • Distance: This sets the distance from the origin, in metres.
    Angular positions


    Import Tab[edit]

    Import Tab.

    These parameters apply to .chan/.mov and FBX import.

    Settings:

    • Import offset: This setting allows you to offset the positions imported from the file. As an example, you might want the positions imported from the file to be moved 10 metres in the X direction. To do that enter 10 for the X coordinate and import the file.
    • Import scale: You can use this setting to scale values imported from the file.
    • Import Chan file: This param specifies the file to be imported. When you a choose a new file you will be prompted to import the file. If you choose not to import it immediately you can click the Import chan File button to perform the import.


    OBJ Options Tab[edit]

    OBJ Options Tab.

    This tab contains settings which are specific to loading OBJ files.

    Settings:

    • Source in cm: If this is checked then Terragen interprets the measurement units in the OBJ file as being in centimetres. That's the theory, but there is currently a bug which means the units are interpreted as 10cm (decimetre) rather than 1cm. You may still need to scale the object using the Transform tab to make it the correct size.
    • Source Z up: Check this if you know the OBJ file uses Z up as opposed to Y up, which Terragen uses. This will cause the coordinates to be swapped when read from the file to match Terragen's coordinate system. If the model seems to be laying over on its side when imported you probably need to check this setting.


The bounding box is a box which surrounds (or bounds) an object or shader. This box shows the maximum extents of the item inside it. Sometimes abbreviated as "b-box".

A parameter is an individual setting in a node parameter view which controls some aspect of the node.

A shader is a program or set of instructions used in 3D computer graphics to determine the final surface properties of an object or image. This can include arbitrarily complex descriptions of light absorption and diffusion, texture mapping, reflection and refraction, shadowing, surface displacement and post-processing effects. In Terragen 2 shaders are used to construct and modify almost every element of a scene.

Literally, to change the position of something. In graphics terminology to displace a surface is to modify its geometric (3D) structure using reference data of some kind. For example, a grayscale image might be taken as input, with black areas indicating no displacement of the surface, and white indicating maximum displacement. In Terragen 2 displacement is used to create all terrain by taking heightfield or procedural data as input and using it to displace the normally flat sphere of the planet.

When Terragen renders, it divides the image up into buckets or tiles. Each bucket is rendered separately, allowing multiple buckets to be rendered at once. It also allows memory to be used more efficiently.

Literally, to change the position of something. In graphics terminology to displace a surface is to modify its geometric (3D) structure using reference data of some kind. For example, a grayscale image might be taken as input, with black areas indicating no displacement of the surface, and white indicating maximum displacement. In Terragen 2 displacement is used to create all terrain by taking heightfield or procedural data as input and using it to displace the normally flat sphere of the planet.

A single object or device in the node network which generates or modifies data and may accept input data or create output data or both, depending on its function. Nodes usually have their own settings which control the data they create or how they modify data passing through them. Nodes are connected together in a network to perform work in a network-based user interface. In Terragen 2 nodes are connected together to describe a scene.