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
Programming
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
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes

Unigine::PhysicalWind Class

Header:#include <UniginePhysicals.h>
Inherits:Physical

A PhysicalWind class is used to simulate a box-shaped area inside of which the wind is blowing. The wind gradually decreases up to the box boundaries.

Notice
A physical wind will affect only an object that meets the following requirements:
  • The object's bounds must be inside the physical wind box.
  • A cloth body or a rigid body must be assigned to the object. If the rigid body is used, a shape should be also assigned.

See Also

  • An article on Physical Wind
  • A set of samples located in the data/samples/physicals folder:
    1. wind_00
    2. wind_01
    3. wind_02
    4. wind_03
    5. wind_04
    6. wind_05

PhysicalWind Class

Members


static PhysicalWindPtr create(const Math::vec3 & size)

Constructor. Creates a physical wind node of the specified size.

Arguments

  • const Math::vec3 & size - Wind box size in units.

Ptr<PhysicalWind> cast(const Ptr<Node> & node)

Casts a PhysicalWind out of the Node instance.

Arguments

  • const Ptr<Node> & node - Pointer to Node.

Return value

Pointer to PhysicalWind.

Ptr<PhysicalWind> cast(const Ptr<Physical> & base)

Casts a PhysicalWind out of the Physical instance.

Arguments

  • const Ptr<Physical> & base - Pointer to Physical.

Return value

Pointer to PhysicalWind.

void setAngularDamping(float damping)

Sets a value indicating how much the angular velocity of the objects decreases when they get inside the wind node.

Arguments

  • float damping - Angular damping value. If a negative value is provided, 0 will be used instead.

float getAngularDamping()

Returns the current value indicating how much the angular velocity of the objects decreases when they get inside the physical wind node.

Return value

Angular damping value.

void setLinearDamping(float damping)

Sets a value indicating how much the linear velocity of the objects decreases when they get inside the wind node.

Arguments

  • float damping - Linear damping value. If a negative value is provided, 0 will be used instead.

float getLinearDamping()

Returns the current value indicating how much the linear velocity of the objects decreases when they get inside the wind node.

Return value

Linear damping value.

void setSize(const Math::vec3 & size)

Sets the size of the physical wind node.

Arguments

  • const Math::vec3 & size - Wind box size in units.

Math::vec3 getSize()

Returns the current size of the physical wind node.

Return value

Wind box size in units.

void setThreshold(const Math::vec3 & threshold)

Sets the threshold distance values along the coordinates axes relative to the wind node size (that is, inside of it). It determines the area of gradual change from zero to full wind velocity.

The threshold distance values form an invisible box, inside which the wind blows with full velocity:

Arguments

  • const Math::vec3 & threshold - Threshold distance in units.

Math::vec3 getThreshold()

Returns the current threshold distance values along the coordinates axes relative to the wind node size (that is, inside of it). It determines the area of gradual change from zero to full wind velocity. See also setThreshold().

Return value

Threshold distance in units.

void setVelocity(const Math::vec3 & velocity)

Sets the velocity of the physical wind flow along the axes.

Arguments

  • const Math::vec3 & velocity - Velocity in units per second.

Math::vec3 getVelocity()

Returns the current velocity of the physical wind flow along the axes.

Return value

Velocity in units per second.

int type()

Returns the type of the node.

Return value

Physical type identifier.
Last update: 2018-08-10