Skip to content

Repository files navigation

Subtitles Addon (ver. ..) for IX-Ray Platform

Overview

If you hear speech, you see the text. But there is also a feature: in addition to the usual subtitles on the screen, subtitles are implemented in the world space - they appear above the speaker's head. You can use it in your mods, the addon adds new fields to the sound sections from configs/misc/script_sound.ltx and all files included to it.

Remarks

Warning

Supported only on IX-Ray Platform!

Requirements

Installation:

  1. Install original Stalker Call of Pripyat 1.6.02
  2. Install current version of IX-Ray (minimum ..)
  3. Extract addon archive into the game folder
  4. Start the game and play

Link to the current IX-Ray release

Contributors

  • Emmis
  • Drombeys

License

Сontents of this repository are licensed under terms of the CC BY-NC-SA 4.0 license unless otherwise specified. See this file for details

Обзор

Слышите речь - видите текст. Но есть и особенность: помимо привычных субтитров на экране, реализованы субтитры в мировом пространстве - появляются над головой говорящего. Вы можете использовать его в своих модах, аддон добавляет новые поля в секции звуков из configs/misc/script_sound.ltx и всех подключенных к нему файлов.

Примечаниe

Warning

Поддерживается только на IX-Ray Platform!

Рекомендации

Установка:

  1. Установить оригинальный Stalker Call of Pripyat 1.6.02
  2. Установить актуальную версию IX-Ray (минимальная ..)
  3. Распакуйте архив аддона в папку с игрой
  4. Запустите игру и играйте

Ссылка на текущую версию IX-Ray релиз

Документация

Типы звуков и виды субтитров, которые они поддерживают

Тип звука Экранные субтитры World Space субтитры
npc
actor
3d

Новые поля в секциях звуков

Поле Тип Значение по умолчанию Справка
subtitles bool Значение поля def_npc_subtitles, def_actor_subtitles или def_3d_subtitles (в зависимости от типа звука)

секции [subtitles]

в файле configs\subtitles.ltx
Включить/выключить экранные субтитры для выбранного звука
subtitles_name string Имя НПС, актора или объекта (в зависимости от типа звука) Имя говорящего экранных субтитров
subtitles_text string Путь до звука в виде (пример):
characters_voice_scenario_zaton_zat_a23_about_x8
Текст экранных субтитров
subtitles_distance number Значение поля max_distance

секции [subtitles]

в файле configs\subtitles.ltx
Дистанция от камеры до говорящего больше которой экранные субтитры перестанут показываться
subtitles_delay number Значение поля show_delay

секции [subtitles]

в файле configs\subtitles.ltx
Задержка перед показом в миллисекундах для экранных субтитров
ws_subtitles bool Значение поля def_npc_subtitles или def_3d_subtitles
(в зависимости от типа звука)

секции [world_space_subtitles]

в файле configs\subtitles.ltx
Включить/выключить World Space субтитры для выбранного звука
ws_subtitles_text string Путь до звука в виде (пример):
characters_voice_scenario_zaton_zat_a23_about_x8
Текст World Space субтитров
ws_subtitles_section string Значение поля def_ws_section

секции [world_space_subtitles]

в файле configs\subtitles.ltx
Секция World Space элемента
ws_subtitles_delay number Значение поля show_delay

секции [world_space_subtitles]

в файле configs\subtitles.ltx
Задержка перед показом в миллисекундах для World Space субтитров

Примеры

Пример с типом npc

За основу взят звук привествия Бороды.

Включаем экранные субтитры и прописываем имя и текст, что не обязательно, тогда будут значения по умолчанию:

[zat_a2_stalker_barmen_greeting]
type = npc
path = scenario\zaton\zat_a2_stalker_barmen_greeting_
shuffle = rnd
play_always = true
idle = 0,0,100
subtitles = true
subtitles_name = st_test_name
subtitles_text = st_text_text
Показать результат image

Вдобавок включим world space субтитры и пропишем свой текст:

[zat_a2_stalker_barmen_greeting]
type = npc
path = scenario\zaton\zat_a2_stalker_barmen_greeting_
shuffle = rnd
play_always = true
idle = 0,0,100
subtitles = true
subtitles_name = st_test_name
subtitles_text = st_text_text
ws_subtitles = true
ws_subtitles_text = st_test2_text
Показать результат image

Пример с типом actor

За основу взят звук осмотра одного из вертолетов

Этот тип звука поддерживает только экранные субтитры, так что их и пропишем:

[zat_b100_heli_2_maps]
type = actor
npc_prefix = false
path = characters_voice\scenario\zaton\zat_b100_heli_2_maps
shuffle = seq
idle = 0,0,100
subtitles = true
subtitles_text = st_test_text
Показать результат image

Note

Обратите внимание, что мы не указали поле subtitles_name, в таком случае взялось значение по умолчанию, что для звука с типом actor будет имя актора.

Пример с типом 3d

За основу взят звук “убери оружие” при подходе к Скадовску, который проигрывается из рупора висячего у двери

Включим сразу оба вида субтитров. Для экранных пропишем свои значения имени и текста, а для world space субтитров только новую секцию world space элемента, так как в секции по умолчанию элемент привязан к кости bip01_head, которой нет у физических объектов:

[zat_a2_base_megaphone]
type = 3d
path = characters_voice\scenario\zaton\zat_a2_base_megaphone_
shuffle = rnd
idle = 10,15,100
subtitles = true
subtitles_name = zat_a2_stalker_barmen_name
subtitles_text = st_test_text
ws_subtitles = true
ws_subtitles_section = ws_test_element

Создадим нашу новую секцию world space элемента [ws_test_element], в которой уберем только привязку к кости, тогда элемент будет прикреплен к позиции объекта. Файл configs/misc/mod_world_space_ui_elements_subtitles.ltx (реализует DLTX):

[ws_subtitles_element]:ws_default_element
billboard = subtitles_billboard
show = false
show_distance = 15
attach_bone = bip01_head

[ws_test_element]:ws_subtitles_element
attach_bone = nil

Не забудем прописать наш world space элемент нужному объекту. Файл configs/mod_system_subtitles.ltx (реализует DLTX):

![stalker]
ws_elements = ws_subtitles_element

[zaton_a2_ph_rupor]
ws_elements = ws_test_element

Note

В данном примере мы прописываем world space элемент конкретному объекту. Обратите внимание, что субтитры над головой НПС прописаны в секции [stalker], то есть для всех человеческих НПС разом. Подобное может быть удобно в некоторых случаях. Например, мы бы могли прописать наш новый world space элемент в секцию [physic_object], что добавило бы его для всех физических объектов в игре, без необходимости прописывать каждому отдельно. Но важно использовать поддобное только с пониманием дела.

Показать результат image

Note

Обратите внимание на world space субтитры, так как мы не указали поле ws_subtitles_text в секции звука, взялось значение по умолчанию, то есть путь до звука.

Дополнительные функции

функция fake_subtitles

Для экранных субтитров существует функция fake_subtitles, которая реализована в неймспейсе xr_effects, что позволит вызывать её из спейс рестрикторов и т.д.

Принимаемые параметры:

  • имя
  • текст
  • время_жизни (не обязательный параметр)
  • задержка_перед_появлением (не обязательный параметр)

Пример вызова из спейс рестриктора:

[sr_idle@1]
on_info = %=fake_subtitles(st_actor_name:st_test_fake_text:50:30)% sr_idle@2

[sr_idle@2]

Покажет экранные субтитры на 5 сек. после задрежки в 3 сек.

Показать результат image

Контрибьюторы

  • Emmis
  • Drombeys

Лицензия

Содержимое этого репозитория лицензировано в соответствии с условиями лицензии CC BY-NC-SA 4.0, если не указано иное. Подробности см. в файле здесь

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages