Заготовка

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Русский (ru)中文 (zh)Translate (Translate)


Заготовка является отдельно сохраненным объектом, как правило состоящий из различных частей: элементов и объектов мира. Система заготовок позволяет легко хранить части ваших карт, которые можно использовать многократно. Примеры полезных заготовок включают коридоры, столбы, специальные инсталляции объектов, и т.д..

Заготовки - это простые маленькие файлы карт (.VMF(en)), которые содержат только вашу заготовку. Эти файлы хранятся в определенной директории, обычно \sourcesdk\bin\prefabs, чтобы редактор карт Hammer(en) мог их найти и Вы могли легко вставить их на ваши карты.

Примечание: Убедитесь, что в играх orangebox используете \sourcesdk\bin\orangebox\bin\prefabs

Заготовки можно выстраивать по иерархии, просто добавляя их в поддиректории \prefabs. Это позволяет сортировать их на основе принадлежности к карте или модифцикации, что облегчает их поиск.

Создание заготовок

Заготовки в Хаммере создаются так:

  1. Если заготовки предназначены для взаимодействия с поименованными объектами внутри себя, то в конце имени каждого объекта добавляем маркер "_&i". См. ниже Маркер заготовок.
  2. Выделите объекты, которые нужно добавить в заготовку (зажав Ctrl).
  3. Если Вы планируете вставлять заготовку с помощью Entity Tool(en), то в качестве точки отсчёта будет выбрано начало координат (0,0,0) вашей карты, поэтому желательно перенести выбранные объекты в эту точку и центрировать заготовку по ней.
  4. Нажмите кнопку Create Prefab на панели объектов(en), или выберите команду Create Prefab в меню инструментов(en). (Горячая клавиша: Ctrl+R)
  5. Откроется диалог Save As..., показывая каталог заготовок Хаммера. Впишите имя файла и сохраните заготовку, нажав кнопку Save.
    Note.pngПримечание: К файлу автоматически добавляется расширение .vmf, однако у некоторых пользователей его не было. Чтобы перестраховаться, припишите файлу расширение .vmf. Также, это расширение можно добавить позже, открыв папку заготовок.
    Icon-Bug.pngБаг:После сохранения самой первой заготовки Хаммер может закрыться.
  6. Теперь новая заготовка будет доступена для вставки на панели объектов(en).

Маркер заготовок

К именам объектов внутри заготовки можно добавить специальный маркер "&i", так что на карте им будет присвоен уникальный номер. Маркер может включаться в имя(en), входы и выходы(en), и т.д.. Все маркеры в заготовкуе будут заменены на тот же номер. Это позволяет объектам внутри заготовок не ссылаться на другие заготовки.

Например, объект func_door(en) с именем "door_sliding_&i" в заготовке, на карте станет называться "door_sliding_1". В последующих заготовках он будет называться "door_sliding_2", "door_sliding_3", ...

Переключателю trigger_multiple(en), добавленному в эту же заготовку, настроенному на переключение "door_sliding_&i", в параметр будет подставлен тот же номер, что и двери.

Note.pngПримечание: Другие элементы, как например грани элементов указанные в добавленном в заготовку кубмапы(en), сохраняться не будут, и отбрасываются при каждой вставке.
Note.pngПримечание: The parameter field of outputs is NOT affected.
Note.pngПримечание: Is affected sometimes? Maybe Hammer++

For ways to address prefab names using this token, see search wildcards(en).

Tip.pngСовет: Используйте звездочку (*) в фильтре поиска заготовок, использующих подстановку. Например, поиск door_* выдаст door_1, door_2, door_red_7, и т.д..
Icon-Bug.pngБаг:"_&i" does not work for node hint groups.
Icon-Bug.pngБаг:"_&i" does not work for non-existent entities. For example, you can't have parent for an entity, if parent isn't in prefab, because "_&i" will not change in Parent property. The same will happen with outputs.

Контейнеры заготовок

In Valve Hammer Editor up to Version 3.5 prefabs can be stored in .ol(en) files. This File Format acts as a container and can store several .map(en) and .rmf(en) prefabs in it. With the Prefab Factory Menu in Hammer Editor it is possible to add or remove Objects to the Libary.

Вставка заготовок

Hammer newobjects.jpg

Готовую заготовку очень просто вставить на карту.

Есть два способа: с помощью Entity tool Mt-entities.png, или Block tool Hammer block.png.

В целом, процедура одинакова в обоих случаях: сперва определитесь с инструментом, затем на Панели объектов(en) выберите заготовку, и вставьте её в одно из окон.

Инструмент Entity tool Mt-entities.png, используемый чаще всего, сохраняет исходный размер заготовки. Инструмент Block tool Hammer block.png допускает изменение размера заготовки.

Tip.pngСовет: После того, как Вы выбрали способ создания заготовки (Entity Tool или Block Tool), на панели объектов появится кнопка Insert original prefab (вставить оригинальную заготовку). Используйте её, чтобы вставить заготовку в центр окна 2D-вида. После этого заготовку можно двигать куда угодно. Убедитесь, что включена Texture Locking(en)!

Использование Entity Tool

InsertPrefabTut1.png
InsertPrefabTut2.png
InsertPrefabTut3.png

Чтобы разместить заготовку в исходном размере, используйте Entity tool Mt-entities.png.

  1. Выберите Entity tool Mt-entities.png на панели инструментов. (Горячие клавиши: Shift+E)
  2. На панели Object bar(en), в поле Categories: выберите Prefabs.
  3. В поле Objects (Типы) выберите из списка нужную заготовку.
  4. Щелкните в окне 2D-вида в том месте, куда хотите поместить заготовку. В качестве альтернативы, Вы можете щелкнуть в окне 3D-вида, после чего заготовка будет вставляться автоматически.
  5. Нажмите Return или Enter, чтобы вставить заготовку.

Использование Block Tool

Чтобы разместить заготовку в нужном масштабе, используйте Block tool Hammer block.png.

Как вставить заготовку нужного размера:

  1. На панели инструментов выберите Block tool Hammer block.png. (Горячие клавиши: Shift+B)
  2. На панели Object bar(en), в поле Categories: выберите Prefabs.
  3. В поле Objects (Типы) выберите из списка нужную заготовку.
  4. В окне 2D-вида выделите прямоугольник, убедившись, что его размер и положение во всех окнах редактора соответствуют вашим требованиям.
  5. Нажмите Return или Enter, чтобы вставить заготовку. Она будет списана в выделенный прямоугольник.

Обратите внимание, что любая вставленная заготовка автоматически группируется(en), и если Вам нужно переместить отдельный объект из заготовки, то её следует разгруппировать.

Служебная текстура Skip

Обычно, заготовка состоит из множества объектов, которые нужно куда-либо переместить или скопировать, и если заготовка имеет некратные размеры, то её компоненты могут оказаться смещёнными после вставки. Этого можно избежать, окружив заготовку служебной текстурой(en) Skip(en):

  1. Установите размер сетки привязки, максимально соотвествующий необходимому шагу перемещения заготовки. (Обычно, элемент карты Skip(en) рисуется кратным 4x4x4.)
  2. Создайте элемент карты, охватывающий все компоненты заготовки.
  3. Покройте его со всех сторон служебной текстурой(en) Skip(en).
  4. Выберите все компоненты заготовки, (включая элемент Skip(en)) и сохраните его.

Теперь положение компонентов внутри объёма элемента карты соотнесено с ним, и элемент будет выравнивать их относительно сетки привязки Hammer. Поскольку элемент карты покрыт служебной текстурой(en) Skip(en), он не компилируется с картой.

Смотреть также

Внешние ссылки

Ниже представлены сайты, на которых размещаются созданные заготовки и модели: