Difference between revisions of "Sphere"

From Terragen Documentation from Planetside Software
Jump to: navigation, search
(Added descriptions and example images for all settings.)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:drex_module_12_image_0.png|485pxpx|Sphere]]
+
[[File:Sphere_00_GUI.png|none|470px|Sphere]]
  
'''Node Description and Purpose:'''<br />
 
The Sphere node creates a sphere object.
 
  
 +
__TOC__
  
'''Node Type:''' Object<br />
+
== Overview ==
  
 +
The Sphere node creates a spherical object.
  
'''Settings:'''<br />
+
In Terragen, 3d objects fall into one of two categories; “Displaceable” or “Populatable”.
 +
 
 +
Displaceable objects rely on micropoly displacement at render time, which adapts to distance, resolution, etc. Worldspace texture coordinates are used for displacement, making these types of objects ideal for building world environments. By using Transform shaders, colour and other shaders can also take advantage of the worldspace texture coordinates. Displaceable objects update within the 3D Preview in non-RTP mode. Examples of displaceable objects are the Cube, Disc, Lake, Octahedron, Plane, Planet and Sphere objects.
 +
 
 +
Populatable objects can be instanced via a Populator node. On object nodes with displacement features implemented they rely on per-vertex/Mesh displacement in object space prior to instancing. These objects cast very precise shadow, reflections and subsurface scattering. They render faster, especially with reflections or in the Path Tracer, and have better motion blur and depth of field due to ray tracing. While these objects can also update within the 3D Preview in non-RTP mode, ideally the RTP mode is better suited for populatable and ray traceable items. Note that populations may need an extra repopulation step. Examples of populateable objects are the Card, Grass Clump, Poly Cube, Poly Sphere, Rock, and imported geometry in TGO/OBJ/LWO formats.
 +
 
 +
This useful shape is also the basis for the Background object in the default Terragen project.
 +
 
 +
 
 +
'''Settings:'''
 +
 +
 
 +
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Sphere nodes in a project.
 +
 
 +
 
 +
*'''Enable:''' When checked, the node is active and the Sphere object will appear in the scene with the settings below applied to its surface. When unchecked, the node is ignored.
 +
 +
 
 +
*'''Show b-box in preview:''' When checked, the bounding box of the Sphere shape will be displayed in 3D Preview.
 +
<ul>
 +
[[File:Sphere_03_ShowBBox.jpg|none|800px|Show in bounding box on and off.]]
 +
</ul>
 +
 
 +
 
 +
*'''Render:''' 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.
 +
<ul>
 +
[[File:Sphere_04_RenderMode.jpg||none|800px|Render options]]
 +
</ul>
 +
 
 +
 
 +
*'''Visible to other rays: ''' When enabled, the Sphere 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.
 
<ul>
 
<ul>
<li>
+
[[ File: OBJReader_60_RenderingTab_VisibleToOtherRays.gif | none|400px|Visible to other rays comparison ]]
'''Show b-box in preview:''' If this is checked the bounding box of the sphere will be displayed in 3D Previews.
 
</li><li>
 
'''Visible to camera:''' If this is unchecked the disc will not be visible to cameras.
 
</li><li>
 
'''Visible to other rays:''' TBC
 
</li><li>
 
'''Cast shadows:''' If this is checked the disc will cast shadows.
 
</li>
 
 
</ul>
 
</ul>
<u>Transform Tab</u>
+
 
 +
 
 +
*'''Cast shadow:''' When checked, the Sphere object will cast shadows.
 
<ul>
 
<ul>
<li>
+
[[ File: OBJReader_61_RenderTab_CastShadows.gif | none|400px|Cast Shadows comparison ]]
'''Center:''' This sets the position of the centre of the sphere.
 
</li><li>
 
'''Radius:''' This sets the radius of the sphere.
 
</li><li>
 
'''Import chan file:''' Clicking this button allows you to import a .chan file to animate the sphere.
 
</li>
 
 
</ul>
 
</ul>
  
==Additional tabs for Sphere==
 
  
* [[Sphere - Angular Position Tab]]
+
*'''Render method:''' This popup has three options.
 +
<ul>
 +
[[ File: OBJReader_36_RenderingTab_RenderMethod.png | none|340px|Render method options ]]
 +
 
 +
<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 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. <br /n>
 +
 
 +
<u>Force Displacement:</u> When enabled for a 3D 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. <br /n>
 +
 
 +
<u>Force Ray Trace:</u> When enabled for a 3D 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. <br /n>
 +
</ul>
 +
 
 +
 
 +
*'''Sorting bias (metres):''' This setting 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.
 +
 
 +
 
 +
== Transform Tab ==
 +
[[File:Sphere_01_TransformTab.png|none|470px|Transform Tab]]
 +
 
 +
 
 +
*'''Centre:'''  This setting allows you to reposition the Sphere object by entering values in the XYZ input fields.  The origin, or pivot point, of the Sphere is its exact center.  In order for the bottom of the Sphere, with a Radius value of 1 and Scale values of 1,1,1, to rest on the ground, the Sphere’s Centre Y axis value would need to be set to 1 as well.
 +
<ul>
 +
[[File:Sphere_05_Centre.jpg||none|800px|The Centre setting is used to reposition the Sphere object in the scene]]
 +
</ul>
 +
 
 +
 
 +
*'''Radius:''' This setting determines the radius of the Sphere object.
 +
<ul>
 +
[[File:Sphere_08_Radius.jpg|none|800px|The Radius value controls the size of the Sphere object.]]
 +
</ul>
 +
 
 +
 
 +
*'''Rotate:'''  This setting allows you to rotate the Sphere object around its origin, or pivot point, which is located at the exact center of the Sphere.  Note that by default, only the geometry of the Sphere rotates, not the textures or displacements assigned to its surface shader.  When animated, this would appear as if the Sphere is moving through its textures and displacements.  In order for the textures and displacements to “stick” to the sphere, a Transform Input shader needs to be downstream from the texturing and displacement nodes with Translate and Rotate values that match Sphere’s Centre and Rotate settings.
 +
<ul>
 +
{|
 +
|-
 +
| [[File:Sphere_06_RotateNoTransform.jpg|none|800px|Examples of various Rotate values on each axis, without a Transform shader.  Note how the texture and displacement do not stick to the Sphere geometry.]]
 +
|-
 +
| [[File:Sphere_07_RotateWithTransform.jpg|none|800px|Examples of various Rotate values on each axis, with a Transform shader also applied downstream from its Surface shader node.  Note how the texture and displacement stick to the Sphere geometry.]]
 +
|}
 +
</ul>
 +
 
 +
 
 +
*'''Scale:''' This setting allows you to scale the Sphere independently along each axis.
 +
<ul>
 +
[[File:Sphere_09_Scale.jpg|none|800px|Examples of Size variation]]
 +
</ul>
 +
 
 +
 
 +
*'''Proper surface normals:''' This setting becomes available when the Sphere is non-uniformly scaled, that is stretched, and the values are no longer the same in each XYZ axis.  They affect how the surface normals are generated on the stretched sphere.
 +
 
 +
*'''Scaling deforms normals:''' This setting becomes available when the Sphere is non-uniformly scaled, that is stretched, and the values are no longer the same in each XYZ axis.  They affect how the surface normals are generated on the stretched sphere.
 +
 
 +
<ul>
 +
[[File:Sphere_10_ScaleNormalsOpts.jpg|none|800px|Comparison of Proper surface normals and Scaling deform normals.]]
 +
</ul>
 +
 
 +
 
 +
 
 +
==Angular Position Tab==
 +
 
 +
[[ File: Cube_02_AngularPositionTab.png | none|470px|Angular Position Tab ]]
 +
 
 +
This tab has settings which use angles and distance to set the position of the Sphere object 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.
 +
 
 +
 
 +
*'''Heading:''' This angle sets the rotation of the Sphere 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 of the Sphere object from the origin, in metres.
 +
 
 +
 
 +
[[ File: Angular_position.gif | none|218px|Angular positions ]]
 +
 
 +
 
 +
==Surface Shaders Tab==
 +
 
 +
[[ File: Cube_03_SurfaceShadersTab.png | none|470px|Surface Shaders Tab ]]
 +
 
 +
This tab lets you assign a surface shader to texture the Sphere object.
 +
 
 +
 
 +
*'''Surface shader:''' Use this setting to assign a surface shader or function nodes to the Sphere object.
 +
<ul>
 +
[[File:Sphere_11_SurfShaders.jpg|none|800px|Various Surface shader networks designed by Terragen users]]
 +
</ul>
 +
 
 +
 
 +
*'''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 a 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.
 +
 
 +
 
 +
==Import Tab==
 +
 
 +
[[ File: Cube_04_ImportTab.png | none|470px|Import Tab ]]
 +
 
 +
These parameters apply to .chan/.mov and FBX import.
 +
 
 +
 
 +
*'''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.
 +
 
  
* [[Sphere - Surface Shaders Tab]]
+
*'''Import Chan file:''' This param specifies the file to be imported. When you 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.
  
<!-- imported from file: module_12.html-->
+
<br /n>
  
 
[[Category: Object Nodes]]
 
[[Category: Object Nodes]]

Latest revision as of 20:07, 15 October 2021

Sphere


Overview[edit]

The Sphere node creates a spherical object.

In Terragen, 3d objects fall into one of two categories; “Displaceable” or “Populatable”.

Displaceable objects rely on micropoly displacement at render time, which adapts to distance, resolution, etc. Worldspace texture coordinates are used for displacement, making these types of objects ideal for building world environments. By using Transform shaders, colour and other shaders can also take advantage of the worldspace texture coordinates. Displaceable objects update within the 3D Preview in non-RTP mode. Examples of displaceable objects are the Cube, Disc, Lake, Octahedron, Plane, Planet and Sphere objects.

Populatable objects can be instanced via a Populator node. On object nodes with displacement features implemented they rely on per-vertex/Mesh displacement in object space prior to instancing. These objects cast very precise shadow, reflections and subsurface scattering. They render faster, especially with reflections or in the Path Tracer, and have better motion blur and depth of field due to ray tracing. While these objects can also update within the 3D Preview in non-RTP mode, ideally the RTP mode is better suited for populatable and ray traceable items. Note that populations may need an extra repopulation step. Examples of populateable objects are the Card, Grass Clump, Poly Cube, Poly Sphere, Rock, and imported geometry in TGO/OBJ/LWO formats.

This useful shape is also the basis for the Background object in the default Terragen project.


Settings:


  • Name: This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Sphere nodes in a project.


  • Enable: When checked, the node is active and the Sphere object will appear in the scene with the settings below applied to its surface. When unchecked, the node is ignored.


  • Show b-box in preview: When checked, the bounding box of the Sphere shape will be displayed in 3D Preview.
    Show in bounding box on and off.


  • Render: 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.
    Render options


  • Visible to other rays: When enabled, the Sphere 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.
    Visible to other rays comparison


  • Cast shadow: When checked, the Sphere object will cast shadows.
    Cast Shadows comparison


  • 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 a 3D 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 a 3D 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 setting 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.


Transform Tab[edit]

Transform Tab


  • Centre: This setting allows you to reposition the Sphere object by entering values in the XYZ input fields. The origin, or pivot point, of the Sphere is its exact center. In order for the bottom of the Sphere, with a Radius value of 1 and Scale values of 1,1,1, to rest on the ground, the Sphere’s Centre Y axis value would need to be set to 1 as well.
    The Centre setting is used to reposition the Sphere object in the scene


  • Radius: This setting determines the radius of the Sphere object.
    The Radius value controls the size of the Sphere object.


  • Rotate: This setting allows you to rotate the Sphere object around its origin, or pivot point, which is located at the exact center of the Sphere. Note that by default, only the geometry of the Sphere rotates, not the textures or displacements assigned to its surface shader. When animated, this would appear as if the Sphere is moving through its textures and displacements. In order for the textures and displacements to “stick” to the sphere, a Transform Input shader needs to be downstream from the texturing and displacement nodes with Translate and Rotate values that match Sphere’s Centre and Rotate settings.
    Examples of various Rotate values on each axis, without a Transform shader.  Note how the texture and displacement do not stick to the Sphere geometry.
    Examples of various Rotate values on each axis, with a Transform shader also applied downstream from its Surface shader node.  Note how the texture and displacement stick to the Sphere geometry.


  • Scale: This setting allows you to scale the Sphere independently along each axis.
    Examples of Size variation


  • Proper surface normals: This setting becomes available when the Sphere is non-uniformly scaled, that is stretched, and the values are no longer the same in each XYZ axis. They affect how the surface normals are generated on the stretched sphere.
  • Scaling deforms normals: This setting becomes available when the Sphere is non-uniformly scaled, that is stretched, and the values are no longer the same in each XYZ axis. They affect how the surface normals are generated on the stretched sphere.
    Comparison of Proper surface normals and Scaling deform normals.


Angular Position Tab[edit]

Angular Position Tab

This tab has settings which use angles and distance to set the position of the Sphere object 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.


  • Heading: This angle sets the rotation of the Sphere 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 of the Sphere object from the origin, in metres.


Angular positions


Surface Shaders Tab[edit]

Surface Shaders Tab

This tab lets you assign a surface shader to texture the Sphere object.


  • Surface shader: Use this setting to assign a surface shader or function nodes to the Sphere object.
    Various Surface shader networks designed by Terragen users


  • 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 a 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.


Import Tab[edit]

Import Tab

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


  • 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 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.


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.

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.

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.