Ship & Ship Marker


Всем привет. С вами Kadath.
Данная статья расскажет вам, как пользоваться интересной енитей «Ship», и что она из себя представляет. Разумеется, статья предусматривает, что вы имеете достаточный опыт работы в SED'е, чтобы уметь связывать браши с ентитей и нацеливать их на маркера. И если вы имели опыт с любимым Moving Brush, то будет еще проще.



1. Ентитя «Ship», по принципу действия похожа на Мувинг Браш и служит для создания кораблей с эффектом «качки».
Также корабль может следовать заданному маршруту, останавливаться в определенных точках, поднимать или опускать парус, выполнять повороты и заносы, почти максимально соответствующие реальной физике.

2. Немного истории. Как можно видеть, эта штука не использоваль ни в одном оффициальном выпуске игры Serious Sam. Исключение составляет пользовательская модификация "Dark Island", в котором использовалась эта ентитя вкупе с отличным кораблем, позаимствованным от Пререлизионной версии игры. Именно в альфа-версии, как видно на скринах того времени, можно увидеть этот корабль и сделать вывод, что использовалась ентитя "Ship". Вероятной причиной ее не использования в финале, стала обширная глючность ентити. А также отсутствие подходящих идей для морей и океанов в игре. Вот так.

3. Найти ентитю «Ship», можно в стандартом каталоге «Additional entites», где также находится «Ship marker», который нам пригодится позже.




Cписок параметров данной ентити и их значения:

Acseleration – значение, отвечающее за силу инерции хода корабля до и после маркера с параметром остановки. (Рекомендуется 30)
Name – имя ентити. Стандартная функция.
Parent – ненужное прикрепление ентити к любому объекту. Стандартная функция.
Rocking A – Сила килевой качки по оси Y. (Рекомендуется 3)
Rocking V – Сила бортовой качки по кривой оси X/Y. (Рекомендуется 1.5)
Rotation [deg/s]- Отвечает за плавность и скорость поворота корабля. Чем меньше, тем медленнее поворот. (Рекомендуется 30)
Sail- здесь указываем модель, которая будет играть роль паруса для корабля. Вещь глупая, но без неё корабль работать не будет. Указываем нужную модель однозначно.
Sail roll-down anim- если выбрана модель паруса, то здесь указываем ту анимацию модели, которая будет действовать при спуске паруса. (Например, чтобы тронуться в путь, корабль спускает и открывает парус). Указывать анимации не обязательно, но рекомендуется.
Sail roll-up anim- та же баня, но надо указать анимацию при подъеме паруса. (Пример – приплыли к пристани, подняли, свернули парус).
Sail sailing anim- анимация модели при полном ходе корабля. (Раздутый от ветров парус).
Sail wawing anim- анимация модели, когда корабль просто стоит. (Колыхание паруса от ветерка).
Spawn flags- вам это не пригодится. Стандартная функция.
Speed [m/s]- скорость хода корабля в метрах в секунду. Чем больше значение – тем она выше.
Target- здесь надо указать первый Ship marker для пути корабля.




Параметры Ship marker:

Тут все просто. Маркеры имеют те-же параметры, что и сам корабль. При желании, можно изменить или оставить исходные значения корабля, в следующих параметрах – Acseleration, Name, Parent, Rocking A, Rocking V, Rotation [deg/s], Spawn flags, Speed [m/s].
Отдельно стоит разобрать:
Rocking Change Time – тут стоит ввести время смены с исходного до поставленного в маркере значения качки.
Harbor – (от Англ. «Порт») флажок в данном параметре, ставится в том случае, если заходя на маркер, корабль должен сделать остановку.
Target – указываем следующий маркер движения.




А теперь, мы создадим свой корабль, применяя ентитю «Ship».

1. Для начала, надо создать отдельный браш, который будет служить нам кораблем. Можно добавить мачту.

2. Ставим на карту ентитю Ship и прикрепляем наш браш к данной ентите, выделив браш и нажав Num+.
3. Теперь, нужно установить парус. Ставим модель паруса там, где он должен быть. В параметрах модели задаем имя в поле Name, а в параметре Targetable, ставим галочку, чтобы мы смогли выбрать модель в Ship'е.
4. Выделяем наш корабль. В свойстве Sail, ищем наш парус и выбираем его. Если у модели есть желаемая анимация, то ее можно указать в параметрах Sail roll-down anim, Sail roll-up anim.
5. Корабль готов. Осталось назначить путь его перемещения.
Для этого ставим ShipMarker в то место, где наш корабль.
Затем, расположите следующие маркеры там, где должно проплыть судно, задавая им уникальное имя. Теперь, у каждого, начиная с первого маркера, в параметре Target, указываем следующий после него маркер – Marker1 => Marker2 => Marker3… У последнего маркера, в поле Наrbor, поставьте галочку.

Вернемся к кораблю и в его параметре Target, укажите самый первый маркер.
Путь корабля готов, и уже можно тестить уровень.
Но прежде, следует пояснить несколько нюансов:
- Чтобы корабль начал первое движение, надо прыгнуть на его палубу, соприкоснутся с его поверхностью.
- Чтобы корабль остановился у маркера, поставьте галочку в Наrbor. Но помните, что судно не может резко затормозить, если использовать стандартные значения параметров. Поэтому, оно проплывет некоторое расстояние, после захода на маркер.
- Чтобы корабль тронулся в путь после остановки, нужно создать триггер, нацелив на корабль, и активировать данный триггер.
- Учтите, что не следует ставить маркеры так, чтобы поворот корабля имел резкий угол. Это грозит нежелательным поведением корабля, например полное изменения направления и скорости.
- Не стоит подходить к краям судна, ибо вероятен баг вылета игрока за борт.
- Корабль может наносить увечья игроку при соприкосновении – будьте бдительны.
- Данная ентитя, является довольно глючной, но интересной. Если у вас будут происходить баги с движением, поворотами и поведением судна в общем – не теряйте терпение, пробуйте различные вариации расположения маркеров, комбинации скорости и т.д… Уверен, у вас все получится=)

Это все. Спасибо за внимание)


Комментарии   

№ 4  |  07.09.2013  |  +1  
Хорошая статья, а где взять модель паруса?
Ответ Цитата

№ 5  |  07.09.2013  |  +1  
В модификации "Dark Island"=)
Ответ Цитата

№ 2  |  07.09.2013  |  0  
А я думал ,что ship-marker управляет сирианской тарелкой ulybka_b
Ответ Цитата

№ 3  |  07.09.2013  |  +3  
Увы. Сирианским Кораблем управляет PyramidSpaceShipMarker.
Ответ Цитата

№ 1  |  06.09.2013  |  +4  
Интересно))
Ответ Цитата

Оставьте комментарий

Мини-профиль

Гость

Вы в группе: Гости
Ваш IP: 54.197.124.106

Информация

Прочее

Категории раздела

Croteam [3]
Материалы по студии разработчика игр CroTeam.
Интервью с разработчиками [9]
Интервью с разработчиками, а также их издателями.
Serious Sam 1 [10]
Статьи о Serious Sam 1
Serious Sam 2 [6]
Статьи о Serious Sam 2
Serious Sam HD [5]
Статьи о HD-серии, ремейков классических версий Сэма.
Serious Sam 3: BFE [9]
Статьи о Serious Sam 3: BFE
Уроки по Serious Editor 1 [54]
Уроки по Serious Editor 2 [2]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [33]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [25]
Всё что не подошло не под одну из вышеупомянутых категорий.
Serious Sam: Revolution [1]
Материалы по SS: Revolution, серьёзном обновлении классических Крутых Сэмов.
Serious Sam 1.05/1.07 SDK [10]
SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07.

Голосование

Какая локализация (текст/звук) Serious Sam на ваше мнение лучшая?
1. Второе Пришествие (2002 год, под ред. Гоблина)
2. Serious Sam 3: BFE (2011 год, SnowBall)
3. Первая Кровь (2001 год, Логрус)
4. HD 2: BFM (???, ???)
5. Serious Sam 2 (2005 год, Логрус)
6. Золотое Издание (2004 год, Логрус)
7. HD: The Second Encounter (2010 год, Новый Диск)
8. HD: The First Encounter (2010 год, 1С)

Статистика



На сайте: 10
Гостей: 6
Пользователей: 4
C3mPathe, max375, ThomasDype