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

 

 

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

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

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

 


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

Top-10


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

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

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

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

Халява, сэр!

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

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

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

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

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

 
     

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

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

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

  • Radeus
  • zladeika

Объявления


Школа "SecondRussia"

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

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

Открытие Second Kiev!

Empire Style and Black Cat Club presents

 
     

Афиша


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

Школа "SecondRussia"

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

Открытие Second Kiev!

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

Empire Style and Black Cat Club presents

 
     

Транспортные средства в SL. Приложение 2

Автор: alext      Время публикации: 20:41, 06.09.07
Темы:

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

Все части перевода: 1, 2, 3, 4, 5, 6 и приложение 1.

ФУНКЦИИ

llSetVehicleType(integer type)

Определяет объект как транспортное средство.

Second Life содержит встроенный физический движок, который позволяет объектам вести себя согласно законам физики реального мира. Манипулировать объектом можно с помощью скриптовых воздействий, однако сравнительно медленная скорость выполнения скриптов делает затруднительным создание нормально движущихся транспортных средств. Определение объекта транспортным средством ликвидирует скоростные ограничения скрипта и обеспечивает более натуральное его поведение. Таким способом физика объекта может быть задана довольно точно и получится хорошо управляемое транспортное средство. Для объявления объекта транспортным средством ему должен быть присвоен один из типов транспорта:

VEHICLE_TYPE_NONE - отменяет принадлежность объекта к классу транспортных средств. Значение равно 0.
Отменить принадлежность объекта к классу транспортных средств.

VEHICLE_TYPE_AIRPLANE - объект использует линейное смещение для набора высоты, не способен зависать в воздухе, накреняется при поворотах. Значение равно 4.

VEHICLE_TYPE_BALLOON - объект способен зависать, испытывает сопротивление воздуха, нет смещения. Значение равно 5.

VEHICLE_TYPE_BOAT - объект парит по воде с большим сопротивлением и некоторым угловым смещением. Значение равно 3.

VEHICLE_TYPE_CAR - объект передвигается по земле, требуется двигатель для возможности управления объектом посредством внешних устройств (клавиатура, мышь) или по наступлению события (timer event). Значение равно 2.

VEHICLE_TYPE_SLED - простое транспортное средство, передвигающееся по земле и предпочитающее движение вдоль своей локальной оси X. Значение равно 1.

Пример:

// Объявление объекта самолетом
llSetVehicleType(VEHICLE_TYPE_AIRPLANE);

// Отмена принадлежности объекта к классу транспортных средств
llSetVehicleType(VEHICLE_TYPE_NONE);

llSetVehicleFloatParam(integer param_name, float param_value)

Устанавливает для транспортного средства параметр param_name в формате с плавающей точкой в значение param_value.

llSetVehicleVectorParam(integer param_name, vector param_value)

Устанавливает для транспортного средства параметр векторного типа param_name в значение param_value.

llSetVehicleRotationParam(integer param_name, rotation param_value)

Устанавливает для транспортного средства параметр вращения param_name в значение param_value.

llSetVehicleFlags(integer flag)

llSetVehicleFlags задает специальные характеристики транспортного средства.

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

Несколько флагов могут быть установлены одновременно с помощью логической операции "или" (OR). Флаг может быть сброшен функцией llRemoveVehicleFlags.

Подробное описание флагов можно найти в Приложении 1.

Примеры:

// Транспортное средство будет парить не над поверхностью суши, а на глобальной высоте
llSetVehicleFlags(VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT);

// Выключить вертикальное смещение и двигатели
llSetVehicleFlags(VEHICLE_FLAG_LIMIT_MOTOR_UP | VEHICLE_FLAG_NO_DEFLECTION_UP);

// Сбросить все флаги
llRemoveVehicleFlags(-1);

Управление транспортными средствами с помощью движения мыши в SL-клиенте
(проверено на версии 1.4)

Одно из полезных свойств этой функции заключается в следующем. Когда она используется с независимой камерой, обеспечивается гораздо более простое управление транспортным средством, особенно при низкой производительности SL-клиента.

Установка нового флага VEHICLE_FLAG_MOUSELOOK_STEER изменяет смысл параметра VEHICLE_ANGULAR_MOTOR_DIRECTION:

  1. В режиме вида от первого лица (mouselook) транспортное средство будет стремиться повернуть в направлении взгляда камеры. Скорость движения вдоль каждой из осей пропорциональна соответствующим компонентам параметра VEHICLE_ANGULAR_MOTOR_DIRECTION. Если нужно, чтобы угловой двигатель поворачивал транспортное средство только влево или вправо (вращение вокруг его оси X), установите этот параметр в значение, скажем, <0,0,5>. При этом компоненты движения по осям X и Y равны нулю, а компонента по оси Z будет пропорциональна 5. Таким образом, если вы повернете мышью вид камеры на 45 градусов влево, то двигатель будет стремиться повернуть объект вокруг оси Z влево со скоростью 5*45 градусов в секунду.
  2. Задействован параметр VEHICLE_ANGULAR_MOTOR_TIMESCALE. Если желаете сделать транспортное средство быстро отзывающимся на движение мыши, установите постоянную времени в малое значение, а если хотите придать объекту некоторую инертность, используйте большее значение для нее. А вот параметр VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE не используется в режиме вида от первого лица.

Введен новый флаг VEHICLE_FLAG_MOUSELOOK_BANK. По сути это то же самое, что и флаг _STEER, за исключением того, что он интерпретирует поворот (yaw) как крен (roll). Если свойство крена активно, при движении мыши влево или вправо транспортное средство будет накреняться в соответствующую сторону.

Замечание: при установленном флаге _MOUSELOOK_BANK компоненты скорости двигателя являются коэффициентами пропорциональности, связывающими скорость вращения объекта со скоростью вращения устройства ввода. Таким образом, если вам нужно ограничить действие углового двигателя только по крену, можете установить его значение равным, например, <5,0,0>.

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

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

llRemoveVehicleFlags(integer flags)

Сбрасывает флаги транспортного средства, установленные ранее посредством llSetVehicleFlags.

Не уверены, работает ли это для llSetVehicleFlags, но значение параметра flags равное -1 для функции llRemoveVehicleFlags сбросит все флаги.

Источник TutorialVehicle

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



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


Radeus пишет в Дебют Chenkos Goldshark в клубе "Петергоф"  

Oxy Jewell пишет в Женитьба в Second Life  

Manoul Carnell пишет в Вредные советы  

Laurena Dryke пишет в Бал в Петергофе  

Oksana Quintessa пишет в Как победить чревовещание  

Ерёма пишет в Проблема...  

Mackseem пишет в Дмитрий Медведев в Second Life  

Mackseem пишет в Кто над нами вверх ногами?..  

dimm Torok пишет в Конкурс "Русская машинима Second Life"  

Ерёма пишет в Хелп ми глюк при входе!  

 
   

Галерея


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

Каталог

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

Подписка

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

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

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

Партнеры

sm_sl.gif

rz_sl.gif

Статистика




Rambler's Top100

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