Заготовка
Заготовка является отдельно сохраненным объектом, как правило состоящий из различных частей: элементов и объектов мира. Система заготовок позволяет легко хранить части ваших карт, которые можно использовать многократно. Примеры полезных заготовок включают коридоры, столбы, специальные инсталляции объектов, и т.д..
Заготовки - это простые маленькие файлы карт (.VMF ), которые содержат только вашу заготовку. Эти файлы хранятся в определенной директории, обычно \sourcesdk\bin\prefabs
, чтобы редактор карт мог их найти и Вы могли легко вставить их на ваши карты.
Примечание: Убедитесь, что в играх orangebox используете \sourcesdk\bin\orangebox\bin\prefabs
Заготовки можно выстраивать по иерархии, просто добавляя их в поддиректории \prefabs
. Это позволяет сортировать их на основе принадлежности к карте или модифцикации, что облегчает их поиск.
Создание заготовок
Заготовки в Хаммере создаются так:
- Если заготовки предназначены для взаимодействия с поименованными объектами внутри себя, то в конце имени каждого объекта добавляем маркер "_&i". См. ниже Маркер заготовок.
- Выделите объекты, которые нужно добавить в заготовку (зажав Ctrl).
- Если Вы планируете вставлять заготовку с помощью Entity Tool , то в качестве точки отсчёта будет выбрано начало координат (0,0,0) вашей карты, поэтому желательно перенести выбранные объекты в эту точку и центрировать заготовку по ней.
- Нажмите кнопку Create Prefab на панели объектов , или выберите команду Create Prefab в меню инструментов . (Горячая клавиша: Ctrl+R)
- Откроется диалог Save As..., показывая каталог заготовок Хаммера. Впишите имя файла и сохраните заготовку, нажав кнопку Save. Примечание:К файлу автоматически добавляется расширение .vmf, однако у некоторых пользователей его не было. Чтобы перестраховаться, припишите файлу расширение .vmf. Также, это расширение можно добавить позже, открыв папку заготовок.Баг:После сохранения самой первой заготовки Хаммер может закрыться. [todo tested in?]
- Теперь новая заготовка будет доступена для вставки на панели объектов .
Маркер заготовок
К именам объектов внутри заготовки можно добавить специальный маркер "&i", так что на карте им будет присвоен уникальный номер. Маркер может включаться в имя , входы и выходы , и т.д.. Все маркеры в заготовкуе будут заменены на тот же номер. Это позволяет объектам внутри заготовок не ссылаться на другие заготовки.
Например, объект func_door с именем "door_sliding_&i" в заготовке, на карте станет называться "door_sliding_1". В последующих заготовках он будет называться "door_sliding_2", "door_sliding_3", ...
Триггеру trigger_multiple , добаленному в одну заготовку с триггером "door_sliding_&i", который он запускает, будет присвоен тот же номер, что и двери.
Вставка заготовок
Готовую заготовку очень просто вставить на карту.
Есть два способа: с помощью Entity tool , или Block tool .
В целом, процедура одинакова в обоих случаях: сперва определитесь с инструментом, затем на Панели объектов выберите заготовку, и вставьте её в одно из окон.
Инструмент Entity tool , используемый чаще всего, сохраняет исходный размер заготовки. Инструмент Block tool допускает изменение размера заготовки.
Использование Entity Tool
Чтобы разместить заготовку в исходном размере, используйте Entity tool .
- Выберите Entity tool на панели инструментов. (Горячие клавиши: Shift+E)
- На панели Object bar , в поле Categories: выберите Prefabs.
- В поле Objects: выберите из списка нужный префаб.
- Щелкните в окне 2D-вида в том месте, куда хотите поместить заготовку. В качестве альтернативы, Вы можете щелкнуть в окне 3D-вида, после чего заготовка будет вставляться автоматически.
- Нажмите Return или ↵ Enter, чтобы вставить заготовку.
Использование Block Tool
Чтобы разместить заготовку в нужном масштабе, используйте Block tool .
Как вставить заготовку нужного размера:
- На панели инструментов выберите Block tool . (Горячие клавиши: Shift+B)
- На панели Object bar , в поле Categories: выберите Prefabs.
- В поле Objects: выберите из списка нужную заготовку.
- В окне 2D-вида выделите прямоугольник, убедившись, что его размер и положение во всех окнах редактора соответствуют вашим требованиям.
- Нажмите Return или ↵ Enter, чтобы вставить заготовку. Она будет списана в выделенный прямоугольник.
Обратите внимание, что любая вставленная заготовка автоматически группируется , и если Вам нужно переместить отдельный объект из заготовки, то её следует разгруппировать.
Текстура Skip tool
Обычно, заготовка состоит из множества объектов, которые Вам нужно куда-либо переместить или скопировать, и если заготовка имеет неопределенный размер, то его компоненты могут оказаться в неожиданных местах. Вы можете этого избежать, окружив заготовку текстурой skip :
- Установите размер сетки на максимальный, на который желаете перемещать заготовку. (Обычно, элемент карты skip рисуется с размерами 4x4x4.)
- Создайте элемент карты, охватывающий все компоненты префаба.
- Покройте его со всех сторон служебной текстурой skip .
- Выберите все компоненты заготовки, (включая браш skip ) и сохраните его.
Теперь положение компонентов внутри элементы карты соотнесено с ним, и браш будет выравнивать их по графике Хаммера. Поскольку элемент карты покрыт служебной текстурой skip , он не компилируется с картой.
Готовые заготовки
Список готовых заготовок в Source SDK см.
См. также
- func_instance - это продвинутая альтернатива для заготовок, доступная на платформах Counter-Strike: Global Offensive , Left 4 Dead 2 , Alien Swarm и Portal 2 .
Внешние ссылки
Ниже представлены сайты, которые изготавливают заготовки и модели: