func_instance

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

func_instance - это внутренний(en) точечная энтити(en), доступно для всех игр на движке Source Source начиная с Версия платформы Left 4 Dead Версия платформы Left 4 Dead.(также в Source 2009 и позднее)
Данный объект вставляет вхождение(en) другого VMF файла в текущий. Вы можете перемещать и вращать вхождение без поломки чего-либо или без кошмарного редактирования вне сетки.
По умолчанию, вхождение VMF отображается в Hammer окрашенным в оранжевый, но вы можете отключить это в верхней панели редактора, нажав Instancing > View Instances.
Instances allow you to edit the vmf of the instance and have every used instance on your main map be changed as well. But unfortunately many instances will lag hammer quite a lot. Hammer++(en) does not suffer from this lag

Изображение, показывающее вхождение окна, которое многократно использовано в конструкции дома.

Примеры использования:

  • An elaborate window setup with breakable glass, window prop, clip brushes, areaportal_window and its window brush, then using it all over a house.
  • A camper trailer which has brushwork and props inside, which then gets placed at weird angles that would make areaportal creation difficult.
  • Vehicles with a random color assignment, sprinkled over the map.

Ограничения и предупреждения

Warning.pngПредупреждение: Рекурсивное вхождение (т.е. вхождение, в котором содержится оно же само) может вызвать вылет Hammer.
Warning.pngПредупреждение: env_cubemap(en) (and possibly more entities[подтвердить]) that are inside of an instance have an issue where they will retain their position in the map from the instance's internal origin, and will not be offset by the position of the func_instance when compiled.
Note.pngПримечание: Вхождения по умолчанию отключены в играх до Left 4 Dead 2(en) (кроме Team Fortress 2(en)). Чтобы включить их, добавьте ключ 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(en).)
  • light_spot(en) будет вести себя непредсказуемо, когда часть вхождения будет изменять ключ-значение Pitch. Решается путём свёртывания [collapsing] вхождения, или при помощи ключ-параметра "Entity to point at".
  • Неправильно работает в Source 2009. Вместо этого рекомендуется использовать заготовку(en).
  • func_viscluster не работает при размещении внутри вхождения.
  • VBSP произойдет сбой без ошибок, если вхождение превысит лимит элементов карты (т.е. ситуация, когда скрытие всех вхождений приведёт к тому, что карта не будет превышать лимиты на элементы). Компиляция с -verbose покажет конкретное вхождение, вызывающее сбой VBSP.
  • Brush entities that are rotated by func_instance are rotated via the angles KV, instead of the brushwork itself being rotated (which occurs for world brushes). This results in issues on entities wherein the angles are reset to "0 0 0", such as func_illusionary(en).
  • Rotated instances don't correctly have axial brushside(en)s generated for them. This can result in using fewer brushsides, but will subtly break QPhysics(en), such as making surfing(en) impossible (VPhysics(en) is unaffected).
PlacementTip.pngОбходной приём: Most of these issues can be worked around by collapsing the instance in Hammer.
  [нужно проверить в ?]
Warning.pngВозможна путаница:Это точечный объект, несмотря на приставку func_ в названии (обычно используемую для объёмных объектов).

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

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

Inputs out of an instance will use the original targetname directly, unless they point to a different instance.

Ключ-параметры

VMF Filename (file) <строка(en)>
Имя VMF файла для вставки в качестве вхождения. Относительный путь размещения к имеющейся карте.
PlacementTip.pngПример:
  • If map.vmf and the instance.vmf are in the same folder, the filename field would be instance.vmf
  • If the instance.vmf is in a subfolder of where the map.vmf is, the filename field would be subfoldername/instance.vmf
  • If the instance.vmf and your map.vmf are neither in the same folder, nor in a subfolder of eachother, (Like maps/instances/instance.vmf and maps/project/map.vmf) you can use ../ to jump up a directory, in order to enter a new one. As such: ../Instances/instance.vmf
Fix Up Name (propagate_fixup) <строка(en)>
По сути, это название вхождения. Эта строка будет добавлена ко всем объектам в нём на основе стиля исправления. Если имя не указано, то будет использовано InstanceAutoX или AutoInstanceX, где X - число, которое будет увеличиваться с каждым новым вхождением.
Note.pngПримечание: Имена объектов, начинающиеся с символа @, например @exit_door, не будут изменены при исправлении имени вхождения.
Entity Name Fix Up (fixup_style) <варианты выбора>
Как исправлять имя.
  • 0: Prefix (Default) - приставка (по умолчанию)
  • 1: Postfix - окончание
  • 2: None - не подменять
Replace (replace01) <instance_variable(en)>
Это параметр замены. Любое использование $variable внутри вхождения будет заменено на value. Заменить <string $variable> <string value>. Пример: $color 255 0 0.
Note.pngПримечание: Можно указать до 10 таких пар подмены с соотвеиствующими именами ключа-параметра в формате replace{номер}: replace01, replace02, ..., replace10
Уточнить: relation to func_instance_parms(en)
Pitch Yaw Roll (Y Z X) (angles) <углы(en)>
Ориентация этого объекта в мире. Тангаж (pitch) - поворот по оси Y, рысканье (yaw) - поворот по Z и крен(roll) - поворот по X.

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

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