FieldHeight Class
The scope of applications for UnigineScript is limited to implementing materials-related logic (material expressions, scriptable materials, brush materials). Do not use UnigineScript as a language for application logic, please consider C#/C++ instead, as these APIs are the preferred ones. Availability of new Engine features in UnigineScript (beyond its scope of applications) is not guaranteed, as the current level of support assumes only fixing critical issues.
Inherits from: | Field |
This class is used to create and modify a field height. The field is applied to global water and specifies areas where height of waves should be changed.
The maximum number of the rendered FieldHeight objects per frame/bit mask is 8.
Creating a Height Field
When creating a FieldHeight object you should specify a heightmap texture for it as this object doesn't have any default texture.
// create a new instance of the FieldHeight class and set its transformation
FieldHeight height = new FieldHeight();
height.setTransform(Mat4("1 0 0 0 0 1 0 0 0 0 1 0 4800 2800 0 1"));
// set the size of the field
height.setSize(vec3(4096.0f,4096.0f,512.0f));
// set the heightmap texture
height.setTexturePath("unigine_project/textures/fh_static.png");
See also#
UnigineScript API sample <UnigineSDK>/data/samples/fields/height_00
FieldHeight Class
Members
static FieldHeight ( ) #
The default constructor. Creates a FieldHeight instance with the default size vec3(1.0f, 1.0f, 1.0f).By default, a heightmap texture is empty. Specify it after creating the FieldHeight by using an appropriate function.
void setAttenuation ( float attenuation ) #
Sets the FieldHeight's attenuation factor value. The attenuation factor indicates the rate of FiledHeight influence attenuation from the center of the object to its edges. By default the attenuation factor is set to 1.0f.Arguments
- float attenuation - Attenuation factor. The higher the value, the less FieldHeight's heights will have influence on the Global Water's object heights.
float getAttenuation ( ) #
Returns the FieldHeight's attenuation factor value. The attenuation factor indicates the rate of FiledHeight influence attenuation from the center of the object to its edges.Return value
Attenuation factor. The higher the value, the less FieldHeight's heights will have influence on the Global Water's object heights. The default value is 1.0f.void setTexture ( Texture texture ) #
Sets the given texture from the Texture instance for the FieldHeight.Arguments
- Texture texture - Texture instance.
Texture getTexture ( ) #
Returns the heightmap texture (from GPU) and saves it into the given Texture instance.Return value
Texture instance into which the texture will be saved.int setTextureImage ( Image image ) #
Sets the given image as the heightmap texture of the FieldHeight.Arguments
- Image image - Image instance with heightmap for FieldHeight.
Return value
1 if the texture is set successfully; otherwise, 0.int getTextureImage ( Image image ) #
Grabs the texture for the FieldHeight (already loaded to GPU) and saves it into the given Image instance.Arguments
- 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 ( string path ) #
Sets the path to the FieldHeight's heightmap texture.Arguments
- string path - Path to the heightmap texture.
string getTexturePath ( ) #
Returns the path to the FieldHeight's heightmap texture.Return value
Path to the heightmap texture.void setPower ( float power ) #
Sets the FieldHeight's power value. The power is a multiplier for loaded heightmap texture values. By default the power is set to 1.0f.Arguments
- float power - Power value. The higher the value, the more FieldHeight's heights will have influence on the Global Water's object heights.
float getPower ( ) #
Returns the FieldHeight's power value. The power is a multiplier for loaded heightmap texture values.Return value
Power value. The higher the value, the more FieldHeight's heights will have influence on the Global Water's object heights. The default value is 1.0f.void setSize ( vec3 size ) #
Sets the vec3 size vector of the FieldHeight's object. By default, the size is (1.0f, 1.0f, 1.0f).Arguments
- vec3 size - Size vector (x,y,z), where:
- x value is length of the FieldHeight along X axis (in units),
- y value is length of the FieldHeight along Y axis (in units),
- z value is length of the FieldHeight along Z axis (in units).
vec3 getSize ( ) #
Returns the vec3 size vector of the FieldHeight's object.Return value
Size vector (x,y,z), where:- x value is length of the FieldHeight along X axis (in units),
- y value is length of the FieldHeight along Y axis (in units),
- z value is length of the FieldHeight along Z axis (in units).
static int type ( ) #
Returns the type of the object.Return value
FieldHeight type identifier.void setOrder ( int order ) #
Sets the field height rendering order.This parameter is used to properly apply fields with mixed blend modes.
Arguments
- int order - Rendering order to set.
int getOrder ( ) #
Returns the current field height rendering order.This parameter is used to properly apply fields with mixed blend modes.
Return value
Rendering order.void setBlendMode ( int mode ) #
Sets the field height blending mode.Attenuation parameter is interpreted depending on the selected blending mode:
- is used as a mulpiplier for the additive mode
- lerp(1.0f, value, attenuation) is used for the multiplicative mode
Arguments
- int mode
int getBlendMode ( ) #
Returns the current field height blending mode.Attenuation parameter is interpreted depending on the selected blending mode:
- is used as a mulpiplier for the additive mode
- lerp(1.0f, value, attenuation) is used for the multiplicative mode
Return value
Last update:
2021-12-13
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)