UnigineScript
The Language
Core Library
Engine Library
Node-Related Classes
GUI-Related Classes
Plugins Library
High-Level Systems
Samples
C++ API
API Reference
Integration Samples
Usage Examples
C++ Plugins
Content Creation
Materials
Unigine Material Library
Tutorials

ObjectVolumeProj Class

This class is used to create a volume projected object that simulates a light beam from a directional light source. It can be animated to create a flow of particles moving to the end of the beam and rotating, if necessary.

Projected volume object is rendered as a number of billboards, where each following billboard is bigger than the previous one.

ObjectVolumeProj Class

This class inherits from Object

Members


ObjectVolumeProj (float size, float radius, float fov)

Constructor. Creates a new volume projected object with the given properties.

Arguments

  • float size - Size of the smallest billboard in units.
  • float radius - Length of the light beam along the Z axis in units.
  • float fov - Angle of the beam cone in degrees. It controls the width of the light beam.

float getFov ()

Returns the width of the light beam, which is specified as the angle of the beam cone. The default is 60 degrees.

Return value

Angle in degrees.

float getRadius ()

Returns the length of the light beam along the Z axis in units. The default is 1 unit.

Return value

Length in units.

float getRotation ()

Returns the angle of billboards rotation. This angle is set for the billboard at the end of the beam. Positive values rotate the billboards clockwise; negative ones rotate them counterclockwise. The default is 0.

Return value

Rotation angle.

float getSize ()

Returns the size of the smallest billboard at the beginning of the beam. The default is 0.01 units.

Return value

Size of the smallest billboard in units.

float getStep ()

Returns the distance between neighboring billboards. The default is 0.2.

Return value

Step between billboards.

float getVelocity ()

Returns the velocity with which billboards move to the end of the beam. The default is 0.

Return value

Billboards velocity.

void setFov (float fov)

Sets the width of the beam, which is specified as an angle of the beam cone. The default is 60 degrees.

Arguments

  • float fov - Angle in degrees. The provided value will be saturated in the range [10;90].

void setRadius (float radius)

Sets a length of the light beam. The default is 1 unit.

Arguments

  • float radius - Length in units. If a negative value is provided, 0 will be used instead.

void setRotation (float angle)

Sets the angle of billboards rotation. This angle is set for the billboard at the end of the beam. The default is 0.

Arguments

  • float angle - Rotation angle. Positive values rotate the billboards clockwise; negative ones rotate them counterclockwise.

void setSize (float size)

Sets a size of the smallest billboard at the beginning of the beam. The default is 0.01 units.

Arguments

  • float size - Size of the smallest billboard in units. If a non-positive value is provided, 0.001 will be used instead.

void setStep (float step)

Sets a step between billboards (it controls how many billboards are used to render volume projected object). The default is 0.2.

Arguments

  • float step - Step between billboards. The provided value will be saturated in the range [0.1; 1]. By the value of 1, the beam is rendered discrete.

void setVelocity (float velocity)

Sets velocity with which billboards move to the end of the beam. The default is 0.

Arguments

  • float velocity - Velocity of billboards.
Last update: 2017-07-03