Видеоуроки
Interface
Essentials
Advanced
Полезные советы
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров узла
Setting Up Materials
Setting Up Properties
Освещение
Landscape Tool
Sandworm (Experimental)
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Программирование
Основы
Настройка среды разработки
Примеры использования
UnigineScript
C++
C#
Унифицированный язык шейдеров UUSL
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
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
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Art Samples
Tutorials

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.

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

Bakes shoreline for the current water level of the global water object and puts it to the specified image. This method generates a shoreline texture by finding intersections of the Global Water object with terrains (Landscape Terrain and Terrain Global)

Arguments

  • const Ptr<Image> & image - Image instance to which the shoreline for the current water level is to be baked.

Return value

1 if the shoreline is baked successfully; otherwise, 0.

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

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

Arguments

Ptr<Texture> getTexture ( ) const#

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 ) const#

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 ( ) const#

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 ( ) const#

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 puts it to the specified Image.
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 - Image to which the shoreline distance field will be put.
  • 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: 16.06.2020