UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Landscape Tool
Using Editor Tools for Specific Tasks
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
应用程序接口
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
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");
To add the FieldShoreline object to UnigineEditor, add the following code:
Source code (C++)
// release class ownership of the FieldShoreline
shoreline->release();
// add the FieldShoreline to the list of editor nodes
Editor *editor = Editor::get();
editor->addNode(shoreline->getNode());

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.

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.

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.

int setTexturePath(const char * name)

Sets the path to the FieldShoreline's shoreline texture.

Arguments

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

Return value

1 if the path to the shoreline texture is set successfully; otherwise, 0.

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,shoreline_blur,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.

int type()

Returns the type of the object.

Return value

FieldShoreline type identifier.
Last update: 2018-06-04