Конвейер (Portal 2)
Введение
Для создания конвейера Portal 2 потребуется несколько брашевых энтитей func_tracktrain , каждая со своей целью пути path_track , объединённых в ряд, с включенным параметром Teleport TO this у первой энтити, чтобы путь зациклился.
У каждой func_tracktrain родителем должна быть модель prop_dynamic props_factory/conveyor_belt_module.mdl, которая будет следовать пути.
Создание опоры конвейера
1. Создайте prop_static с моделью props_factory/conveyor_belt.mdl
2. Продублируйте её и выстройте в ряд их четырёх штук. Это будет конвейерная опора:
Создание конвейерной ленты
3. Создайте энтити prop_dynamic с моделью props_factory/conveyor_belt_module.mdl
4. Выровняйте её начало по началу опоры prop_static, которую мы создали на шаге 1:
Движение ленты
5. Создайте маленький прямоугольный браш 20x24x16 с текстурой nodraw. Поместите его ниже конвейерной ленты, чтобы он занимал место между моделями:
6. Выберите конвейерную ленту вместе с брашем и скопируйте их дубликаты в начале каждой конвейерной основы.
7. Чтобы облегчить задачу, скройте всё, кроме первой конвейерной ленты и прямоугольного nodraw-браша (H = скрывает выбранное, U = отображает всё скрытое).
8. Создайте энтити path_track и поместите её внутри прямоугольника nodraw так, чтобы они оба начинались в одном и том же месте:
9. Каждый блок nodraw сделайте энтитей func_tracktrain . Дайте каждой энтити своё имя. В данном руководстве имена идут от conveyor_mover01 до conveyor_mover07. Каждая энтити будет иметь следующие свойства:
- Max Speed: 60
- Initial Speed: 60
- Change Angles: Never
- conveyor_mover01 'First stop target' = 'conveyor_path01'
- conveyor_mover02 'First stop target' = 'conveyor_path02'
- conveyor_mover03 'First stop target' = 'conveyor_path03'
Повторите это для каждой энтити func_tracktrain.
10. Скройте nodraw-энтити func_tracktrain и снимите выбор с них, оставьте видимыми энтити path_track. Каждой path_track дайте уникальное имя по принципу, как в шаге 9 выше. В данном руководстве назовём их conveyor_path01 - conveyor_path07.
11. У каждой path_track задайте 'Next stop target' на следующую path_track, то есть у conveyor_path01 параметр 'next stop' задан на 'conveyor_path02' и так далее. Последняя должна указывать на первую, то есть цель conveyor_path07 - это conveyor_path01.
Завершение
12. Выберите первую path_track (с именем conveyor_path01) и установите флаг 'Teleport to THIS path_track':
13. И в конце для каждой конвейерной ленты сделайте родителем tracktrain'ы.
Примечания
- В конце конвейера можно осуществлять спаун энтитей с использованием энтити env_entity_maker , чтобы создавать некий шаблон, который перемещается посредством ленты и уничтожается в её конце посредством триггера или сбрасывается в яму.
- Гели не будут оставаться на поверхности ленты, если используются модели, как было сделано выше. Секции движущейся ленты должны быть tracktrain-брашами, а не моделями. Удалите все энтити prop_dynamic и примените текстуру metal/conveyor_belt к nodraw-брашам (вместо динамических моделей).
- func_tracktrain принимает вход RemovePaint
Ссылки
- Скачать карту-образец: [1]