This page has been translated automatically.
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
Программирование
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
Physics-Related Classes
Plugins-Related Classes
CIGI Client Plugin
Rendering-Related Classes
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Physical Noise

A physical noise is a cuboid shaped area that adds a distribution flow based on a volumetric noise texture. The physical noise enables to simulate a force field that affects particles and physical bodies with a spatial 3D noise.

Notice
The physical noise can affect only a cloth, a rope or a rigid body. Also you should remember that a rigid body requires a shape to be assigned.

For example, if you add the physical noise for particles, you can get the following:

Noise is disabled
Noise is enabled. A colored square is a noise image texture.

Notice
The physical noise will affect particles only if their physical mass is nonzero. The physical mass for the particles can be set on the Particles tab of the Parameters panel.

See also#

  • A PhysicalNoise class to edit physical noise nodes via API
  • A data/samples/physicals/noise_00 sample

Main Concepts#

Notice
The calculations described below are added for better understanding of the physical noise parameters.

The direction of the force, which affects particles and physical bodies inside the physical noise box, is stored in the noise texture: a 3D texture, each texel of which stores force direction. The noise texture that is used for the physical noise can be adjusted via UnigineEditor.

When the physical body falls within the physical noise box, the force at the current point starts to affect it. This force is calculated as follows:

Here:

Name Description
force The resulting force that affects the physical body at the current point.
force_direction Direction of the force vector that is stored in the color of a texel of the noise texture.
force_multiplier Force multiplier.
threshold Threshold distance along the axes.

The force_direction is obtained from the noise texture as follows:

As the force_direction is a vector, the calculation is actually performed as follows:

The pixel_color is obtained by sampling a pixel with the given coordinates from the noise texture. The pixel coordinates are calculated as follows:

Here:

Name Description
pixel_color Color of the noise texture pixel that stores direction of the force vector.
pixel_coordinates Coordinates of the noise texture pixel that stores direction of the force vector.
body_position Local coordinates of the physical body (relative to coordinates of the physical noise node).
step Sampling step.
offset Sampling offset
threshold Threshold distance along the axes.

Adding Physical Noise#

To add a physical noise to the scene via UnigineEditor:

  1. Run the project with UnigineEditor.
  2. On the Menu bar, click Create -> Physics -> Physical Noise.

  3. Click somewhere in the world to place the physical noise.

The new physical noise node will be added to UnigineEditor and you will be able to edit it via the Parameters window.

Editing Physical Noise#

On the Physical Noise tab of the Parameters panel, you can adjust parameters of the physical noise.

Notice
To better understand how the following parameters affect the resulting force inside the physical noise node, see the chapter on Main Concepts.

Node Parameters#

The following parameters are used to set conditions of the size of the physical noise node,

Edit Size Toggles the editing mode for the physical noise node. When enabled, the physical noise box sides that can be resized are highlighted with the colored rectangles. To change the size of a side, drag the corresponding rectangle.

Physical Mask Physical mask. The physical mask of the physical noise must match the physical mask of the physical object. Otherwise, the physical noise won't affect the object.
Size Size of the physical noise box along the axes in units.
Threshold Threshold distance along the axes. The threshold determines the distance of gradual change from zero to full force value. This values are relative to the size of the physical noise box. It means that the threshold values should be less than the size of the physical noise box.

Texture Sampling Parameters#

The following parameters are used for pixel sampling from the generated noise texture.

Notice
You can animate a force field in run-time by changing these parameters.
Offset Sampling offset along the axes.
Step Size of the sampling step along the axes.

Force Multiplier#

Force Force multiplier. The higher the value is, the higher the value of the resulting force that affects an object inside the physical noise node will be.

Texture Generation Parameters#

The following parameters are used to generate a noise texture that will be used in run-time.

Notice
It is not recommended to change values of the following parameters in run-time as the noise texture will be regenerated and the performance will decrease.
Scale Scale of the noise texture. The minimum value is 0, the maximum value is 1.
Frequency Number of octaves for the Perlin noise. The higher the value is, the more details the noise texture has. The minimum value is 0, the maximum value is 16.

Frequency = 1
Frequency = 16
Image Size Size of the noise texture image in pixels.
Last update: 27.12.2018
Build: ()