Вы находитесь на странице: 1из 1

Главная 3D 2D Engines Web Stereo Sound

Официальный сайт RigidBody


Справка программы

Airfoil

AllObjects

AnimationControls

Ball
Твердое тело - это настраиваемый сплошной объект, поддерживающий определение
Buoy
столкновений и реалистическую имитацию физики.
Cam1StPerson
Вы можете использовать ваше любимое приложение трехмерного моделирования для
CamChase создания новых твердых тел и их добавления к библиотеке объектов твердых тел.

Car Ваши собственные модели используются объектом твердого тела как ссылка для
осуществления определения столкновения или установления распределения массы
CarAI (которое, в конечном счете, определяет физическое поведение). Пожалуйста, смотрите
этот документ для подробностей.
Character
Во время выполнения программы объект твердого тела обычно невидим, и его
ConfigureControls
визуальный внешний вид предоставляется SkinMesh, присоединенным к нему. Однако, в
Counter виртуальном редакторе (и во время исполнения программы, в основном, для целей
отладки) он визуализируется через каркас-заместитель.
EventOnContact
Твердое тело может действовать либо как статический объект (например, ландшафт или
EventOnInput стены подземелья), либо как динамический объект (кузов автомобиля, фюзеляж
самолета, пуля, падающий камень, и т.д.). Пожалуйста, смотрите (приведенный ниже)
EventOnLocation параметр Общая масса для большего количества подробностей.
EventOnObjectID Функции
EventOnProximity
Объект твердого тела будет подвергаться действию законов физики, как только проект
EventOnValue запустится. Например, если он динамический, и связан с гравитационной силой и
объектом ландшафта, он реалистично упадет и отскочит.
EventTimer
После добавления объекта твердого тела к Вашему проекту Вы можете сконфигурировать
ExitFade его, дважды щелкнув на нем в списке объектов.
Fog

Force

ForceFreedback

G-Force

Group

GUIWindow

Compiler

Highway

Imposter

Joint

Particles

Path

PathFinder

PCar

PointLight
Включен при запуске
Projectiles
Если эта опция не установлена, твердое тело будет выполнять физическую симуляцию
RaceTracker
только когда объект отобразится другим объектом, подобно, например, событию по вводу.
RigidBody
Обратите внимание на то, что физика включается путем отображения объекта вместо его
Rock запуска, поскольку, будучи включенным, для объекта твердого тела, не только означает,
что выполняется его физическая симуляция, но также и то, что его замещающая
Scanner геометрия визуализируется во время выполнения программы. Но смотрите Отображать
замещающую геометрию для большего количества подробностей.
Script
Отображать геометрию
Script Ref
Установите эту опцию для визуализации во время исполнения программы модели,
SkinMesh замещающей твердое тело. Обратите внимание на то, что модель не отображается, если
SkyBox объект отключен (смотрите Включен при запуске).

SoundEffect В виртуальном редакторе Вы можете только скрыть замещающий каркас, щелкнув правой
кнопкой мыши на элементе в списке объектов.
SoundSource
Идентификатор родительской кости
Spring
Когда это значение является ненулевым, и объект твердого тела связан со SkinMesh,
Sprite который является анимированным с помощью костей, твердое тело будет присоединено к
кости SkinMesh, определенной идентификатором.
SunLight
Эта возможность может быть использована, например, для достижения определения
Switch
столкновений и физики для ноги, ударяющей по мячу. Смотрите проект примера,
Terrain называемый SkinMeshBoneRigidBodyDemo.3dr.

TextPrint Идентификатор кости должен быть положительным ненулевым целым числом. Первая
кость в модели - это 1, вторая - 2, и так далее. Какая кость соответствует определенному
Trail идентификатору, зависит от того, как изначально была разработана анимированная
модель.
Transform
Примечание: положение присоединенного объекта твердого тела является
Tree относительным оп отношению к положению кости, когда анимированная модель
ValueLabel находится в своей начальной позе. Это моет не быть поза, установленная по умолчанию,
которую Вы видите в виртуальном редакторе. Для того, чтобы увидеть начальную позу
ValueLabelBar всех анимированных объектов SkinMesh в сцене, удерживайте нажатой клавишу [F].

ValuePrint Примечание: этот параметр может быть изменен во время выполнения программы путем
использования скрипта (смотрите приведенный ниже раздел "Внутренние параметры").
Velocity Это позволяет Вам отсоединять объект твердого тела (идентификатор кости = 0) или
переключать целевую кость. Обратите внимание на то, что эта возможность
Waypoint поддерживается только для объектов твердого тела, которые присоединены к кости, когда
Wheel проект запущен.

Wind Путь

Если Вы присоедините объект твердого тела к пути путем его связывания с объектом
пути, то он будет пытаться следовать предопределенному курсу.

Число циклов

Это число раз, которое объект циклически пройдет по пути. Поддерживаются не целые
значения (например, 0,5).

Скорость

Скорость следования пути. Когда это значение равно 0, весь путь завершается за 1
секунду. Поддерживаются отрицательные значения (обратное движение).

Обратите внимание на то, что относительная скорость вдоль определенной части пути
зависит от числа узлов, определенных вдоль сегмента. В частности, чем больше узлов
определено, тем ниже скорость. Это свойство позволяет Вам точно программировать
изменения скорости.

Поведение

Когда динамический объект остановлен и перезапущен (например, объектом, подобным


Событию при вводе), он может начать еще раз с начала пути, продолжить еще раз с того
места, где он был остановлен, или переместится в противоположную сторону вдоль пути.

Следовать на старте

Если эта опция не установлена, объект будет следовать пути только тогда, когда он будет
запущен другим объектом, подобным, например, событию при вводе.

Следование пути / кости

Когда твердое присоединено к кости или пути, оно будет иметь тенденцию следовать
кости / пути. Вы можете подстроить факторы интенсивности силы и интенсивности
вращающего момента для достижения точного следования поведению для Вашего
определенного объекта.

Замечательное преимущество в смешивании следования кости пути с физикой этим


способом (вместо использования, например, функциональности следования кости / пути
объекта SkinMesh) заключается в том, что Ваш объект может реалистично
взаимодействовать с окружением (столкновения, силы, суставы) во время следования
курсом, предопределенным костью /путем.

Интенсивность силы

Чем больше значение, тем сильнее сила притяжения между костью / путем и объектом.
Для того, чтобы избежать дрожания, Вам нужно компенсировать более сильные силы
добавлением некоторого линейного демпфирования (смотрите приведенный ниже раздел
Физика).

Интенсивность вращающего момента

Чем больше значение, тем сильнее вращающий момент, используемый для того, чтобы
сохранить объект выровненным с костью (или направлением пути). Для, того, чтобы
избежать биения, Вам нужно компенсировать более сильный вращающий момент путем
добавления некоторого углового демпфирования (смотрите приведенный ниже раздел
Физика).

Физика

Использовать в качестве тела окружающую сферу

Если эта опция включена, "сплошной" объем Вашего тела будет сферой вместо
детализированной физической модели, произведенной определенной пользователем
геометрией (.spg, .coo).

Упрощенный "сплошной" объем является более быстрым в обработке. Он автоматически


создается из окружающей сферы каркаса заместителя и является рекомендуемым по
сравнению с версией, основанной на spg/coo там, где не требуется точность определения
столкновений и симуляции.

Общая масса

По существу, вес объекта. Для справки, общая масса одного литра воды (1 килограмм или
2,2 фунта) около 1,0.

Примечание: установка массы слишком низкой может привести к нестабильной


симуляции, особенно когда несколько объектов твердого тела соединены с
использованием объектов суставов для формирования сложных систем. Массы ниже 1,0
обычно не рекомендуются, если только тела не являются очень простыми подобно,
например, одиночным сферам.

Важно! Установка этого значения в -1 сделает объект статичным (бесконечный вес). Это
обычно используется для элементов декорации, подобных ландшафтам, зданиям,
деревьям и т.д.

Примечание: если твердое тело является основанным на группе-параллелепипеде/сфере


и его масса равна -1, то его положение может быть установлено динамически (во время
исполнения программы), например, с использованием скрипта (функции iObject...Set())
для получения затворов и подобных объектов, которые влияют на окружение, но не
подвергаются его влиянию. Для примера, пожалуйста, смотрите демоонстрационный
проект, называемый PaddleDemo.

Восстановление первоначального положения (между 0 и 1)

Отскакиваемость объекта при столкновении с другими объектами. Чем меньше фактор,


тем ниже отскакиваемость.

Обратите внимание на то, что когда сталкиваются два объекта, фактическое


восстановление первоначального положения - это среднее от факторов восстановления
первоначального положения двух объектов.

Трение

Сопротивление, возникающее тогда, когда объект перемещается в контакте с другим


объектом. Ноль обозначает, что нет никакого сопротивления. Установите очень высокое
значение для нескользящего трения (максимально 3.402823466e+38).

Обратите внимание на то, что когда сталкиваются два объекта, фактическое трение - это
среднее от факторов трения двух объектов.

Трение вращения (колесо)

Вы можете независимо установить поперечное трение и трение вращения, включив эту


настройку. Когда трение вращения включено, фактор трения (рассмотренный выше)
используется для поперечного трения.

Линейное демпфирование (между 0 и 1)

Демпфирование ослабляет кинетическую энергию объекта. Эффект на перемещающемся


теле подобен сопротивлению (сопротивлению движению через жидкость, например,
трение воздуха). Установка этого значения в 1 порождает нулевое демпфирование. Ноль
производит максимальное демпфирование.

Угловое демпфирование (между 0 и 1)

Демпфирование также может быть применено к вращению. Смотрите предыдущий


параметр для подробностей.

Максимальная скорость / вращение

Эти два значения позволяют Вам предохранить объект твердого тела от превышения
некоторой скорости (в метрах в секунду) и / или некоторого вращения (в градусах в
секунду) это полезно для ограничения энергии, вовлекаемой в столкновения.

При столкновениях, чрезмерные скорость или вращение могут привести к неточной


физической симуляции, резкому падению частоты кадров и даже к сбоям. Для
достижения сплошной симуляции, установите эти параметры в минимальные значения,
допускаемые дизайном Вашей игры.

Скрыть / отобразить присоединенные SkinMesh

Эта опция позволяет вам скрыть все SkinMesh, связанные с твердым телом, когда объект
твердого тела скрыт, и отобразить их, когда твердое тело отображается.

Эта возможность обычно используется с опцией "Скрыть при контакте", в настоящее


время поддерживаемой объектом события при контакте, позволяя Вам управлять
видимостью отдельных объектов твердых тел и их SkinMesh с использованием одного
одиночного объекта события при контакте и никакого скриптинга.

Для информации об оставшихся элементах управления, пожалуйста, щелкните здесь.

Импостеры

Этот объект включает функциональность, позволяющую Вам создавать / устанавливать /


разрушать клоны объекта твердого тела во время исполнения программы с
использованием скриптовых функций iObjectImposter*() или объекта импостера. Для
примера использования, пожалуйста, смотрите проекты примера, называемые
RigidBodyImposters.3dr и ImposterObjectRBDemo.3dr (в 3D Rad, нажмите Ctrl+O для
визуализации списка доступных демонстрационных проектов).

Клоны (импостеры) идентичны главному объекту твердого тела, но выполняют


физическую симуляцию независимо.

Определение столкновений и отклик доступен между каждым импостером и всеми


объектами в сцене, которые связаны (отмечены в списке объектов) с главным объектом
твердого тела.

Определение столкновений и отклик также доступны посреди самих объектов импостера


(то есть, все клоны будут выполнять определение столкновений со всеми другими
идентичными клонами в группе).

Более того, если объекты твердого тела связаны (включено столкновение), созданные
Вами для них импостеры будут выполнять определение столкновений (таким образом,
будет поддержано определение столкновений между импостерами из различных объектов
твердого тела).

Так как импростеры являются истинными внутренними клонами, полученными из главной


структуры данных (не пересозданными путем перезагрузки файлов .spg/.coo), они
являются быстрыми в создании и имеют преимущество максимальной мощности
обработки, предоставляемой NVidia PhysX.

Примечание: импостеры поддерживаются и для динамических (основанных на группе-


параллелеппеде/сфере), и для статических (основанных на полигонах) объектах твердого
тела.

Примечание: если главное твердое тело имеет включенную опцию "отображать


геометрию", ее импостеры визуализируются с использованием клона главного
визуального (представления). Однако, также в порядке визуализации теней импостеров,
главный объект твердого тела должен иметь ее определенной, и для импостера должна
вызываться скриптовая функция iObjectImposterShadowEnable().

Примечание: скрытие импостеров твердого тела полностью удалит их из симуляции. При


повторном отображении физическая симуляция для них будет возобновлена в положении,
где они были скрыты, но без всякой остаточной кинетической энергии (таким образом,
если импостер падал благодаря силе гравитации, при повторном отображении он
возобновит падение из неподвижного состояния).

Примечание: также предоставляется новая скриптовая функция, вызываемая


iObjectImposterGet() для того, чтобы позволить Вам извлечь индивидуальные положения
импостера во время исполнения программы. Это будет полезно, например для
"присоединения" импостеров от другого типа объектов (подобных SkinMesh, частицам и
т.д.) к отдельным импостерам твердого тела.

Примечание: изменения физических свойств (подобных трению, восстановлению


первоначального положения и т.д.), примененные к главному объекту после того, как
импостеры были созданы, не переносятся автоматически на импостеры.

Примечание: если главное твердое тело связано с объектом гравитационной силы,


применяемое к нему гравитационное ускорение также будет применено ко всем
импострерам также индивидуально. Однако, помните, что если главное твердое тело
выходит из области влияния объекта гравитационной силы, ускорение больше не будет
применятся к импостерам, даже если они остаются внутри области влияния объекта
гравитационной силы. Это поведение также предписывает, что когда гравитация
установлена в радиальный режим для объекта гравитационной силы, фактическое
ускорение, применяемое к отдельным импостерам будет определятся положением
главного объекта относительно объекта гравитационной силы, а не положением
отдельных объектов импостеров.

Внутренние параметры

Следующие внутренние параметры могут быть доступны с использованием объектов


событий, подобных событию по значению или скрипту:

Текущая скорость, в метрах в секунду. Только для чтения.


Текущее вращение, в градусах в секунду. Только для чтения.
Линейное демпфирование (0 - 1, 1 означает отсутствие демпфирования). Только для
записи.
Угловое демпфирование (0 - 1, 1 означает отсутствие демпфирования). Только для
записи.
Общая масса. Только для записи. Обратите внимание на то, что установка массы в
-1, что превращает твердое тело в статическое твердое тело, является
односторонней операцией. Повторная установка массы не будет иметь эффекта.
Идентификатор родительской кости. Только для записи. Смотрите примечания к
приведенному выше разделу "Идентификатор родительской кисти" для большего
количества деталей.
Скорость пути. Скорость при следовании пути.

Олег Широколава, e-mail: shyrokolava@mail.ru