Учимся подвешивать объекты — S.T.A.L.K.E.R. Inside Wiki

Учимся подвешивать объекты

Материал из S.T.A.L.K.E.R. Inside Wiki

Версия от 09:16, 27 мая 2007; Neo (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Автор: MyCOPOK
Редактор: Neo][
Attention.gif Данный урок невозможно воспроизвести на пакете MP SDK версий 0.0.3 - 0.0.4.
Необходимо установить обновление: MP SDK Update v 0.1.

Введение

Сегодня мы научимся делать что-нибудь висящее. Итак, мы готовы что-нибудь повесить, для этого нужно: LevelEditor, какая-нибудь карта(я взял пример АТП), две не очень кривых руки, и обязательно голова с присутствующими внутри мозгами. Ну что-ж, сегодня мы будем вешать… нет, не нашего соседа (но если у вас есть его модель...), сегодня мы повесим лампу, да, обычную лампу на проводе.

Приступаем к работе

Легким движением руки, аккуратно запускаем наш Левел Едитор, и открываем карту. Если вы еще незнаете как перемещатся по едитору то говорю:

  • Shift + mouse1 = влево, вправо, вперед, назад.
  • Shift + mouse2 = вверх, вних
  • Shift + mouse2 + mouse1 = вращение.

Находим укромный уголок или место куда мы в дальнейшем повесим нашу лампу или соседа :)

Ищем подходящее место


Выбор ентити

Теперь нам нужно добавить объект. Делается это так, В свитке Edit mode заходим в Spawn Elements-> Physics-> Hanging Lamp. А если хотите подвешать простой объект то юзайте Spawn Elements-> Physics-> Object Это и есть основа нашей будующей болтающейся безделушки. Спавним ентитию на землю, предварительно нажав кнопочку Add.

Добавить объект
Переместить объект

Теперь нам нужно переместить нерадивую лампу(или соседа) в место предполагаемого повешенья. Делается это так, на панели инструментов нажимается кнопка Move. Далее ентитию можно перемещать по трем осям:

1. X  - лево, право                                
2. Y  - вверх, вниз
3. Z  - вперед, назад 
4. ZX - лево, право, вперед, назад

На самом деле направление перемещения зависит от ориентации камеры, поэтому смотрим в левом нижнем углу на оси. Прим. редактора --Neo][ 10:52, 15 мая 2007 (MSD) Еще объекты можно вращать, по тем же пресловутым осям Вот, мы поставили нашу ентити примерно как нам нужно, почему примерно, да потому что окончательно мы поставим, когда будет выбрано тело. Вы спросите как его выбрать? Для этого откроем свойства объекта Hanging Lamp, чтобы это сделать щёлкаем по объекту ПКМ и выбираем Properties(Либо нажатием клавиши "Enter", прим. редактора).

Свойства объекта

Поля которые нас интересуют подчёркнуты на картинке. Первое поле Visual, щелчком по нему открываем диалог Select Visual, в котором выбирается модель, которая будет болтаться. Я выбрал lampa_galogen_4.

Диалог Select visual


Диалог Select Skeleton Bones
Свойства лампы

Следующее поле это Fixed, щелчком по нему открываем диалог Select Skeleton Bones, в котором выбираем зафиксированные кости. Т.е, эти кости стоят как вкопанные, а остальные свободно болтаются в пределах положенных лимитов. Соотвественно выбираем кости, представляют из себя места крепления для объекта.

Следующее поле, которое нас интересует, это Physics, ставим галочку напротив него, если этого не сделать, то наша лампа не дернется даже под дулом пистолета :) Еще можно поставить Cast Shadow, чтобы свет лампы отыгрывал тени.


В свитке Lights > Main щёлкаем по полю Bone, откроется уже известный нам диалог Select Skeleton Bones, в котором выбираем кость, к которой прикрепится свет. Выбираем bone_lamp.

Завершение работы

Теперь когда мы видим модель лампы, свет будет светить оттуда, откуда надо, а не из провода, и наша лампа не упадет на землю, потому что мы зафиксировали кости, можно перенести лампу туда где она будет преспокойно болтаться. Главное чтобы лампа не залазила в игровую геометрию, чтобы это сделать можно отключить Moving Snap Toggle, это уберёт привязку и лампу можно будет деликатно пододвинуть туда, где ей будет удобнее болтаться. Если же оставить лампу в геометрии то при выстреле вашу карту наполнят звуки трепыхающегося мяса. Дело в том что лампы по своей природе очень умные, они знают что нахождение любого физического объекта в геометрии может привести к Penetration Error а потом и к крэшу, поэтому лампа начинает отчаянно высвобождаться из полигонального капкана.

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

Всё готово

Теперь нужно отбилдить и откомпилить нашу карту:

  • Лезем в Scene > Options, свиток Build options, поле level path, в столбце value пишем имя нашей карты.
  • Далее лезем в Compile > Build. Сборка карты завершена.
  • Далее делаем батник, содержание:
@start bins\compiler\xrLC.exe –f “имя которое вы вписали в level path”

Карта откомпилирована. Пришло время глянуть на наши труды. Делаем батник:

bin\xr_3da.exe  -start server(<имя уровня>/deathmatch) client(localhost)

УРАААА! Свет горит, лампа висит, и если в нее стрельнуть то соответственно тухнет А все-таки сосед смотрелся бы тут лучше : )

Результат в игре
Другие места
LANGUAGE