This page has been translated automatically.
编程
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
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

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: 2017-12-21
Build: ()