Пятница, 04.10.2024, 03:20
Приветствую Вас Guest | RSS
Главная страница | Статьи | Регистрация | Вход
Меню сайта

Случайный рисунок

Категории каталога
Туториалы по маппингу (HL2) [68]
Туториалы по маппингу для Half-Life
Туториалы по текстурированию (HL2) [10]
Туторы по текстурированию для Half-Life
Туториалы по моделированию (HL2) [9]
Туторы по моделированию для Half-Life
Туториалы по программированию (HL2) [53]
Туторы по прагроммированию для Half-life
Другие туториалы (HL1 и HL2) [4]
Туторы которые не вошли в другие категории
Half-Life 2 Beta [1]
Статьи о npc и weapon в бете Half-Life 2, а так же мануалы и FAQ.
Туториалы по маппингу (HL1) [14]
Туторы по маппингу для Half-Life 1
Туториалы по текстурированию (HL1) [1]
Туторы по текстурированию для Half-Life 1
Туториалы по моделированию (HL1) [1]
Туторы по моделированию для Half-Life 1
Туториалы по программированию (HL1) [30]
Туторы по программированию для Half-Life 1

Наш опрос
Очистить ли форум от всех сообщений и начать всё с чистого листа?
Всего ответов: 563

Начало » Статьи » Туториалы по маппингу (HL2)

Продвинутый унитаз
Итак, надеюсь основы маппинга вы знаете, и мне не придётся объяснять что такое точечная энтити и прочее. В этом туториале я расскажу вам как пользоваться системой I/O(Input Output system)на довольно наглядном примере. Будем делать "продвинутый" унитаз. Вы все наверное видели вот этот унитаз на dm_lockdown'e? 



Согласитесь, как-то не очень эффектно он вырывается из стенки, откровенно говоря он никак и не вырывается, а просто берётся... Так давай-те же поможем ему как следует отодраться от стены, с разрушениями, с треском, с пылью wacko

1) Для начала давайте создадим стенку для сартира с перегоротками, чтобы другие не пасли, когда вы делаете своё важное "дело" гыгы %).

2) Теперь создаём сам сартир при помощи точечной энтити prop_physics и изменим следующие параметры в свойствах(выберите объект в 3D view и нажмите ALT + ENTER):
"Name"="любое_имя"(я назвал "toilet1")
"World Model"="models/props_wasteland/prison_toilet01.mdl"
"Disable shadows"="yes"
Зайдём в закладку "Flags" и поставим галки напротив "Motion disabled" и "Enable motion on Physcannon grab"

3) Сейчас включите немного фантазии и представьте как бы выглядела стена после того как от неё был оторван Gravity gun'ом унитаз? Правильно, там бы образовалась дырень. Вот её давайте и сделаем. Объяснять как делать дырки думаю не надо, но добавлю что при создании дыры я использовал такие инструменты как: Clipping tool, Vertex tool и Displacement

4) Необходимо дыру заделать так как-будто её нет. Как заделывать дыру думаю рассказывать не нужно, добавлю лишь что в целях экономии времени советую копировать браши прижатой клавишей SHIFT и подгонять их инструментом Vertex tool.

5) Так, теперь необходимо выделить все эти кусочки( прижатой клавишей CTRL в 3D проэкции выделять браши ), которые вы только что заделывали и сделать их браш энтити func_breakable, изменим следующие параметры в свойствах:
"Name"="toilet1_wallbreak1"
"Performance mode"="Limit Gibs"
"Prop data"="Stone.Small"
"Material type"="CinderBlock"
"Gibs Direction"="Use Precise Gib Dir"
"Precise Gib Direction"="0 0 0" (это направления осколков после разбивания, внимательно посмотрите чтобы координаты были перпендикулярны стене)
В закладке "Flags" поставьте галку напротив "Only Break on trigger"

6) Дальше для более реалистичного эффекта добавим пыль. Устанавливаем в func_breakable точечную энтити env_smokestack, изменим следующие параметры в её свойствах:
"Name"="toilet1_smokestack1"
"Pitch Yaw Roll (Y Z X)"="90 0 0"
"Initial state"="off"
"Spread at the base"="5"
"Spread speed"="5"
"Speed"="10"
"Particle start size"="35"
"Particle end size"="45"
"Emission rate"="2"
"Lenght of smoke trail"="80"
"Wind X\Y Angle"="45"
"Wind speed"="1"
"Base color (R G B)"="253 241 196"
"Translucency"="30"

7) Для большей атмосферности давайте добавим немного землетрясения. Используем точечную энтити env_shake. Поставьте её над сартиром, как это показано на скрине внизу

Далее заходим в настройки точечной энтити env_shake, и вписываем:
"Name"="toilet1_shake1"
"Amplitude(0-16)"="10"
"Effect radius"="232"
"Duration"="0.5"
"Frequency"="3"

8) Так, осталось только связать все эти энтити в единую структуру. Вот тут то нам и понадобится I/O система.
Браш энтити func_breakable, env_smokestack и env_shake будут активироваться через "Outputs"prop_physics.
Заходим сначала в свойства точечной энтити prop_physics, потом в закладку "Outputs"( именно от сюда будут даваться команды энтитям ):
для начала нажимаем на кнопку ADD, появляется строка действия.

В поле My output named вписываем "OnMotionEnabled" (при активации данной энтити сработает посыл для энтити, вписаной в поле Targets entities named)
В поле Targets entities named вписываем "toilet1_wallbreak1"
В поле Via this input вписываем "Break"
теперь, когда вы активируете унитаз Gravity gun'ом( в данном случае ничем другим не получится, потому что в закладке Flags напротив "Enable motion on Physcannon grab" стоит галка )сработает триггер, который мы создали при помощи I/O системы, и стена разрушится.

Дальше добавим активизацию пыли. Опять жмём на кнопку ADD:
В поле My output named вписываем "OnMotionEnabled"
В поле Targets entities named вписываем "toilet1_smokestack1"
В поле Via this input вписываем "TurnOn"

Сделаем так, чтобы пыль начала улетучиваться через 2 секунды. Повторяем аналогичную ситуацию с кнопкой ADD:
В поле My output named вписываем "OnMotionEnabled"
В поле Targets entities named вписываем "toilet1_smokestack1"
В поле Via this input вписываем "TurnOff"
В поле After a delay in seconds of вписываем "2" (через 2 секунды после активации унитаза пыль рассеится)

На последок добавим "землетрясение". Кнопка ADD... :
В поле My output named вписываем "OnMotionEnabled"
В поле Targets entities named вписываем "toilet1_shake1"
В поле Via this input вписываем "StartShake"



Всё ... "продвинутый" унитаз готов. Если вы хотите повторно использовать унитаз( это актуально в HL2:DM ), то нам придётся добавить ещё три энтити.

9) Создадим неподалёку от func_physics три точечных энтити : math_counter, logic_auto и point_template.

 

Наша задача cделать так, чтобы при разбивании унитаза активировался триггер, который изменяет значение энтити math_counter, которая в своё время активирует точечную энтити point_template, которая в свою очередь респавнит все энтити, учавствующие в "продвинутом" унитазе.
Энтити logic_auto необходима для активации унитаза при заходе на сервер, без logic_auto мы не увидим ни унитаза, ни "заделаной" дыры.
Теорию думаю вы освоили, давайте перейдём к конкретным примерам.

10) Заходим в свойства math_counter и пишем:
"Name"="toilet1_counter"
"Maximum Legal Value"="1"

потом в "Outputs", Кнопка ADD... :
В поле My output named вписываем "OnHitMax"
В поле Targets entities named вписываем "toilet1_counter1"
В поле Via this input вписываем "SetValue"
В поле With a parameter override of вписываем "0"

опять кнопка ADD... :
В поле My output named вписываем "OnHitMax"
В поле Targets entities named вписываем "toilet1_template1" (имя энтити point_template)
В поле Via this input вписываем "ForceSpawn"
В поле After a delay in seconds of вписываем "60" ( Важный момент, это время, через которое произойдёт респавн унитаза после его разбивания. Вы можете поставить другие цифры по вкусу )



11) Заходим в свойства point_template и пишем:
"Name"="toilet1_template1"
"Template 1"="toilet1"
"Template 2"="toilet1_wallbreak1"
"Template 3"="toilet1_smokestack1"

12) И наконец идём в свойства logic_auto, сразу заходим в "Outputs", жмём на кнопку ADD и вписываем:
В поле My output named вписываем "OnMapSpawn"
В поле Targets entities named вписываем "toilet1_template1"
В поле Via this input вписываем "ForceSpawn"



Ах да, добавим в "Outputs" энтити prop_physics ещё один триггер - Break. Иначе как math_counter узнает когда ему добавится параметр?
Идём в свойства prop_physics, далее в "Outputs" опять кнопка ADD...:
В поле My output named вписываем "OnBreak"
В поле Targets entities named вписываем "toilet1_counter1"
В поле Via this input вписываем "Add"
В поле With a parameter override of вписываем "1"



В итоге получаем:




Фухх ... теперь точно всё wacko ... По такому принципу можно сделать всё что угодно, только успевай фантазировать

Источник: http://foz.mapping.vbios.com/hammer4/advanced_toilet/
Категория: Туториалы по маппингу (HL2) | Добавил: DetLeR (01.08.2007) | Автор: f0zZy
Просмотров: 1329 | Комментарии: 30 | Рейтинг: 5.0 |

Всего комментариев: 2
2 DetLeR  
0
Ок, исправлено

1 Stalk  
1
Извиняюсь за неправильній коммент. адрес вот http://foz.mapping.vbios.com/hammer4/advanced_toilet/

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт CrazyArts   Black   Сообщество сайтов о Half-Life   Самый   Только   Все   hl2 top 100     Rambler's Top100  

игры
игры

  Каталог сайтов Планета Топ 100 - Planet Top 100       ТОП ЛУЧШИХ ИГРОВЫХ САЙТОВ           Detroit Team Site :: Моды от Detroit Team, видео, новости.   Naruto-kun[Звезда Наруто]  


The idea of dising: Homie7