This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Режимы вывода изображения
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Конфигурация IG

All IG configuration parameters (variables such as system settings, connector parameters, date, time and weather, databases, and entity definitions) are stored by default in a single file named ig_config.xml.Все параметры конфигурации IG ( переменные (variables) , такие как настройки системы, параметры коннектора, дата, время и погода, базы данных (database) и определения сущностей (entity) ) по умолчанию хранятся в одном файле с именем ig_config.xml.

Примечание
You can specify another configucation file to be used via the -ig_config startup command-line argument:
Shell-команды
-ig_config "my_config.xml"
Вы можете указать другой файл конфигурации, который будет использоваться через аргумент -ig_config командной строки запуска:
Shell-команды
-ig_config "my_config.xml"

A configuration file is an ordinary *.xml file with the following structure (example):Файл конфигурации - это обычный файл*.xml со следующей структурой (пример):

Исходный код (XML)
<?xml version="1.0" encoding="utf-8"?>
<ig_config>
	<variables>
		<!-- ==== ADAPTIVE QUALITY SYSTEM ======================= -->
		<group name="AdaptiveQualitySystem">
			<item name="mode" type="int">0</item>
			<item name="debug" type="int">0</item>
			<item name="sleep_period_after_world_load" type="float">-1.000000</item>
			<item name="cpu_budget" type="float">-1.000000</item>
			<item name="threshold" type="float">-1.000000</item>
			<item name="change_period" type="float">-1.000000</item>
		</group>
		<!-- ==== CONNECTOR PARAMETERS ======================= -->
		<group name="CIGIConnector">
			<item name="version" type="string">3.3</item>
			<item name="host">127.0.0.1</item>
			<item name="send_port">8889</item>
			<item name="recv_port">8888</item>
		</group>
		<!-- ==== CONFIGURATION FILE SETTINGS ======================= -->
		<group name="IG">
			<item name="autoload_database" type="int">-1</item>
			<item name="config_read_only" type="int">0</item>
			<item name="default_view_id" type="int">0</item>
			<item name="terrain_intersection_mask" type="int">0</item>
		</group>
		<!-- ==== WEATHER SETTINGS ======================= -->
		<group name="Meteo">
			<item name="visibility_transition_time" type="float">3.000000</item>
			<item name="precipitations_transition_time" type="float">3.000000</item>
			<item name="cloud_transition_time" type="float">3.000000</item>
			<item name="visibility_tracker" type="string">ig/weather/tracks/visibility.track</item>
			<item name="overcast_preset_tracker" type="string">ig/weather/tracks/clouds_environment.track</item>
			<item name="clouds_density_tracker" type="string">ig/weather/tracks/clouds_density.track</item>
			<item name="lightning" type="string">ig/weather/fx/lightning/nodes/lightning_particles.node</item>
		</group>
		<!-- ==== DATE AND TIME SETTINGS ======================= -->
		<group name="SkyMap">
			<item name="timezone" type="int">0</item>
			<item name="datetime" type="string">2003-12-06T10:30:00</item>
		</group>
	</variables>
	<!-- ==== DATABASE LIST ======================= -->
		<databases>
			<database id="1" world_name="world_1" geodetic_origin="25 25 0"/>
		</databases>
	<!-- ==== ENTITY DEFINITIONS ======================= -->
		<entity_types>
			<entity id="118" name="a321">
				<path>my_project/entities/aircrafts/A321/a321_air_France.node</path>
				<component id="0" name="light_outer">
					<property>LightAircraftController</property>
					<parameter name="state">enabled</parameter>
					<parameter name="data1">landing</parameter>
					<!-- ..... -->
					<parameter name="data6">logo</parameter>
				</component>
				<!-- ..... -->
				<articulated_part id="1" name="aileron">
					<node invert_pitch="1">aileron_left</node>
					<node>aileron_right</node>
				</articulated_part>
				<articulated_part id="2" name="rudder">
					<node invert_yaw="1">rudder</node>
				</articulated_part>
			</entity>
			<!-- ..... -->
		</entity_types>
	<!-- ==== VIEW TYPES LIST ===================================== -->
		<view_types>
			<view_type type="1" post_materials="post_sensor_heat"/>
			<view_type type="2" post_materials="post_sensor_green"/>
			<view_type type="3" post_materials="post_sensor_white"/>
			<view_type type="4" post_materials="post_sensor_red"/>
			<view_type type="5" post_materials="post_sensor_white,post_sensor_heat"/>
		</view_types>
	<!-- ==== CLOUD TYPES LIST ==================================== -->
		<cloud_types>
			<cloud_type type="1" name="altocumulus" material="ig/clouds/materials/altocumulus.mat" tracker_file="ig/clouds/track/altocumulus_density.track" shadow_density="0.50999999" padding="0.38499999 0.441000015" elevation="0" thickness="500"/>
			<cloud_type type="2" name="altostratus" material="ig/clouds/materials/altostratus.mat" tracker_file="ig/clouds/track/altostratus_density.track" shadow_density="0" padding="0.187999994 0.486000001" elevation="0" thickness="500"/>
			<!-- ..... -->
			<cloud_type type="12" name="cumulonimbus_2" material="ig/clouds/materials/cumulonimbus_2.mat" tracker_file="ig/clouds/track/cumulus_density.track" shadow_density="0" padding="0.178000003 0.74000001" elevation="0" thickness="500"/>
			<cloud_type type="13" name="cumulonimbus_3" material="ig/clouds/materials/cumulonimbus_3.mat" tracker_file="ig/clouds/track/cumulus_density.track" shadow_density="0.98999995" padding="0.0979999974 0.778999984" elevation="0" thickness="500"/>
		</cloud_types>
	<!-- ==== PRECIPITATION TYPES LIST ==================================== -->
		<precipitation_types>
			<precipitation_type type="2" name="snow" far_node_path="" near_node_path="ig/weather/fx/snow_particles/nodes/snow_flakes.node"/>
			<precipitation_type type="1" name="rain" far_node_path="" near_node_path="ig/weather/fx/rain_particles/nodes/rain_particles.node"/>
		</precipitation_types>
	<!-- =========================================== -->
		<syncker_channels>
			<channel view_id="0" use_syncker_projection="1" syncker_name="left_view"/>
			<channel view_id="1" use_syncker_projection="0" syncker_name="ground_cam"/>
		</syncker_channels>
	<!-- =========================================== -->
		<cigi_global_terrain_components>
			<component_light id="0" name="tomsk_full">CITY1/*</component_light>
			<component_light id="1" name="RWY_red_only">CITY1/RWY/RED</component_light>
			<component_light id="2" name="RWY_approach">CITY1/RWY/APPROACH/*</component_light>
		</cigi_global_terrain_components>
	<!-- =========================================== -->
		<cigi_weather_layer>
			<layer id="1" name="cloud1" layer_type="1"/>
			<layer id="2" name="cloud2" layer_type="1"/>
			<layer id="3" name="cloud3" layer_type="1"/>
			<layer id="4" name="rain" layer_type="2" precipitation_type="1"/>
			<layer id="5" name="snow" layer_type="2" precipitation_type="2"/>
		</cigi_weather_layer>
	<!-- =========================================== -->
	</ig_config>

Adaptive Quality System
Адаптивная система качества#

This group contains configuration parameters of the Adaptive Quality System, which adapts the image quality for the current performance by increasing/decreasing distance scale values (render_distance_scale and the Simplifier distance scale).Эта группа содержит параметры конфигурации Адаптивной система качества (Adaptive Quality System), который адаптирует качество изображения к текущей производительности, увеличивая / уменьшая значения масштаба расстояний ( render_distance_scale и Масштаб расстояний Simplifier ).

Исходный код (XML)
<group name="AdaptiveQualitySystem">
	<item name="mode" type="int">0</item>
	<item name="debug" type="int">0</item>
	<item name="sleep_period_after_world_load" type="float">-1.000000</item>
	<item name="cpu_budget" type="float">-1.000000</item>
	<item name="threshold" type="float">-1.000000</item>
	<item name="max_scale" type="float">1</item>
	<item name="min_scale" type="float">0.100000001</item>
	<item name="scale_step" type="float">0.0500000007</item>
	<item name="change_period" type="float">-1.000000</item>
</group>

The following items are available for the Adaptive Quality System: Для Adaptive Quality System доступны следующие элементы:

  • mode — one of the modes in which the Adaptive Quality System operates:mode - один из режимов работы Adaptive Quality System:

    • 0 — the system is disabled0 - система отключена
    • 1 — the system operates in the degrading mode (without re-improving the quality when the conditions are back to normal)1 - система работает в режиме degrading (без повторного улучшения качества при нормализации условий)
    • 2 — the system in normal mode, degrading the image if the CPU budget is exceeded and restoring better quality when the conditions are back to normal.2 - система в режиме normal, ухудшающая качество изображения при превышении бюджета ЦП и восстанавливающая лучшее качество, когда условия возвращаются к нормальным.
  • debug0 to disable the debug mode, 1 to enable displaying the debug info.debug - 0 для отключения режима отладки, 1 для включения отображения отладочной информации.
  • sleep_period_after_world_load — idle time of the Adaptive Quality System, in seconds, after the world is loaded.sleep_period_after_world_load - время простоя Adaptive Quality System в секундах после загрузки мира.
  • cpu_budget — target CPU Total Time value, in milliseconds. -1 sets the default value of 10 milliseconds.cpu_budget - значение общего времени целевого процессора в миллисекундах. -1 устанавливает значение по умолчанию 10 миллисекунд.
  • threshold — a threshold value, in milliseconds. If CPU Total Time has changed less than this value, no adaptation is performed. -1 sets the default value of 3 milliseconds.threshold - пороговое значение в миллисекундах. Если общее время ЦП изменилось меньше, чем это значение, адаптация не выполняется. -1 устанавливает значение по умолчанию 3 миллисекунды.
  • change_period — update period, in seconds. This period enables you to ignore spikes, not to treat them as degrading performance. -1 sets the default value of 0.5 milliseconds.change_period - период обновления в секундах. Этот период позволяет игнорировать всплески, а не рассматривать их как снижение производительности. -1 устанавливает значение по умолчанию 0,5 миллисекунды.
  • min_scale — minimum scale value defining the lower limit of the range of adjustment of the distance scale (global rendering and Simplifier).min_scale - минимальное значение шкалы, определяющее нижнюю границу диапазона регулировки шкалы расстояний ( глобальный рендеринг а также Simplifier) .
  • max_scale — maximum scale value defining the upper limit of the range of adjustment of the distance scale (global rendering and Simplifier).max_scale - максимальное значение шкалы, определяющее верхнюю границу диапазона регулировки шкалы расстояний ( глобальный рендеринг а также Simplifier) .
  • scale_step — the Adaptive Quality System shall use this step when adjusting distance scale.scale_step - адаптивная система качества должна использовать этот шаг при настройке шкалы расстояний.

Connector Parameters
Параметры коннекторов#

Configuration parameters for connectors are added to the variables group with the corresponding name, e.g. CIGIConnector for CIGI-connector:Параметры конфигурации для коннекторов добавляются в группу переменных с соответствующим именем, например CIGIConnector для CIGI-коннектора:

Исходный код (XML)
<group name="CIGIConnector">
	<item name="version" type="string">3.3</item>
	<item name="host">127.0.0.1</item>
	<item name="send_port">8889</item>
	<item name="recv_port">8888</item>
</group>

The following items are available for CIGI: Для CIGI доступны следующие элементы:

  • version — CIGI protocol versionversion - версия протокола CIGI
  • host — CIGI Host IP-addresshost - IP-адрес хоста CIGI
  • send_port — TCP port number to be used for sending packets to the CIGI Hostsend_port - номер порта TCP, который будет использоваться для отправки пакетов на хост CIGI
  • recv_port — TCP port number to be used for receiving packets from the CIGI Hostrecv_port - номер порта TCP, который будет использоваться для приема пакетов от хоста CIGI
  • packet_size — maximum size of the packetpacket_size - максимальный размер пакета

The following items are available for DIS: Для DIS доступны следующие элементы:

  • broadcast_address — a broadcast address of the server computer that is used to broadcast messages to IG over the networkbroadcast_address - широковещательный адрес серверного компьютера, который используется для трансляции сообщений в IG по сети
  • site — the Site ID of this application instancesite - идентификатор сайта этого экземпляра приложения
  • exercise — the Exercise ID of the DISexercise - ID упражнения DIS
  • app — the Application ID of this application instanceapp - идентификатор приложения этого экземпляра приложения

Configuration File Settings
Настройки файла конфигурации#

The following parameters are available to control automatic update of the configuration file.Следующие параметры доступны для управления автоматическим обновлением файла конфигурации.

Исходный код (XML)
<group name="IG">
	<item name="autoload_database" type="int">-1</item>
	<item name="config_read_only" type="int">0</item>
	<item name="default_view_id" type="int">0</item>
	<item name="terrain_intersection_mask" type="int">0</item>
</group>
  • autoload_databaseID of the database to be loaded automatically.autoload_database - ID базы данных загружаемой автоматически.
  • config_read_only — set this parameter to 1 to avoid automatic re-writing of the configuration file with deletion of all your comments.config_read_only - установите для этого параметра значение 1, чтобы избежать автоматической перезаписи файла конфигурации с удалением всех ваших комментариев.
  • default_view_idID of the view to be used by default.default_view_id - ID представления будет использоваться по умолчанию.
  • terrain_intersection_mask — intersection mask specifying which surface is considered the ground surface (HAT/HOT requests, entity clamp, etc.).terrain_intersection_mask - маска пересечения, определяющая, какая поверхность считается поверхностью земли (запросы HAT / HOT, фиксация объекта и т.д.).

Weather Settings
Настройки погоды#

The weather settings are added to the variables group with the name Meteo.Настройки погоды добавлены в группу переменных с именем Meteo.

Исходный код (XML)
<group name="Meteo">
	<item name="visibility_transition_time" type="float">3.000000</item>
	<item name="precipitations_transition_time" type="float">3.000000</item>
	<item name="cloud_transition_time" type="float">3.000000</item>
	<item name="visibility_tracker" type="string">ig/weather/tracks/visibility.track</item>
	<item name="overcast_preset_tracker" type="string">ig/weather/tracks/clouds_environment.track</item>
	<item name="clouds_density_tracker" type="string">ig/weather/tracks/clouds_density.track</item>
	<item name="lightning" type="string">ig/weather/fx/lightning/nodes/lightning_particles.node</item>
	<item name="water_beaufort_material_prefix" type="string">water_global_beaufort_%d</item>
</group>

The following items are available:Доступны следующие позиции:

  • visibility_transition_time — time, in seconds, for gradual change of visibility conditions (fog, etc.)visibility_transition_time - время в секундах для постепенного изменения условий видимости (туман и т.д.)
  • precipitations_transition_time — time, in seconds, for gradual change of precipitationprecipitations_transition_time - время в секундах для постепенного изменения количества осадков
  • cloud_transition_time — time, in seconds, for gradual change of cloudinesscloud_transition_time - время в секундах для постепенного изменения облачности
  • visibility_tracker — path to the .track file containing visibility transition effectvisibility_tracker - путь к файлу .track, содержащему эффект перехода видимости
  • overcast_preset_tracker — path to the .track file containing the overcast presetovercast_preset_tracker - путь к файлу .track, содержащему пресет облачности
  • clouds_density_tracker — path to the .track file containing gradual change of cloudinessclouds_density_tracker - путь к файлу .track, содержащему постепенное изменение облачности
  • rain - путь к узлу, представляющему частицы дождя
  • snow - путь к узлу, представляющему частицы снега
  • lightning — path to the node storing lightinglightning - путь к узлу, представляющему освещения
  • water_beaufort_material_prefix — name of the water material for the corresponding number according to the Beaufort scalewater_beaufort_material_prefix - название водного материала для соответствующего числа по шкале Бофорта

Date and Time Settings
Настройки даты и времени#

The date and time settings are added to the variables group with the name SkyMap.Настройки даты и времени добавляются в группу переменных с именем SkyMap.

Исходный код (XML)
<group name="SkyMap">
	<item name="timezone" type="int">0</item>
	<item name="datetime" type="string">2003-12-06T10:30:00</item>
</group>

The following items are available:Доступны следующие позиции:

  • timezone — UTC timezone, only an integer value is possible (if not set, UTC=0)timezone - часовой пояс UTC, возможно только целочисленное значение (если не задано, UTC = 0)
  • datetime — date and time set for the specified timezonedatetime - дата и время для указанного часового пояса

Databases
Базы данных#

The list of databases (worlds with terrains) is enclosed in the <databases/> tag. You can specify as many worlds as required.Список базы данных (миры с ландшафтом) заключены в тег <databases/>. Вы можете указать сколько угодно миров.

Исходный код (XML)
<databases>
	<database id="1" world_name="world_1" geodetic_origin="25 25 0"/>
	<!-- ..... -->
	<database id="n" world_name="world_n" geodetic_origin="23 10 0"/>
</databases>

The following attributes are available:Доступны следующие атрибуты:

  • id — ID of the database (used when loading databases)id - ID базы данных (используется при загрузке баз)
  • world_name — name of the corresponding *.world fileworld_name - имя соответствующего файла *.world
  • geodetic_origin — geodetic origin in ellipsoid coordinates (latitude (degrees), longitude (degrees), and altitude (meters) ).geodetic_origin - геодезическая начало координат в эллипсоидных координатах ( широта (градусы), долгота (градусы) и высота (метры)).

Entity Definitions
Определения сущностей (entity)#

An IG has a number of models, that are used to represent certain entities in the virtual environment. Entity definition section is enclosed in the <entity_types/> tag. To define each entity, the <entity/> tag is used.IG имеет ряд моделей, которые используются для представления определенных сущностей(entity) в виртуальной среде. Раздел определения сущностей заключен в тег <entity_types/>. Для определения каждой сущности используется тег <entity/>.

Примечание
id and name indicated within the <entity/> tag are referred to the type of the entity, not to its instances.id и name, указанные в теге <entity/>, относятся к типу объекта, а не к его экземплярам.

Each entity includes the following:Каждая сущность включает в себя следующее:

  • *.node file containing the hierarchy of nodes representing the entity in the virtual world. A path to this file is specified in the <path/> tag.*.node файл, содержащий иерархию узлов, представляющих сущность в виртуальном мире. Путь к этому файлу указывается в теге <path/>.
  • Set of components (flashing lights, aircraft propellers, afterburners, landing gear, tank tracks, wheels, and like items). Definition of each component is enclosed in the <component/> tag.Набор из составные части (мигалки, воздушные винты, форсажные камеры, шасси, гусеницы танков, колеса и тому подобное). Определение каждого компонента заключено в тег <component/>.

    Примечание
    Component data in packets, received by IG from connectors, is usually represented as a set of a discrete state and up to six values (data1, data2 ... data6). IG component definitions in this section are actually used to map parameters from connectors to corresponding properties (e.g. data1 field of the outer_light component in the example below corresponds to landing light type).Компонентные данные в пакетах, полученных IG от коннекторов , обычно представляются как набор дискретного состояния и имеют до шести значений (data1, data2 ... data6). Определения компонентов IG в этом разделе фактически используются для сопоставления параметров из коннекторов с соответствующими характеристики (например, поле data1 компонента outer_light в примере ниже соответствует типу источника света landing).
  • Set of articulated parts (ailerons, flaps, etc.). Definition of each articulated part is enclosed in the <articulated_part/> tag.Набор из шарнирные части (элероны, закрылки и т. д.). Определение каждой шарнирной части заключено в тег <articulated_part/>.

Click to enlarge

Below is an example of entity definition section:Ниже приведен пример раздела определения сущности:

Исходный код (XML)
<entity_types>
	<entity id="111" name="b52">
		<path>my_project/entities/aircrafts/B52/b52.node</path>
		<component id="0" name="light_outer">
			<property>LightAircraftController</property>
			<parameter name="state">enabled</parameter>
			<parameter name="data1">landing</parameter>
			<!-- ..... -->
			<parameter name="data6">logo</parameter>
		</component>
		<!-- ..... -->
		<articulated_part id="1" name="aileron">
			<node invert_pitch="1">aileron_left</node>
			<node>aileron_right</node>
		</articulated_part>
		<articulated_part id="2" name="rudder">
			<node invert_yaw="1">rudder</node>
		</articulated_part>
		<volume_definition id="0" name="body" shape="0">volumes</volume_definition>
		<volume_definition id="1" name="wings" shape="1">volumes</volume_definition>
	</entity>
	<!-- ..... -->

Components
Компоненты#

Each entity may have an arbitrary number of components assigned, including custom ones. To define a component of an entity use the <component/> tag:Каждому объекту может быть назначено произвольное количество компонентов, включая нестандартные . Чтобы определить компонент объекта, используйте тег <component/>:

Исходный код (XML)
<!-- ..... -->
		<entity id="118" name="a321">
			<path>my_project/entities/aircrafts/A321/a321_air_France.node</path>
			<!-- ..... -->
			<component id="22" name="rotorwash">
				<property>rotorwash</property>
				<parameter name="data1">wind_percent</parameter>
				<parameter name="data2">sand_percent</parameter>
			</component>
			<!-- ..... -->
		</entity>
	<!-- ..... -->

Components are added to entities by means of assigning corresponding properties to nodes. By default it is assumed that all properties corresponding to components are assigned to the root node. In fact, a component's property can be assigned to any node in entity's hierarchy. For such a component you should add the <node/> tag to specify a path to this node (the path is specified relative to the root node):Компоненты добавляются к сущностям посредством присвоения соответствующих характеристик к узлам. По умолчанию предполагается, что все свойства, соответствующие компонентам, назначены корневому узлу. Фактически, свойство компонента может быть присвоено любому узлу в иерархии сущностей. Для такого компонента вы должны добавить тег <node/>, чтобы указать путь к этому узлу (путь указывается относительно корневого узла):

Исходный код (XML)
<!-- ..... -->
		<entity id="118" name="a321">
			<path>my_project/a321_air_France.node</path>
			<!-- ..... -->
			<component id="22" name="rotorwash">
				<property>rotorwash</property>
				<node>path_to_node</node>
				<parameter name="data1">wind_percent</parameter>
				<parameter name="data2">sand_percent</parameter>
			</component>
			<!-- ..... -->
		</entity>
	<!-- ..... -->
Примечание
You can also specify a path to a node inside a NodeReference as follows:
  • <node>path_to_node_reference/^/path_inside_nodereference</node>
Вы также можете указать путь к ноде внутри NodeReference следующим образом:
  • <node>path_to_node_reference/^/path_inside_nodereference</node>

Example:Пример:

For a hierarchy shown below, we have the comp1 component's property assigned to the aileron_left node, and comp2 component's property assigned to the engine_1_fire node. Definition of components will look like:Для иерархии, показанной ниже, у нас есть свойство компоненты comp1, назначенное узлу aileron_left , и свойство компонента comp2, назначенное узлу engine_1_fire. Определение компонентов будет выглядеть так:

Исходный код (XML)
<entity id="118" name="a321">
		<path>my_project/a321_air_France.node</path>
		<component id="1" name="comp1">
			<property>comp1</property>
			<node>aileron_left</node>
			<parameter name="param1">param_1</parameter>
			<!-- ..... -->
		</component>
		<component id="2" name="comp2">
			<property>comp1</property>
			<node>effects/^/engine_1_fire</node>
			<parameter name="param1">param_1</parameter>
			<!-- ..... -->
		</component>
		<!-- ..... -->
	</entity>

Articulated Parts
Шарнирно-сочлененные детали#

Each entity may have an arbitrary number of articulated parts (e.g. flaps, slats, etc.). To define an articulated part of an entity use the <articulated_part/> tag:Каждый объект может иметь произвольное количество шарнирных частей (например, закрылки, предкрылки и т.д.). Чтобы определить сочлененную часть объекта, используйте тег <articulated_part/>:

Исходный код (XML)
<entity_types>
	<entity id="111" name="b52">
		<path>my_project/entities/aircrafts/B52/b52.node</path>
		<!-- ..... -->
		<articulated_part id="1" name="aileron">
			<node invert_pitch="1">aileron_left</node>
			<node>aileron_right</node>
		</articulated_part>
		<articulated_part id="2" name="rudder">
			<node invert_yaw="1">rudder</node>
		</articulated_part>
	</entity>
	<!-- ..... -->
Примечание
Options invert_roll, invert_pitch, and invert_yaw are used to indicate that the corresponding rotation direction (Y — roll, X — pitch, Z — yaw) of the articulated part element is inverted.Параметры invert_roll, invert_pitch и invert_yaw используются, чтобы указать, что соответствующее направление вращения (Y - крен, X - тангаж, Z - рыскание) элемента шарнирной части инвертировано.

For each articulated part a corresponding node should be specified using the <node/> tag. Paths are specified relative to the root node, the same way as for components.Для каждой шарнирной части должен быть указан соответствующий узел с помощью тега <node/>. Пути указываются относительно корневого узла, так же, как для компонентов .

Примечание

You can also specify a path to a node inside a NodeReference as follows:Вы также можете указать путь к узлу внутри NodeReference следующим образом:

  • <node>path_to_node_reference/^/path_inside_nodereference</node>

Volumes
Volumes#

To define an entity volume use the <articulated_part/> tag:Для определения объема сущности используйте тег <articulated_part/>:

Исходный код (XML)
<!-- ..... -->
		<entity id="111" name="b52">
			<path>my_project/entities/aircrafts/B52/b52.node</path>
			<!-- ..... -->
			<volume_definition id="0" name="body" shape="0">path/inside/nodereference</volume_definition>
			<volume_definition id="1" name="wings" shape="1">path/inside/nodereference</volume_definition>
		</entity>
		<!-- ..... -->

The following attributes are available:Доступны следующие атрибуты:

  • id — the volume identifier in CIGI/IG.id — идентификатор объема в CIGI/IG.
  • name — the name of the volume. You can use it for debugging or when writing your own collision handler.name — имя объема. Вы можете использовать его для отладки или при написании собственного обработчика столкновений.
  • shape — the shape order in the physics/shapes tab.shape — порядковый номер формы на вкладке physics/shapes.

Using this tag requies creating ObjectDummy and BodyDummy inside the entity NodeReference. The value indicated inside this tag is a path to the ObjectDummy inside the entity NodeReference.Использование этого тега требует создания ObjectDummy и BodyDummy внутри NodeReference сущности. Значение, указанное в этом теге, является путем к ObjectDummy внутри NodeReference сущности.

Cloud Types
Типы облаков#

The list of available cloud types is enclosed in the <cloud_types/> tag. The cloud type can be set via HEMU / IG Host, or using the WeatherLayerCloud::setCloudType() method.Список доступных типов облаков заключен в тег <cloud_types/>. Тип облака можно установить с помощью HEMU / IG Host , или используя метод WeatherLayerCloud::setCloudType().

Исходный код (XML)
<cloud_types>
	<cloud_type type="1" name="altocumulus" material="ig/clouds/materials/altocumulus.mat" tracker_file="ig/clouds/track/altocumulus_density.track" shadow_density="0.50999999" padding="0.38499999 0.441000015" elevation="0" thickness="500"/>
	<cloud_type type="2" name="altostratus" material="ig/clouds/materials/altostratus.mat" tracker_file="ig/clouds/track/altostratus_density.track" shadow_density="0" padding="0.187999994 0.486000001" elevation="0" thickness="500"/>
	<!-- ..... -->
	<cloud_type type="12" name="cumulonimbus_2" material="ig/clouds/materials/cumulonimbus_2.mat" tracker_file="ig/clouds/track/cumulus_density.track" shadow_density="0" padding="0.178000003 0.74000001" elevation="0" thickness="500"/>
	<cloud_type type="13" name="cumulonimbus_3" material="ig/clouds/materials/cumulonimbus_3.mat" tracker_file="ig/clouds/track/cumulus_density.track" shadow_density="0.98999995" padding="0.0979999974 0.778999984" elevation="0" thickness="500"/>
</cloud_types>

The following attributes are available:Доступны следующие атрибуты:

  • type — type of cloudstype - тип облаков
  • name — name of the cloud typename - название типа облака
  • material — material to be usedmaterial - материал, который будет использоваться
  • shadow_density — power of the shadow cast by this cloud within the range [0.0, 1.0]shadow_density — power of the shadow cast by this cloud within the range [0.0, 1.0]
  • padding — lower and upper bounds for this type of cloudpadding — lower and upper bounds for this type of cloud
  • elevation — default elevation for this type of cloud (height above sea level), in meterselevation — default elevation for this type of cloud (height above sea level), in meters
  • thickness — default thickness for this type of cloud, in metersthickness — default thickness for this type of cloud, in meters

Precipitation Types
Precipitation Types#

The list of available precipitation types is enclosed in the <precipitation_types/> tag.Список доступных типов осадков заключен в тег <precipitation_types/>.

Исходный код (XML)
<precipitation_types>
	<precipitation_type type="2" name="snow" far_node_path="" near_node_path="ig/weather/fx/snow_particles/nodes/snow_flakes.node"/>
	<precipitation_type type="1" name="rain" far_node_path="" near_node_path="ig/weather/fx/rain_particles/nodes/rain_particles.node"/>
</precipitation_types>

The following attributes are available:Доступны следующие атрибуты:

  • type — precipitation type idtype — тип осадков
  • name — name of the precipitation typename — название типа осадков
  • far_node_path — path to the node storing a representtation of the precipitation effect for far distances (when left empty the near_node_path is used)far_node_path - путь к node-файлу, хранящему представление эффекта осадков для дальних расстояний (если оставить пустым, используется near_node_path)
  • near_node_path — path to the node storing a representtation of the precipitation effect for close distancesnear_node_path - путь к node-файлу, хранящему представление эффекта осадков для близких расстояний.

Cameras
Камеры#

Cameras in IG are synchronized in a special way. A View is an IG wrapper for the Camera, so you can manage a camera via the View only. IG has the following methods to set the desired view for a Slave:Камеры в IG синхронизируются особым образом. View - это оболочка IG для Camera, поэтому вы можете управлять камерой только через просмотр . IG имеет следующие методы для установки желаемого вида для Slave:

  • void setCurrentView(int view_id);
  • void setSlaveView(int slave_index, int view_id);

The list of available views is enclosed in the <syncker_channels/> tag. Here you can set the desired view for each Slave and specify if it is affected by the Syncker’s projections:Список доступных представлений заключен в тег <syncker_channels/>. Здесь вы можете установить желаемый вид для каждого Slave и указать, будут ли на него влиять проекции Syncker:

Исходный код (XML)
<syncker_channels>
	<channel view_id="0" use_syncker_projection="1" syncker_name="center_view"/>
	<channel view_id="1" use_syncker_projection="1" syncker_name="left_view"/>
	<channel view_id="2" use_syncker_projection="0" syncker_name="ground_cam"/>
</syncker_channels>

The following attributes are available:Доступны следующие атрибуты:

  • view_id — ID of the view to be usedview_id - ID используемого вида
  • use_syncker_projection — flag indicating if the view is affected by the Syncker’s projectionsuse_syncker_projection - флаг, указывающий, влияет ли на рендеринг Проекций синкера
  • syncker_name — name of the view used in the Synckersyncker_name - имя вида, используемого в Syncker

View Types
Типы видов#

The list of post effect materials available for the camera is enclosed in the <view_types/> tag. The view type can be set via HEMU / IG Host, or using the setViewType() method.Список доступных для камеры пост-эффектов заключен в тег <view_types/>. Тип просмотра можно установить с помощью HEMU / IG Host , или используя метод setViewType() .

Исходный код (XML)
<view_types>
	<view_type type="1" post_materials="post_sensor_heat"/>
	<view_type type="2" post_materials="post_sensor_green"/>
	...
</view_types>

The following attributes are available:Доступны следующие атрибуты:

  • id — ID of the database (used when loading databases)id - ID базы данных (используется при загрузке баз)
  • post_materials — list of post effects to be appliedpost_materials - список применяемых постэффектов
Последнее обновление: 16.08.2024
Build: ()