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.
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
When creating a FieldShoreline object you should specify a shoreline texture for as this object doesn't have any default texture.
// 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");
// 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).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.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:
16.08.2019
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter