Ru/Prefab: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
Line 71: Line 71:
Обратите внимание, что любой вставленный префаб автоматически [[Grouping_and_VisGrouping:ru|группируется]], и если вам нужно переместить отдельный объект, то префаб следует разгруппировать.
Обратите внимание, что любой вставленный префаб автоматически [[Grouping_and_VisGrouping:ru|группируется]], и если вам нужно переместить отдельный объект, то префаб следует разгруппировать.


== The Skip tool texture ==
== Текстура Skip tool ==


A prefab typically consists of many objects that you want to move or copy somewhere, and if the prefab happens to be of an odd size, you may end up with components ending up not exactly where you want them. You can prevent this by enveloping the prefab inside a [[skip]] [[tool texture]]:
Обычно, префаб состоит из множества объектов, которые вам нужно куда-либо переместить или скопировать, и если префаб имеет неопределенный размер, то его компоненты могут оказаться в неожиданных местах. Вы можете этого избежать, окружив префаб [[tool texture|текстурой]] [[skip]] :


# Set the grid size to a the maximum size that you expect to move the prefab in. (Typically you plan the [[skip]] brush to be a size of about 4x4x4 grid squares.)
# Установите размер сетки на максимальный, на который желаете перемещать префаб. (Обычно, браш [[skip]] рисуется с размерами 4x4x4.)
# Create a brush enveloping all the components of the prefab.
# Создайте браш, охватывающий все компоненты префаба.
# Cover every side of the brush with the [[skip]] [[tool texture]].
# Покройте его со всех сторон [[tool texture|текстурой]] [[skip]].
# Select all the components of the prefab (''including'' the [[skip]] brush) and save it.
# Выберите все компоненты префаба, (''включая'' браш [[skip]]) и сохраните его.


The positions of the components inside the brush are now relative to the enveloping [[skip]] brush, and the even size of the brush makes the movements of every component on par with the Hammer editor's graph. As the brush is covered in a [[skip]] [[tool texture]], it will not be compiled with the map.
Теперь положение компонентов внутри браша соотнесено с ним, и браш будет выравнивать их по графике Хаммера. Поскольку браш конвертирован в [[tool texture|текстуру]] [[skip]], он не компилируется с картой.


== Available prefabs ==
== Available prefabs ==

Revision as of 03:49, 20 August 2015

Template:Otherlang2

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

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

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

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

Создание префабов

Следующие шаги позволяют создавать префабы в Хаммере:

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

Маркер префабов

К именам сущностей внутри префаба можно добавить специальный маркер "&i", так что на карте им будет присвоен уникальный номер. Маркер может включаться в targetname, inputs and outputs, и т.д.. Все маркеры в префабе будут заменены на тот же номер. Это позволяет сущностям внутри префабов не ссылаться на другие префабы.

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

Триггеру trigger_multiple, включенному в один префаб с триггером "door_sliding_&i", который он запускает, будет присвоен тот же номер, что и двери.

Template:Note:ru

Template:Tip:ru

Вставка префабов

Hammer newobjects.jpg

Готовый префаб очень просто вставить на карту.

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

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

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

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

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

InsertPrefabTut1.png
InsertPrefabTut2.png
InsertPrefabTut3.png

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

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

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

Текстура Skip tool

Обычно, префаб состоит из множества объектов, которые вам нужно куда-либо переместить или скопировать, и если префаб имеет неопределенный размер, то его компоненты могут оказаться в неожиданных местах. Вы можете этого избежать, окружив префаб текстурой skip :

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

Теперь положение компонентов внутри браша соотнесено с ним, и браш будет выравнивать их по графике Хаммера. Поскольку браш конвертирован в текстуру skip, он не компилируется с картой.

Available prefabs

For a list of prefabs that are already available in the Source SDK, see Category:Prefabs.

See also

External links

The following sites host custom made prefabs and models: