Заготовка
Заготовка является отдельно сохраненным объектом, как правило состоящий из различных частей: элементов и объектов мира. Система заготовок позволяет легко хранить части ваших карт, которые можно использовать многократно. Примеры полезных заготовок включают коридоры, столбы, специальные инсталляции объектов, и т.д..
Заготовки - это простые маленькие файлы карт (.VMF), которые содержат только вашу заготовку. Эти файлы хранятся в определенной директории, обычно \sourcesdk\bin\prefabs, чтобы редактор карт Hammer мог их найти и Вы могли легко вставить их на ваши карты.
Примечание: Убедитесь, что в играх 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. Также, это расширение можно добавить позже, открыв папку заготовок.
Баг:После сохранения самой первой заготовки Хаммер может закрыться. - Теперь новая заготовка будет доступена для вставки на панели объектов.
Маркер заготовок
К именам объектов внутри заготовки можно добавить специальный маркер "&i", так что на карте им будет присвоен уникальный номер. Маркер может включаться в имя, входы и выходы, и т.д.. Все маркеры в заготовкуе будут заменены на тот же номер. Это позволяет объектам внутри заготовок не ссылаться на другие заготовки.
Например, объект func_door с именем "door_sliding_&i" в заготовке, на карте станет называться "door_sliding_1". В последующих заготовках он будет называться "door_sliding_2", "door_sliding_3", ...
Переключателю trigger_multiple, добавленному в эту же заготовку, настроенному на переключение "door_sliding_&i", в параметр будет подставлен тот же номер, что и двери.
For ways to address prefab names using this token, see search wildcards.
Parent property. The same will happen with outputs.Контейнеры заготовок
In Valve Hammer Editor up to Version 3.5 prefabs can be stored in .ol files. This File Format acts as a container and can store several .map and .rmf prefabs in it. With the Prefab Factory Menu in Hammer Editor it is possible to add or remove Objects to the Libary.
Вставка заготовок
Готовую заготовку очень просто вставить на карту.
Есть два способа: с помощью 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
Обычно, заготовка состоит из множества объектов, которые нужно куда-либо переместить или скопировать, и если заготовка имеет некратные размеры, то её компоненты могут оказаться смещёнными после вставки. Этого можно избежать, окружив заготовку служебной текстурой Skip:
- Установите размер сетки привязки, максимально соотвествующий необходимому шагу перемещения заготовки. (Обычно, элемент карты Skip рисуется кратным 4x4x4.)
- Создайте элемент карты, охватывающий все компоненты заготовки.
- Покройте его со всех сторон служебной текстурой Skip.
- Выберите все компоненты заготовки, (включая элемент Skip) и сохраните его.
Теперь положение компонентов внутри объёма элемента карты соотнесено с ним, и элемент будет выравнивать их относительно сетки привязки Hammer. Поскольку элемент карты покрыт служебной текстурой Skip, он не компилируется с картой.
Смотреть также
- func_instance - это продвинутая альтернатива для заготовок, доступная на платформах Counter-Strike: Global Offensive, Left 4 Dead 2, Alien Swarm и Portal 2.
Внешние ссылки
Ниже представлены сайты, на которых размещаются созданные заготовки и модели:
