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

 

 

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

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

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

 


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

Top-10


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

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

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

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

Халява, сэр!

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

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

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

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

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

 
     

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

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

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

  • Ian Kas
  • BeckHan

Объявления


Школа "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

 
     

Паровозики

Автор: Cranyak Homewood      Время публикации: 00:54, 29.09.07
Темы:

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

Исходные данные

Рис. 01

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

Для описания путей применим уже знакомую вам схему на базе стрингов. Каждый сегмент стринга представляет собой набор точек трехмерной ломаной линии. Например, для приведенного на рисунке примера число сегментов составляет 4.

Координаты точек (X,Y,Z) описываются в текстовом файле path2.pnt.

Списки сегментов из точек – в файле path2.str: первая строка – число сегментов всего, затем идет число точек первого сегмента, индексы этих точек по path2.pnt; число точек второго сегмента, их индексы и т.д.

Описания стрелок находятся в файле path2.arr: первая строка – количество стрелок, вторая и остальные: описание каждой стрелки в виде "Np def k1 k2 ...", где

  • Np – номер точки местонахождения стрелки по path2.pnt;
  • def – значение стрелки по умолчанию, например, "2" – переключение на k2;
  • k1 – номер точки по path2.pnt, куда переключается стрелка при значении 1;
  • k2 – номер точки переключения при значении 2 и т.д.

Предварительная схема для отладки на ПК

Рис. 02
Рис. 02 - кликните на изображение для увеличения

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

В приложении RailProject.zip вы найдете delphi-проект с исходным кодом, реализующий движение паровоза с вагончиками по предложенному пути.

Реализация простая: динамически изменяющаяся форма. Паровозик и его вагоны – это движущиеся по форме кнопки. При нажатии на любую кнопку поезд сдвигается на один шаг.

Слайдер сверху справа позволяет изменить число вагонов. Кнопка "Start" запускает поезд в движение, кнопка "Stop" – останавливает. Кнопка "Reset" – сбрасывает настройки в стандартные (при этом перечитывается файл описания стрелок, так что меняя его, можно переводить стрелки).

Алгоритм движения

Алгоритм не учитывает подробностей движения объектов от точки к точке – он их перемещает мгновенно.

  1. Локомотив (вагон под номером 0) переходит в следующую точку, вычисляемую по схеме: если текущая точка входит в стрелку, то переключение выполняется на точку перехода по стрелке; иначе берется следующая точка по сегменту из списка сегментов.
    Примечание: сегменты должны содержать в себе все точки, включая точки соприкосновения в стрелках. Стрелка лишь определяет вариант пути движения локомотива. При возврате из обходного маршрута локомотив игнорирует "закрытую" стрелку – он движется через нее по точкам описания сегмента. Эту часть следует доработать на этапе рассмотрения семафоров и закрытых стрелок – локомотив должен останавливаться в таких случаях.
  2. При движении вагон с меньшим номером переходит в позицию текущего номера. Таким образом, вагоны идут по следу локомотива, и нет необходимости расчета их пути.
  3. При инициализации поезда все вагоны появляются в одной точке; чтобы начать движение с пассажирами, сначала надо "выставить поезд" – вывести его на число шагов равное числу составляющих вагонов.

Реализация на LSL

Рис. 03
Рис. 03 - кликните на изображение для увеличения

Одна математика, никакого дизайна. За все отвечает один прим, названный центральным процессором (CPU). У него в памяти хранятся описания всех путей, точек и стрелок (см. листинг c_u0.lsl).

После rez в-мире на процессоре выполняется инициализация: в воздухе в пределах 10 метров от него генерируется путь из мелких точек, и на нем выставляется состав из заданного числа вагонов. Вагоны и локомотив – в форме кубиков. Скрипт каждого кубика – u0.lsl.

Движение поезда на один шаг – touch на процессоре. Процессор шлет команды своим "подопечным" на 5-ом канале. Он указывает им точки перемещения [movX,Y,Z].

Уничтожение пути и вагонов – чат-команда die на канале /5.

Ну, а в качестве домашнего задания предлагаю всем заинтересовавшимся построить по предложенному алгоритму детскую железную дорогу на одном из русских островов :).

Комментарии
Dryke 15:51, 29.09.07 ссылка

thumbup1 Краньяк маньяк!!!

Ответить



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


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

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

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

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

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

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

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

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

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

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

 
   

Галерея


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

Каталог

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

Подписка

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

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

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

Партнеры

sm_sl.gif

rz_sl.gif

Статистика




Rambler's Top100

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