Перейти к содержимому

3D иконки ​

IMPORTANT

Статус: Поддерживается
Минимальная версия: 1.4

Обзор ​

3D иконки позволяют отображать внутриигровые модели предметов в инвентаре, а также избавляют от необходимости рисовать отдельные иконки под каждый предмет.

Активация ​

Для активации 3D иконок необходимо открыть файл engine_external.ltx и сменить значение параметра Enable3DIcons с false на true.

Spawn Manager ​

В окне Game → Spawn Manager доступна галочка 3D icons. Её начальное состояние соответствует Enable3DIcons в engine_external.ltx; затем её можно переключать независимо для таблицы и списка.

Используются параметры секции 3d_static_visual_name, 3d_static_rotate и 3d_static_scale. Если отдельная модель иконки не указана, используется visual. При отсутствующей или неподдерживаемой модели отображается обычная иконка. Нажатие на иконку создаёт предмет с текущими настройками Spawn Manager.

Параметр 3d_static_offset = 0.0, 0.0 задаёт смещение модели по X/Y относительно ширины и высоты иконки. Положительные значения двигают модель вправо и вниз: 0.1 соответствует 10% размера. По умолчанию смещение нулевое. Модель обрезается по границам иконки.

Ingame настройка ​

Для настройки предмета в инвентаре необходимо ввести консольную команду 3d_icons_adjust 1. Шаг изменения значений регулируется консольной командой 3d_icons_adjust_value. Текущий предмет для настройки зависит от положения курсора.

Управление в инвентаре следующее:

КлавишаНазначение
ZПоворот по оси X
XПоворот по оси Y
CПоворот по оси Z
VИзменение размера
BЗапись итоговых значений в лог
Левый Ctrl(при зажатии) Обратное направление

ImGui-редактор ​

Вместо консольных команд и горячих клавиш можно использовать встроенный ImGui-редактор. Откройте главное меню ImGui (клавиша Alt) и выберите Game → 3D Icons Adjust.

Возможности окна:

  • список всех предметов инвентаря с фильтром по секции/названию и столбцом расположения (слот, пояс, рюкзак) — предмет можно выбрать кликом, не наводя курсор; изменённые предметы подсвечиваются в списке;
  • выбор предмета наведением курсора на его иконку в инвентаре (галочка Follow cursor);
  • включение режима настройки и шага изменения (аналогично 3d_icons_adjust / 3d_icons_adjust_value);
  • редактирование модели (3d_static_visual_name), поворота (X, Y, Z в градусах) и размера (3d_static_scale) с мгновенным применением;
  • сброс значений к конфигурации предмета;
  • вывод значений в лог, копирование готового блока в буфер обмена и сохранение всех изменённых секций в $app_data_root$\3d_icons\adjusted.ltx.

Горячие клавиши Z, X, C, V, B и Левый Ctrl работают и при открытом ImGui-окне, если включён режим настройки.

Галочка Hide item description скрывает окна описания предметов, пока редактор открыт. При снятии галочки или закрытии редактора описания снова отображаются.

Группа Position inside icon регулирует 3d_static_offset по двум осям, а Inventory cells — inv_grid_width и inv_grid_height для всех предметов выбранной секции в инвентаре актёра. Занятые ячейки обновляются сразу. Для увеличения размера нужны свободные соседние ячейки и место до края сетки; во время перетаскивания изменение размера недоступно. Параметры inv_grid_x и inv_grid_y сохраняют назначение координат атласа обычных 2D-иконок. Смещение и количество ячеек включены в лог, копирование, сохранение LTX и сброс к конфигурации.

Свет DX11-иконок ​

В окнах Spawn Manager и 3D Icons Adjust доступна группа DX11 icon lighting. Для renderer_r4 можно менять RGB-цвет, яркость (Intensity), направление света в координатах камеры (Direction) и вклад окружения (Ambient). Нулевое направление заменяется на (0, 0, 1). Кнопка Reset icon lighting возвращает исходные значения. Цвет и яркость также применяются к свечению материалов иконок, включая форвардный проход световых плоскостей (base_lplanes). Альфа и аддитивное смешивание световых плоскостей сохраняются; свечение объектов в мире сохраняет исходный цвет.

Изменения сразу применяются ко всем DX11 3D-иконкам и действуют до перезапуска игры. Освещение мира не меняется; R1/R2 не поддерживают эти настройки.

Общий кеш моделей ​

Шаблоны моделей иконок инвентаря, окна улучшений, быстрых слотов, подбираемых предметов, радиального меню оружия, любимого оружия в КПК, панели артефактов и Spawn Manager кешируются по пути модели. У каждой иконки независимы скелет, анимация и кеш скиннинга; ресурсы мешей остаются общими. Каждая иконка сохраняет собственные поворот, масштаб и маску костей, поэтому разные обвесы одной модели не влияют друг на друга. Модель освобождается после уничтожения последней использующей её иконки. Число общих моделей видно в группе настройки света.

Для C++-виджетов иконок используется SetIconVisual; после прямого изменения видимости костей необходимо вызвать CaptureIconBones. Обычный SetVisual сохраняет независимые экземпляры для виджетов с собственными анимациями.

Предпросмотр оружия в Spawn Manager использует общие с CWeapon правила видимости костей обвесов, улучшений и прицелов, включая installed_upgrades, scopes/scopes_sect и переопределения без прицела. Продвинутые кости патронов рассчитываются общим кодом TAmmoBones; по умолчанию показывается пустой магазин, как у только что созданного предмета. Съёмные обвесы в превью не установлены. Иконки инвентаря копируют кости фактического предмета, включая обвесы, улучшения и текущее количество патронов.

Конфигурация предмета ​

Для каждого предмета в инвентаре существуют следующие параметры:

ini
3d_static_visual_name = dynamics\devices\dev_binoculars\dev_binoculars.ogf ; Название модели для 3D иконки. Если парамер отсутствует, будет использоваться мировая модель предмета (из visual)
3d_static_rotate = 0.0, 90.0, 0.0 ; Вращение предмета по осям X, Y, Z. Измеряется в градусах.
3d_static_scale = 1.0 ; Размер предмета в инвентаре.

Смежный материал: обзор UI.

Опубликовано под лицензией MIT.