Ru/Prefab: Difference between revisions
No edit summary |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
(9 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|title = Заготовка}} | ||
'''Заготовка''' является отдельно сохраненным объектом, как правило состоящий из различных частей: элементов и объектов мира. Система заготовок позволяет легко хранить части ваших карт, которые можно использовать многократно. Примеры полезных заготовок включают коридоры, столбы, специальные инсталляции объектов, и т.д.. | |||
Заготовки - это простые маленькие файлы карт (.{{L|VMF}}), которые содержат только вашу заготовку. Эти файлы хранятся в определенной директории, обычно <code>\sourcesdk\bin\prefabs</code>, чтобы {{L|Valve Hammer Editor|редактор карт}} мог их найти и Вы могли легко вставить их на ваши карты. | |||
'''Примечание:''' Убедитесь, что в играх orangebox используете <code>\sourcesdk\bin\orangebox\bin\prefabs</code> | '''Примечание:''' Убедитесь, что в играх orangebox используете <code>\sourcesdk\bin\orangebox\bin\prefabs</code> | ||
Заготовки можно выстраивать по иерархии, просто добавляя их в поддиректории <code>\prefabs</code>. Это позволяет сортировать их на основе принадлежности к карте или модифцикации, что облегчает их поиск. | |||
== Создание | == Создание заготовок == | ||
Заготовки в Хаммере создаются так: | |||
# Если | # Если заготовки предназначены для взаимодействия с поименованными объектами внутри себя, то в конце имени каждого объекта добавляем маркер "_&i". См. ниже [[#Prefab tokens|Маркер заготовок]]. | ||
# Выделите объекты, которые нужно добавить в | # Выделите объекты, которые нужно добавить в заготовку (зажав {{key|Ctrl}}). | ||
# Если | # Если Вы планируете вставлять заготовку с помощью {{L|Entity Tool}}, то в качестве точки отсчёта будет выбрано начало координат (0,0,0) вашей карты, поэтому желательно перенести выбранные объекты в эту точку и центрировать заготовку по ней. | ||
# Нажмите кнопку '''Create Prefab''' на | # Нажмите кнопку '''Create Prefab''' на {{L|Hammer New Objects Toolbar|панели объектов}}, или выберите команду '''Create Prefab''' в {{L|Hammer_Tools_Menu|меню инструментов}}. (Горячая клавиша: {{key|Ctrl+R}}) | ||
# Откроется диалог '''Save As...''', показывая каталог | # Откроется диалог '''Save As...''', показывая каталог заготовок Хаммера. Впишите имя файла и сохраните заготовку, нажав кнопку '''Save'''. {{note|К файлу автоматически добавляется расширение ''.vmf'', однако у некоторых пользователей его не было. Чтобы перестраховаться, припишите файлу расширение ''.vmf''. Также, это расширение можно добавить позже, открыв папку заготовок.}} {{bug|hidetested=1|После сохранения самой первой заготовки Хаммер может закрыться.}} | ||
# Теперь | # Теперь новая заготовка будет доступена для вставки на {{L|Hammer New Objects Toolbar|панели объектов}}. | ||
=== Маркер | === Маркер заготовок === | ||
К именам | К именам объектов внутри заготовки можно добавить специальный ''маркер'' "&i", так что на карте им будет присвоен уникальный номер. Маркер может включаться в {{L|targetname|имя}}, {{L|Inputs and Outputs|входы и выходы}}, и т.д.. Все маркеры в заготовкуе будут заменены на тот же номер. Это позволяет объектам внутри заготовок не ссылаться на другие заготовки. | ||
Например, | Например, объект {{L|func_door}} с именем "door_sliding_&i" в заготовке, на карте станет называться "door_sliding_1". В последующих заготовках он будет называться "door_sliding_2", "door_sliding_3", ... | ||
Триггеру | Триггеру {{L|trigger_multiple}}, добаленному в ''одну заготовку'' с триггером "door_sliding_&i", который он запускает, будет присвоен тот же номер, что и двери. | ||
{{note | {{note|Другие элементы, как например поверхности элементов указанные в добавленном в заготовку {{L|env_cubemap|кубмапы}}, сохраняться не будут, и отбрасываются при каждой вставке.}} | ||
{{tip | {{tip|Используйте звездочку (*) в фильтре поиска заготовок, использующих подстановку. Например, поиск ''door_*'' выдаст ''door_1'', ''door_2'', ''door_red_7'', и т.д..}} | ||
== Вставка | == Вставка заготовок == | ||
[[ | [[File:hammer_newobjects.jpg|right]] | ||
Готовую заготовку очень просто вставить на карту. | |||
Есть два способа: с помощью {{Hammer entity}}, или {{Hammer block}}. | Есть два способа: с помощью {{Hammer entity}}, или {{Hammer block}}. | ||
В целом, процедура одинакова в обоих случаях: сперва определитесь с инструментом, затем на | В целом, процедура одинакова в обоих случаях: сперва определитесь с инструментом, затем на {{L|Hammer New Objects Toolbar|Панели объектов}} выберите заготовку, и вставьте её в одно из окон. | ||
Инструмент {{Hammer entity}}, используемый чаще всего, сохраняет исходный размер | Инструмент {{Hammer entity}}, используемый чаще всего, сохраняет исходный размер заготовки. Инструмент {{Hammer block}} допускает изменение размера заготовки. | ||
{{tip | {{tip|После того, как Вы выбрали способ создания заготовки (Entity Tool или Block Tool), на панели объектов появится кнопка '''Insert original prefab''' (вставить оригинальную заготовку). Используйте её, чтобы вставить заготовку в центр окна 2D-вида. После этого заготовку можно двигать куда угодно. Убедитесь, что включена {{L|Hammer_Map_Operations_Toolbar|Texture Locking}}!}}{{clr}} | ||
=== Использование Entity Tool === | === Использование Entity Tool === | ||
[[ | [[File:InsertPrefabTut1.png|right|200px]] | ||
[[ | [[File:InsertPrefabTut2.png|right|200px]] | ||
[[ | [[File:InsertPrefabTut3.png|right|200px]] | ||
Чтобы разместить | Чтобы разместить заготовку в исходном размере, используйте {{Hammer entity}}. | ||
# Выберите {{Hammer entity}} на панели инструментов. (Горячие клавиши: {{key|Shift+E}}) | # Выберите {{Hammer entity}} на панели инструментов. (Горячие клавиши: {{key|Shift+E}}) | ||
# На панели | # На панели {{L|Hammer New Objects Toolbar|Object bar}}, в поле '''Categories:''' выберите Prefabs. | ||
# В поле '''Objects:''' выберите из списка нужный префаб. | # В поле '''Objects:''' выберите из списка нужный префаб. | ||
# Щелкните в окне 2D-вида в том месте, куда хотите поместить | # Щелкните в окне 2D-вида в том месте, куда хотите поместить заготовку. В качестве альтернативы, Вы можете щелкнуть в окне 3D-вида, после чего заготовка будет вставляться автоматически. | ||
# Нажмите {{key|Return}} или {{key|Enter}}, чтобы вставить | # Нажмите {{key|Return}} или {{key|Enter}}, чтобы вставить заготовку. | ||
=== Использование Block Tool === | === Использование Block Tool === | ||
Чтобы разместить | Чтобы разместить заготовку в нужном масштабе, используйте {{Hammer block}}. | ||
Как вставить | Как вставить заготовку нужного размера: | ||
# На панели инструментов выберите {{Hammer block}}. (Горячие клавиши: {{key|Shift+B}}) | # На панели инструментов выберите {{Hammer block}}. (Горячие клавиши: {{key|Shift+B}}) | ||
# На панели | # На панели {{L|Hammer New Objects Toolbar|Object bar}}, в поле '''Categories:''' выберите Prefabs. | ||
# В поле '''Objects:''' выберите из списка | # В поле '''Objects:''' выберите из списка нужную заготовку. | ||
# В окне 2D-вида | # В окне 2D-вида выделите прямоугольник, убедившись, что его размер и положение во всех окнах редактора соответствуют вашим требованиям. | ||
# Нажмите {{key|Return}} или {{key|Enter}}, чтобы вставить | # Нажмите {{key|Return}} или {{key|Enter}}, чтобы вставить заготовку. Она будет списана в выделенный прямоугольник. | ||
{{clr}} | {{clr}} | ||
Обратите внимание, что | Обратите внимание, что любая вставленная заготовка автоматически {{L|Grouping and VisGrouping|группируется}}, и если Вам нужно переместить отдельный объект из заготовки, то её следует разгруппировать. | ||
== Текстура Skip tool == | == Текстура Skip tool == | ||
Обычно, | Обычно, заготовка состоит из множества объектов, которые Вам нужно куда-либо переместить или скопировать, и если заготовка имеет неопределенный размер, то его компоненты могут оказаться в неожиданных местах. Вы можете этого избежать, окружив заготовку {{L|tool texture|текстурой}} {{L|skip}}: | ||
# Установите размер сетки на максимальный, на который желаете перемещать | # Установите размер сетки на максимальный, на который желаете перемещать заготовку. (Обычно, элемент карты {{L|skip}} рисуется с размерами 4x4x4.) | ||
# Создайте | # Создайте элемент карты, охватывающий все компоненты префаба. | ||
# Покройте его со всех сторон | # Покройте его со всех сторон {{L|tool texture|служебной текстурой}} {{L|skip}}. | ||
# Выберите все компоненты | # Выберите все компоненты заготовки, (''включая'' браш {{L|skip}}) и сохраните его. | ||
Теперь положение компонентов внутри | Теперь положение компонентов внутри элементы карты соотнесено с ним, и браш будет выравнивать их по графике Хаммера. Поскольку элемент карты покрыт {{L|tool texture|служебной текстурой}} {{L|skip}}, он не компилируется с картой. | ||
== Готовые | == Готовые заготовки == | ||
Список готовых в Source SDK | Список готовых заготовок в Source SDK см. | ||
== См. также == | == См. также == | ||
* | * {{L|func_instance}} - это продвинутая альтернатива для заготовок, доступная на платформах {{L|Counter-Strike: Global Offensive}}, {{L|Left 4 Dead 2}}, {{L|Alien Swarm}} и {{L|Portal 2}}. | ||
== Внешние ссылки == | == Внешние ссылки == | ||
Ниже представлены сайты, которые изготавливают | Ниже представлены сайты, которые изготавливают заготовки и модели: | ||
* [https://halflife2.filefront.com/files/Half-Life_2/Prefabs;2654 (HL2) File Front prefab database] | * [https://halflife2.filefront.com/files/Half-Life_2/Prefabs;2654 (HL2) File Front prefab database] | ||
Line 93: | Line 94: | ||
* [https://z15.invisionfree.com/Biwdc_Forums/index.php?showtopic=8 Half-life 2 Prefabs(Biwdc Forums)] | * [https://z15.invisionfree.com/Biwdc_Forums/index.php?showtopic=8 Half-life 2 Prefabs(Biwdc Forums)] | ||
{{ACategory|Hammer}} | |||
{{ACategory|Level Design}} | |||
Latest revision as of 07:16, 20 May 2025
Заготовка является отдельно сохраненным объектом, как правило состоящий из различных частей: элементов и объектов мира. Система заготовок позволяет легко хранить части ваших карт, которые можно использовать многократно. Примеры полезных заготовок включают коридоры, столбы, специальные инсталляции объектов, и т.д..
Заготовки - это простые маленькие файлы карт (.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. Также, это расширение можно добавить позже, открыв папку заготовок.
Баг:После сохранения самой первой заготовки Хаммер может закрыться.
- Теперь новая заготовка будет доступена для вставки на панели объектов .
Маркер заготовок
К именам объектов внутри заготовки можно добавить специальный маркер "&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 .
Внешние ссылки
Ниже представлены сайты, которые изготавливают заготовки и модели: