Хочешь узнать как попасть в Second Life?

 

 

Русификатор для клиента Second Life версии 1.21.6.99587

Количество загрузок: 1206
Подробнее о русификаторе

Все права на русификатор принадлежат SecondRussia

 


Зарегистрироваться
Вспомнить пароль

Top-10


Первые шаги в Second Life. Часть 1

Регистрация аккаунта

Как заработать в Second Life легко и быстро!

Русификация SL-клиента

Халява, сэр!

LSL. Основы. Часть 1

Системные требования

Любовь единорога - это прекрасно!

Управляем "собой"

Москва в Second Life – это, безусловно, товарищество. Часть 1

 
     

Сейчас на сайте

Сейчас на сайте 3 пользователя и 13 гостей.

Пользователи на сайте

  • poiu
  • Ian Kas
  • Romanissimo Abr...

Объявления


Школа "SecondRussia"

Заказ строительства учебного острова

Для работы над зрелищным проектом требуется скульптор

Открытие Second Kiev!

Empire Style and Black Cat Club presents

 
     

Афиша


В ближайшие дни в Second Life:

Новости Луксора

Школа "SecondRussia"

Афиша: интересные события в Second Life 28 ноября – 30 ноября 2008 года

Открытие Second Kiev!

Балет, балет, балет...

 
     

Транспортные средства в SL. Часть 6

Автор: alext      Время публикации: 14:06, 03.09.07
Темы:

Данная статья является продолжением перевода материала TutorialVehicle, размещенного на сайте LSL Wiki.

Предыдущие части:

Часть 1
Часть 2
Часть 3
Часть 4
Часть 5

Плавучесть (Buoyancy)

Транспортным средствам в SL присуще свойство плавучести (вертикальная сила, направленная вверх), независимое от функции llSetBuoyancy. Рекомендуется не использовать их совместно! Для задания плавучести объекта нужно установить параметр VEHICLE_BUOYANCY в значение между -1,0 (экстрагравитация) и 1,0 (полная антигравитация).

Свойство плавучести независимо от свойства парения (hover). Однако для того, чтобы парение работало без необходимости задавать большое значение параметра VEHICLE_HOVER_HEIGHT, параметр VEHICLE_BUOYANCY должен быть установлен в 1,0.

Не рекомендуется смешивать плавучесть транспортного средства с вызовом процедуры llSetBuoyancy. Скорее всего, это приведет к тому, что объект улетит в космос.

Парение или зависание (Hover)

Свойство парения активируется установкой параметра VEHICLE_HOVER_TIMESCALE в значение, меньшее чем 300 секунд; большие значения полностью нейтрализуют это свойство. Большинство транспортных средств лучше всего функционирует с короткой постоянной времени парения – несколько секунд или менее. Чем меньше постоянная времени, тем быстрее объект приблизится к заданной высоте. Заметьте, значения параметра VEHICLE_LINEAR_FRICTION_TIMESCALE могут влиять на скорость парения.

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

Значение параметра VEHICLE_HOVER_EFFICIENCY изменяется от 0,0 (плавучесть) до 1,0 (сглаженность). Значения в области нуля заставят объект парить немного ниже заданной высоты, и параметр VEHICLE_HOVER_TIMESCALE будет приблизительно равен периоду колебаний высоты.

По причинам, связанным с производительностью, до тех пор пока не будет улучшен физический движок Second Life, транспортные средства могут парить только над поверхностью земли или воды; они не могут парить над объектами, сделанными из примитивов, такими как мосты и дома. По умолчанию парение будет происходить над поверхностью земли или воды, однако это может быть изменено установкой некоторых флагов.

Если вы делаете корабль, то следует установить флаг VEHICLE_HOVER_WATER_ONLY, а если вы хотите управлять танком на воздушной подушке под водой, вам нужно установить флаг VEHICLE_HOVER_TERRAIN_ONLY. Наконец, для подводной лодки и воздушного шара понадобится флаг VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT. Заметьте, эти флаги независимы друг от друга, и установка несовместимых флагов приведет к непредсказуемому поведению. Напомним, что флаги устанавливаются с помощью процедуры llSetVehicleFlags.

Параметр VEHICLE_HOVER_HEIGHT определяет, как высоко над поверхностью земли и/или воды или на глобальной высоте будет парить объект. Максимальное значение этого параметра составляет 100 м, а минимальное – чуть больше нуля. Значения, равные или меньшие нуля, не имеют действия. Заметьте, с точки зрения свойства парения "центр" транспортного средства находится в его центре масс, что не всегда очевидно для нетренированного глаза, и положение центра изменяется, когда аватар находится внутри транспортного средства.
Примечание: "Мои тесты показали, что это неверно, и высота отсчитывается от центра рутового прима", - сообщает Lex Neva.

Опорный каркас (Reference Frame)

При определении транспортным средством предпочтительного направления движения в расчет принимаются оси X (at - прямо), Y (left - влево) и Z (up - вверх). По умолчанию эти оси идентичны локальным осям рутового примитива объекта, однако это значит, что рутовый примитив должен быть ориентирован согласно расчетным осям транспортного средства. Но как быть, если объект уже создан с рутовым примитивом, оси которого не согласованы с обычным движением транспортного средства? В этом случае на помощь приходит параметр VEHICLE_REFERENCE_FRAME. Благодаря ему оси транспортного средства могут быть переориентированы произвольным образом.

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

Повернуть каркас транспортного средства на -PI/2 вокруг локальной оси Y
rotation rot = llEuler2Rot(<0, PI/2, 0>);
llSetVehicleRotationParam(VEHICLE_REFERENCE_FRAME, rot);

Вот другой пример использования параметра VEHICLE_REFERENCE_FRAME. Представьте себе летающий аппарат, использующий вертикальное притяжение (vertical attractor) для обеспечения стабильности в полете, но обладающий возможностью вертикального взлета и посадки. Во время полета надфюзеляжная ось аппарата должна быть направлена вверх, но во время посадки вверх направляется его носовая часть. При посадке объекта можно сделать следующее: в то время как действует вертикальное притяжение, поверните существующий параметр VEHICLE_REFERENCE_FRAME на +PI/2 вокруг оси Y, и объект развернется носовой частью вверх. Транспортному средству можно предоставить возможность свободно снижаться на посадочную площадку под действием сопротивления или убывающего эффекта зависания (hover).

Продолжение следует.

Источник TutorialVehicle

Нет комментариев



Свежие комментарии


lenna пишет в не могу зайти на сайт  

Vixen пишет в Виртуальный призыв в армию  

Zmeja пишет в Новости Луксора  

Polina L пишет в Linden Lab борется с детскими аватарами  

Frige Fride пишет в Заказ строительства учебного острова  

Alex пишет в Linden Lab нельзя доверять информацию о кредитных картах?  

Frige Fride пишет в Что такое любовь и с чем ее едят?  

Батько Махно пишет в Не пустим врага в дом родной!  

Батько Махно пишет в Москва в Second Life – это, безусловно, товарищество. Часть 1  

Frige Fride пишет в Опросы  

 
   

Галерея


Последнее добавленное изображение.
Самое популярное изображениеСлучайное изображение
 
     

Каталог

русскоязычных ресурсов, посвященных Second Life
 
     

Подписка

RSS лента статей

RSS лента новостей

RSS лента блогов

Партнеры

sm_sl.gif

rz_sl.gif

Статистика




Rambler's Top100

количество читателей онлайн и всего