|
|
|
|
|
Разрушаемые объекты (Doom3)
| 21.04.2009, 15:30 |
Воспользовавшись ссылкой вы можете скачать этот пример, а тут будут необходимые комментарии к нему.
Сам пример состоит из трёх разрушаемых объектов:
- HL2 - style разрушаемый объект. Деревянная баррикада, разваливающаяся на куски после получения повреждений.
- Breakable light - разрушаемый источник света. На первый взгляд
это просто, но для обхода всех недоработок ID пришлось строить
специальную конструкцию.
- Multimodel destructable - Решётка, которую можно выбить тремя
ударами. При этом она постепенно гнётся. В этом примере это происходит
единственным образом, но процесс разрушения решётки можно разнообразить.
HL2 style
Объект устроен просто. Нарисуйте брашами нужную вам конструкцию и
преобразуйте браши (по одиночке) в moveable_domino. Установите у этих
брашей следующие поля:
После этого создайте браш и примените к нему текстуру nodraw (это
важно!) или collide. Если вы используете nodraw, то преграду можно
будет разрушить только взрывом. Если collide, то любым оружием.
Преобразуйте браш в func_damagable
и установите поле health в необходимое вам число (сколько жизней у преграды)
Соедините func_damagable со всеми moveable. Сделать это можно так:
очистить выделенные браши (esc), выбрать func_damagable и после этого
дополнительно выбрать все moveable (выбирать с шифтом). Если выбрали
что-то лишнее - начинайте сначала. После этого нажать Ctrl-k (connect
entities).
Если вы использовали текстуру collide, то дополнительно нужно создать
func_remove, присоединить к нему func_damagable перекрёстно.
(func_remove подсоединён к func_damagable, а func_damagable подсоединён
к func_remove) В результате после срабатывания func_damagable удалит
себя.
Breakable light
Для начала создайте все лампочки в разрушенном состоянии. После этого
дорисуйте брашами или патчами вашу лампу до нормального состояния.
Дорисованную часть нужно преобразовать в func_damagable. (В примере
разбитые лампочки просто закрыты патчем с нормальной текстурой лампы,
этот патч и является func_damagable). Настройте его, как и в предыдущем
случае. Добавьте func_remove. Так же перекрёстно соедините его с
func_damagable. Кроме этого создайте источник света, который
присоедините к func_damagable.
Multimodel destructable
Вам нужно нарисовать несколько вариантов разрушаемого объекта. Каждый
из вариантов группируйте при помощи func_static. Уже готовые варианты
можно пртать кнопкой H, показать всё спрятанное - shift+H В примере последний вариант решётки (окончательно сломанный) выполнен в виде movуable_domino. Это сделано для того, чтобы выбитая решётка упала по законам физики.
Так же вам нужно создать func_damagable со специальной текстурой (всё как в hl2 style). Установите у этого объекта свойство cycles меньшим на 1, чем количество моделей разной побитости. (У меня четыре модели, включая moveable. По этой причине cycles = 3). Всем моделям, кроме самой первой, нужно установить свойство hide "1". Теперь нужно правильно прописать триггеры. Создайте нескоько trigger_count (столько, сколько написано в count у func_damagable) Создайте в них поля count и заполните их цифрами от одного и до количества trigger_count-ов. Должны получится trigger_count-ы с полями count = 1, count = 2 и т.д.
Каждый из этих триггеров подсоединяется к func_damagable. Теперь для каждого из count-ов создайте func_remove и сразу присоедините его к count-у. А теперь самое запутанное - подсоединить это к моделям.
Принцип простой:
- К count-у подсоединяем модель, которая должна появиться count + 1-ой по порядку. То есть смотрим на поле count у этого триггера, прибавляем единичку и цепляем к нему модель с этим "номером". К триггеру с count = 1 должна быть присоединена вторая модель, к count = 2 - третья и далее таким же образом.
- У каждого trigger_count-а есть прикреплённый к нему func_remove. К этому func_remove нужно присоединить модель с номером count. То есть если у триггера count = 1, то к его ремуверу присоединяем первую модель.
Кроме этого к последнему из func_remove-ов нужно присоединить сам func_damagable.
|
Категория: Карты | Добавил: c4tnt
|
Просмотров: 1844 | Загрузок: 444
| Комментарии: 2
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|
|
|
|
|
|
Вход: |
|
Поиск |
|
Ссылки |
|
Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|