Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

func_instance

From Valve Developer Community
< Ru
Jump to navigation Jump to search
English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)
func_instance
Missing entity icon.png
ТипВнутренний Точечный объект мира
ПлатформаSource Source
ДоступностьВо всех играх
 

func_instance - это внутренний(en) точечная энтити(en), доступно для всех игр на движке Source Source. Данный объект вставляет вхождение(en) другого VMF файла в текущий. Вы можете перемещать и вращать вхождение без поломки чего-либо или без кошмарного редактирования вне сетки.

По умолчанию, вхождение VMF отображается в Hammer окрашенным в оранжевый, но вы можете отключить это в верхней панели редактора, нажав Instancing > View Instances.

Warning.pngПредупреждение:Рекурсивное вхождение (т.е. вхождение, в котором содержится оно же само) может вызвать вылет Hammer.
Note.pngПримечание:Вхождения по умолчанию отключены в играх до Left 4 Dead 2(en) (кроме Team Fortress 2). Чтобы включить их, добавьте ключ GameData в gameinfo.txt(en), указывая на FGD файл нужной игры.
Note.pngПримечание:VBSP преобразует только объекты в FGD(en) файле, который загружается из ключа GameData. Если какие-либо пользовательские объекты потеряны, то это наиболее вероятная причина.
Tip.pngСовет:gameinfo.txt(en) имеет параметр InstancePath, которых указывает расположение вхождений. Если Вы пытаетесь обратиться к файлам, которых нет в этой папке, Вам придётся вручную вводить имя вашего .vmf вхождения (путь к файлу относительно родительского .vmf)
Icon-Bug.pngБаг:Alien Swarm Вложенные вхождения с относительными именами файлов некорректно работают в Alien Swarm, потому что они по-разному обрабатываются в Hammer и VBSP.
Нужно сделать: проверить gameinfo.txt. Проблема может быть в неправильной настройке
  [todo tested in?]
Icon-Bug.pngБаг: light_spot будет вести себя непредсказуемо, когда часть вхождения будет изменять ключ-значение Pitch. Решается путём свёртывания [collapsing] вхождения, или при помощи ключа-значения "Entity to point at".  [todo tested in?]
Icon-Bug.pngБаг:Alien Swarm func_instance некорректно работает в Source 2009 Engine Branch. Вместо этого рекомендуется использовать Префаб(en).  [todo tested in?]
Icon-Bug.pngБаг: func_viscluster не работает при размещении внутри вхождения.  [todo tested in?]
Icon-Bug.pngБаг:VBSP произойдет сбой без ошибок, если вхождение превысит лимит элементов карты (т.е. ситуация, когда скрытие всех вхождений приведёт к тому, что карта не будет превышать лимиты на элементы). Компиляция с -verbose покажет конкретное вхождение, вызывающее сбой VBSP.  [todo tested in?]

Ввод через вхождение

  1. Задайте Fix Up Name. Для вхождения будет задано имя "MyInstance"
  2. Определите значение для ввода (input) или выхода (output), которое Вы хотите использовать (если он есть).
  3. Отправьте ввод в targetname(en) "fixupname-значение", например MyInstance-Start. Интерфейс Hammer не распознает имя, но не волнуйтесь.

KeyValues

VMF Filename (file) <string(en)>
Имя VMF файла для вставки в качестве вхождения. Относительный путь размещения к имеющейся карте.
Fix Up Name (propagate_fixup) <string(en)>
По сути, это название вхождения. Эта строка будет добавлена ко всем объектам в нём на основе стиля исправления. Если имя не указано, то будет использовано InstanceAutoX или AutoInstanceX, где X - число, которое будет увеличиваться с каждым новым вхождением.
Note.pngПримечание:Имена обеъектов, начинающиеся с символа @, например @exit_door, не будут изменены при исправлении имени вхождения.
Нужно сделать: подтверждено только для Portal 2(en)
Entity Name Fix Up (fixup_style) <choices>
Как применять Fix Up Name.
  • 0: Prefix (По умолчанию)
  • 1: Postfix
  • 2: None
Replace (replace01) <instance_variable(en)>
Это параметр замены. Любое использование $variable внутри вхождения будет заменено на value. Заменить <string $variable> <string value>. Пример: $color 255 0 0.
Note.pngПримечание:There are 10 Replace key-value pairs with the keys following replace{number} for names: replace01, replace02, ..., replace10
Нужно сделать: перевести это предложение, да так перевести, чтобы хоть что-то было понятно


Углы:
Pitch Yaw Roll (Y Z X) <angle(en)>
Ориентация этого объекта в мире. Тангаж (pitch) - поворот по оси Y, рысканье (yaw) - поворот по Z и крен(roll) - поворот по X.

Также смотрите

  • func_instance_parms - Объект для управления параметрами вхождений.
  • func_instance_io_proxy - Объект, который используется во вхождениях в качестве прокси для системы ввода/вывода объектов.
  • func_instance_origin func_instance_origin - Вспомогательный объект, определяющий начало координат вхождения.
  • English L4D2 Level Design/VMF Instances - Учебник о том, как пользоваться этим объектом в Left 4 Dead 2.