This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Полезные советы
Программирование на C#
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров узла
Setting Up Materials
Setting Up Properties
Освещение
Landscape Tool
Sandworm (Experimental)
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Objects
Sound Objects
Pathfinding Objects
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
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
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
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Math Random Functions

Warning
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 UnigineScipt (beyond its scope of applications) is not guaranteed, as the current level of support assumes only fixing critical issues.

This class contains randomization functions.

float rand ( ) #

Generate a floating point random value in range [0,1). The function returns system rand() / RAND_MAX.

Return value

A pseudo-random number between 0.0 and 1.0.

Examples

Source code (UnigineScript)
forloop(int i = 0; 4) {
	printf("%s\n",typeinfo(rand()));
}
/*
result is:
float: 0.510393
float: 0.638238
float: 0.406844
float: 0.407974
*/

variable rand ( variable from, variable to ) #

Generate a random value in range [to,from). For vectors values are obtained per component.

Arguments

  • variable from - From value. Can be the following types:
  • variable to - To value. Can be the following types:
    • int, long, float or double if the first argument is either int, float or double.
    • string if the first argument is int:
      • If a string is empty, it will equal to int(0).
      • If a string is nonempty, it will equal to int(1).
    • vec3 or dvec3 if the first argument is vec3
    • vec4 or dvec4 if the first argument is vec4
    • dvec3 if the first argument is dvec3
    • dvec4 if the first argument is dvec4
    • ivec3 if the first argument is ivec3
    • ivec4 if the first argument is ivec4

Return value

A pseudo-random number between from and to.

Examples

Source code (UnigineScript)
printf("%s\n",typeinfo(rand(-2,3)));
printf("%s\n",typeinfo(rand(-3.0,2)));
printf("%s\n",typeinfo(rand(vec3(-1,-2,-3),vec3(1,2,3))));
/*
result is:
int: 1
float: 1.5561
vec3: 0.19138 1.81164 -0.688218
*/

void srand ( int seed ) #

Set a new sequence of random numbers. Function calls system srand() function.

Arguments

  • int seed - Seed value for system random number generator.
Last update: 24.11.2020
Build: ()