UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
FAQ
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes

Unigine::FieldShoreline Class

Header: #include <UnigineFields.h>
Inherits: Field

This class is used to create and modify a field shoreline. The field is applied to global water and helps to create swashes near the shores and applies the wetness effect on objects near the shoreline.

Notice
A field shoreline object will affect water only if the FieldShoreline interaction option is enabled on the States tab of the water_global_base material.

Creating a Shoreline Field#

Notice
When creating a FieldShoreline object you should specify a shoreline texture for as this object doesn't have any default texture.
Source code (C++)
// create a new instance of the FieldShoreline class and set its transformation
FieldShorelinePtr shoreline = FieldShoreline::create();
shoreline->setTransform(Mat4(1));
// set the size of the field 
shoreline->setSize(vec3(4096.0f, 4096.0f, 512.0f));
// set the path to the shoreline texture
shoreline->setTexturePath("unigine_project/textures/shorelines/shoreline_0.dds");

FieldShoreline Class

Members


static FieldShorelinePtr create ( ) #

Default constructor. Creates a FieldShoreline instance with the default size vec3(512.0f, 512.0f, 512.0f).
Notice
By default, a shoreline texture is empty. Specify it after creating the FieldShoreline by using an appropriate function.

static Ptr<FieldShoreline> cast ( const Ptr<Node> & node ) #

Casts the FieldShoreline out of the Node instance.

Arguments

  • const Ptr<Node> & node - Node smart pointer.

Return value

FieldShoreline smart pointer.

static Ptr<FieldShoreline> cast ( const Ptr<Field> & base ) #

Casts the FieldShoreline out of the Field instance.

Arguments

  • const Ptr<Field> & base - Field smart pointer.

Return value

FieldShoreline smart pointer.

void setTexture ( const Ptr<Texture> & texture ) #

Sets the given texture from the Texture instance for the FieldShoreline.

Arguments

  • const Ptr<Texture> & texture - Texture instance.

Ptr<Texture> getTexture ( ) #

Returns the shoreline texture (from GPU) and saves it into the given Texture instance.

Return value

Shoreline texture.

int setTextureImage ( const Ptr<Image> & image ) #

Sets the given image as the shoreline texture of the FieldShoreline.

Arguments

  • const Ptr<Image> & image - Image instance with a shoreline texture for the FieldShoreline.

int getTextureImage ( const Ptr<Image> & image ) #

Grabs the texture for the FieldShoreline (already loaded to GPU) and saves it into the given Image instance.

Arguments

  • const Ptr<Image> & image - Image instance into which the texture will be saved.

Return value

1 if the texture has been grabbed successfully; otherwise, 0.

void setTexturePath ( const char * path ) #

Sets the path to the FieldShoreline's shoreline texture.

Arguments

  • const char * path - Path to the shoreline texture.

const char * getTexturePath ( ) #

Returns the path to the FieldShoreline's shoreline texture.

Return value

Path to the shoreline texture.

void setSize ( const Math::vec3 & size ) #

Sets the vec3 size vector of the FieldShoreline.

The default value is (512.0f, 512.0f, 512.0f).

Arguments

  • const Math::vec3 & size - Size vector (x,y,z), where:
    • x value is length of the FieldShoreline along X axis (in units),
    • y value is length of the FieldShoreline along Y axis (in units),
    • z value is length of the FieldShoreline along Z axis (in units).

Math::vec3 getSize ( ) #

Returns the vec3 size vector of the FieldShoreline.

The default value is (512.0f, 512.0f, 512.0f).

Return value

Size vector (x,y,z), where:
  • x value is length of the FieldShoreline along X axis (in units),
  • y value is length of the FieldShoreline along Y axis (in units),
  • z value is length of the FieldShoreline along Z axis (in units).

int createShorelineDistanceField ( const Ptr<Image> & image, int shoreline_radius, int blur_radius, int downsample_resolution ) #

Creates a shoreline distance field with the specified parameters and put it into the Image file.
Source code
float shoreline_radius = 64;
int blur_radius = 8;
int downsample_resolution = 128;
Image distance_field = new Image();
field.createShorelineDistanceField(distance_field,shoreline_radius,blur_radius,downsample_resolution);

Arguments

  • const Ptr<Image> & image - Pointer to the Image file.
  • int shoreline_radius - Radius of the shoreline.
  • int blur_radius - Radius of the blurred area.
  • int downsample_resolution - Shoreline resolution.

Return value

1 if the field was created successfully; otherwise, 0.

static int type ( ) #

Returns the type of the object.

Return value

FieldShoreline type identifier.
Last update: 28.11.2019