Обновление Форума  
Привет, сталкер! Добро пожаловать на форум STALKER-WORLD — место общения, помощи и обмена опытом. Здесь всегда подскажут, поддержат и помогут разобраться в любой ситуации. Новички найдут советы от ветеранов, а опытные сталкеры — интересные обсуждения. Чувствуй себя как дома.


  • Страница 1 из 2
  • 1
  • 2
  • »
Новые сообщения
Anubis

Anubis  

Офлайн  

Титул: Хранитель Зоны

 

1278

74

308


Сообщение 1
Форум: Бар 🗣 Сайта | Тема: Бар ☢️ «100 рентген» 21:36:41, 2026-10-17
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2

pavelbickov7

pavelbickov7  

Офлайн

Звание: Опытный Сталкер

 

1

0

6


Сообщение 2
Форум: Бар 🗣 Сайта | Тема: Бар ☢️ «100 рентген» 18:49:49, 2026-10-17
привет всем

Добавлено (2026-10-17, 19:02:32)
---------------------------------------------
здрастувуйте по рекамендуйте моды сужетные пожайлуста я играл в прострастивиная аномалия путь во мгле сгм 2.2 народная солянка и оп2.2 полохая компания 2 масон возрощение в зону путь искупления

Добавлено (2026-10-17, 19:03:26)
---------------------------------------------
здрастувуйте по рекамендуйте моды сужетные пожайлуста я играл в прострастивиная аномалия путь во мгле сгм 2.2 народная солянка и оп2.2 полохая компания 2 масон возрощение в зону путь искупления буду благодарен


cendaniil258

cendaniil258  

Офлайн

Звание: Тушканчик

 

1

0

0


Сообщение 3
Форум: Деревня Новичков (F.A.Q.) | Тема: в ЗП при диалоге с Ковальским бесконечная кат-сцена 18:24:16, 2026-10-17
B)

Anubis

Anubis  

Офлайн  

Титул: Хранитель Зоны

 

1278

74

308


Сообщение 4
Форум: Моды в разработке | Тема: Возвращение к Истокам 16:18:41, 2026-10-17
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2
Разработчик: Sander
Тип: Сюжетный
Платформа: OGSR Engine
Дата выхода: 2026 (готовность 90%)
Продолжительность: 4-5 часов

Данный мод представляет собой переосмысление образа оригинальных Теней Чернобыля, с возвращением ламповой графики и геймплейной составляющей, которые все помнят по модификациям конца 2000-х - начала 2010-х годов. Мод следует рассматривать как дань уважения моддингу Сталкера "Золотой эпохи" модостроя.



Гудвин

Гудвин  

Офлайн

Звание: Мастер

 

208

7

161


Сообщение 5
Форум: Юмор ⇢ Зоны | Тема: Легендарные цитаты из Сталкера — лучшие фразы персонажей 16:12:55, 2026-10-17
Сталкерское уважение +1 Сталкерское уважение +2 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2
И нииииикого на горизонте...вот и ладушки,вот и хорошо © уставший сталкер у костра
Внимание! Вы находитесь возле охраняемого периметра Зоны экологического бедствия! Незаконное пересечение периметра влечёт за собой уголовную ответственность! В случае неподчинения открываем огонь на поражение.

Anubis

Anubis  

Офлайн  

Титул: Хранитель Зоны

 

1278

74

308


Сообщение 6
Форум: Моды в разработке | Тема: S.T.A.L.K.E.R. The Rebellion of Sin (Восстание Греха) 16:05:59, 2026-10-17
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2
Название: S.T.A.L.K.E.R. The Rebellion of Sin (Восстание Греха)
Разработчик: Artem_Borov
Платформа: Тень Чернобыля OGSR
Дата выхода: Осень 2027

The Rebellion of Sin

Завязка сюжета

Василий Сухаренко был лесником — из тех, кто знает лес не по картам, а по следам. Двенадцать лет он не просто охранял заповедник, а был его частью... пока не столкнулся с простой истиной: большие деньги открывают любые двери, даже в *Красную книгу*. Он попытался воспрепятствовать — и остался без работы. Тогда он собрал вещи и ушёл в Зону. Туда, где, как говорят, судят не по кошельку, а по делам. Кличку взял себе сам — Сухарь.

Зона встретила его негостеприимно. Здесь тоже есть хозяева. Здесь тоже есть те, кто считает себя вправе решать за других. И однажды Сухарь оказывается втянут в конфликт, к которому не готов.

О чём модификация

«Грех» долго молчал. Теперь настало время выйти из тени. У этой группировки своя правда о Зоне: это не территория, не аномалия, не артефакты... а нечто, во что можно верить. Вера, в которой ради достижения «Высшей цели» придётся очень дорого заплатить.

Грех идёт против ЧЗО: против сталкеров, против «Долга» и «Свободы», против всех, кто привык считать Зону своей. Сухарь оказывается вплетён в этот конфликт не по своей воле, но выбор, за кого держать оружие, останется за ним.

В модификации есть как основная сюжетная линия, так и побочные задания, которые расскажут собственные мини-истории.

Используемые модификации и ресурсы
• FWR Weapon Pack — оружейный пак.
• hater8 Classic Models Pack — модели NPC.
• R.M.A. Atmospheric Addon 3.0 — погодный аддон.

Также используются:
• Некоторые модели лиц из билда Frozen Zone.
• Собственные модели NPC.
• Собственные модели оружия.

Локации
В модификации задействованы почти все локации оригинальной игры, а также локации из билдов «Тени Чернобыля» и других частей серии.

• Тёмная Лощина.
• Мёртвый Город.
• Лаборатория X-?? — новая локация.


Прикрепления: 0734521.png(384.0 Kb) · 1378027.png(420.6 Kb) · 2077511.png(2.50 Mb) · 4907780.png(329.9 Kb) · 5620069.png(375.9 Kb) · 5686375.png(398.7 Kb) · 7090219.png(367.9 Kb) · 8020140.png(289.8 Kb) · 8833615.png(360.5 Kb)


Создание камеры в S.T.A.L.K.E.R. — катсцены и анимация камеры в SDK

Руководство по Level Editor и настройке логики

В этом руководстве рассмотрим создание анимации камеры в Level Editor, настройку ключевых кадров и подключение катсцен через схемы логики S.T.A.L.K.E.R.


Содержание

1. Создание анимации камеры в Level Editor
2. Основные команды анимации
3. Настройки и флаги камеры
4. Отображение пути анимации
5. Настройка логики катсцены
6. Схема sr_cutscene и пример использования


1. Создание анимации камеры в Level Editor

Для создания анимации в библиотеке Level Editor предусмотрен специальный объект:
Код
editor/camera

Добавляем камеру на уровень и устанавливаем её в начальную точку будущего маршрута.

Важно! В свойствах объекта необходимо установить флажок Motionable. После этого камеру можно анимировать.


2. Основные команды анимации

При работе с камерой используются следующие команды:
- +K — добавить ключевой кадр.
- -K — удалить ключевой кадр.
- Scale — масштабировать ключи; точное назначение в исходном руководстве не установлено.
- Norm — нормализовать ключи; точное назначение не установлено.
- Clamp — фиксация или обрезка анимации по последнему кадру; точное назначение не установлено.

Управление воспроизведением
- |<< — перейти к начальному кадру.
- +<< — перейти на один кадр назад.
- << — перейти на один ключ назад.
- > — воспроизвести анимацию.
- || — поставить воспроизведение на паузу.
- >> — перейти на один ключ вперёд.
- >>+ — перейти на один кадр вперёд.
- >>| — перейти к конечному кадру.


3. Настройки и флаги камеры

При настройке анимации доступны следующие параметры:
- Auto Key — автоматическая установка ключевых кадров.
- Camera View — просмотр сцены из анимируемой камеры.
- Start Frame (sec) — начальное время анимации в секундах.
- End Frame (sec) — конечное время анимации в секундах.
- Current Frame (sec) — время текущего кадра в секундах.
- Change Key Time (sec) — изменение времени ключевого кадра.
- Key Count — количество созданных ключевых кадров.
- Length (sec) — общая продолжительность анимации.

Важно! В исходном руководстве рекомендуется обязательно включать флажок Auto Key. Параметры анимации при этом настраиваются вручную.

Также необходимо включить отображение пути анимации в настройках Level Editor.


4. Отображение пути анимации

Дополнение от World_Stalker.

Чтобы включить отображение пути движения камеры в Level Editor, выполните следующие действия:
1. Откройте меню Preferences.
2. Перейдите в раздел Objects.
3. Найдите параметр Show.
4. Установите галочку напротив Animation Path.

После этого путь анимации камеры станет виден в редакторе, что упростит настройку траектории и ключевых кадров.

Особенность SDK 0.4

Для S.T.A.L.K.E.R.: Тень Чернобыля объект camera необходимо добавить в SDK 0.4. В исходном руководстве предлагается скачать его отдельно или перенести из SDK 0.7.


5. Настройка логики катсцены

После создания анимации необходимо подключить её через логику уровня.

Ниже приведён пример настройки перехода к катсцене через схему sr_idle.

Пример логики

Код
[logic]
active = sr_idle

[sr_idle]
on_info = {!black_screen +agru_nvidia_presentation} sr_cutscene@cam1

[sr_cutscene@cam1]
point = agru_nv_camera_walk
look = agru_nv_camera_look
cam_effector = scenario_cam\agroprom_underground\camera1_0_904
on_signal = cameff_end | sr_cutscene@cam2

[sr_cutscene@cam2]
; Следующая секция логики


Разбор параметров

- active = sr_idle — активирует начальную схему логики.
- on_info — проверяет условия перехода к катсцене.
- point — точка или путь, в начало которого перемещается игрок после завершения камеры.
- look — точка или путь, задающий направление взгляда игрока.
- cam_effector — путь к файлу анимации камеры.
- on_signal — обработка сигнала завершения анимации и переход к следующей секции.

В примере используются инфопоршень agru_nvidia_presentation и условие {!black_screen}.

Важно! Если следующая секция логики не нужна, в качестве перехода указывают nil. Не следует оставлять пустую секцию, которая не будет использоваться.


6. Схема sr_cutscene

Схема sr_cutscene предназначена для проигрывания анимации камеры с дополнительным постэффектом pp_effector.

Последовательность работы схемы:
1. Игрок мгновенно перемещается к началу пути point.
2. Направление взгляда устанавливается по пути look.
3. Управление игроком блокируется на время катсцены.
4. Запускается анимация камеры.
5. После завершения анимации игрок снова получает управление.

Параметры схемы
- point — имя пути, в первую точку которого переносится игрок.
- look — имя пути, в первую точку которого направляется взгляд игрока.
- pp_effector — имя постэффекта из папки gamedata\anims\ без расширения файла.
- cam_effector — имя анимации камеры из папки gamedata\anims\camera_effects\ без расширения файла.

Поддерживается сигнал cameff_end, который используется для обработки завершения анимации.

Пример использования sr_cutscene
Код
[logic]
active = sr_idle

[sr_idle]
on_actor_inside = sr_cutscene

[sr_cutscene]
point = agr_cutscene_walk
look = agr_cutscene_look
cam_effector = agroprom_demo
on_signal = cameff_end | nil

В этом примере катсцена запускается при входе главного героя в соответствующую область. Игрок перемещается к точке agr_cutscene_walk, смотрит в направлении agr_cutscene_look, после чего запускается анимация камеры agroprom_demo.

После получения сигнала cameff_end схема завершается.

Файл скрипта
В исходном руководстве указан файл:
Код
gamedata\scripts\sr_cutscene.script



Заключение

Теперь вы знаете, как создавать анимацию камеры в Level Editor и подключать её к логике S.T.A.L.K.E.R.

Основные этапы:
- Добавить объект editor/camera.
- Включить Motionable и Auto Key.
- Создать ключевые кадры и настроить траекторию.
- Включить отображение Animation Path.
- Подключить анимацию через cam_effector.
- Настроить point, look и обработку сигнала cameff_end.

С помощью этих инструментов можно создавать катсцены, демонстрационные пролёты камеры и сюжетные эпизоды на пользовательских уровнях.


Anubis

Anubis  

Офлайн  

Титул: Хранитель Зоны

 

1278

74

308


Сообщение 8
Форум: Работа с SDK, Скрипты, конфиги, движок | Тема: Подключение новых локаций к моду S.T.A.L.K.E.R. 15:50:26, 2026-10-17
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2
Подключение новых локаций к моду S.T.A.L.K.E.R. — объединение графа и спавна

Руководство по SDK и подключению пользовательских локаций

В этом руководстве рассмотрим, как подключить новую локацию к существующему моду S.T.A.L.K.E.R., объединить игровые графы, подготовить общий файл спавна и собрать пакет обновления.

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


Содержание
1. Предварительная настройка конфигов
2. Компиляция локации
3. Объединение игрового графа и спавна
4. Сборка общего пакета обновления
5. Замена геометрии без изменения сетки


1. Предварительная настройка конфигов

Самое главное — правильно настроить конфигурационные файлы ещё на этапе подготовки локации в редакторе.

Файл game_graphs.ltx

В конец секции [location_0] добавляем новую локацию по аналогии с уже существующими записями.

Пример из исходного руководства:
Код
[location_0]
000 = "..."
001 = "эскейп"
002 = "свалка"
003 = "агропром"
004 = "агропром-подземка"
005 = "темная долина"
006 = "лаборатория X-18"
008 = "Бар"
009 = "Росток"
010 = "Янтарь"
011 = "лаборатория X-16"
012 = "Милитари"
013 = "Мертвый город"
014 = "Радар"
015 = "Радар бункер"
016 = "Припять"
017 = "станция АЭС"
018 = "ЧАЭС-2"
019 = "бункер выжигателя"
021 = "даркскейп"

Важно!
Новой локации необходимо назначить новый ID, чтобы она не вклинилась в существующую последовательность игрового графа. В примере используется ID 21.

Запомните этот номер: он должен согласовываться с остальными конфигурационными файлами.

Файл game_levels.ltx

В конец секции [levels] добавляем новый уровень, а затем создаём соответствующую подсекцию.

Пример:
Код
[level21]
name = k01_darkscape_ogse
caption = "k01_darkscape_ogse"
offset = 3000.0,1000.0,0.0
id = 21

Здесь:
- name — внутреннее имя локации, соответствующее имени её папки.
- caption — имя, отображаемое на карте.
- offset — смещение на глобальной карте.
- id — идентификатор локации.

В примере используется level21 и ID 21. Согласно исходному руководству, новая локация должна иметь самый большой ID, иначе существующая структура игрового графа может нарушиться.

Файл game_maps_single.ltx

В конец секции [level_maps_single] добавляем имя новой локации:
Код
[level_maps_single]
k01_darkscape_ogse

Затем создаём секцию с настройками карты:
Код
[k01_darkscape_ogse]
texture = map\map_darkscape
bound_rect = -702.00,-704.090,708.500,716.7780
global_rect = 701.0,2072.0,1020.0,2393.0
weathers = default
; music_tracks = l04_darkvalley_musics

Параметры определяют текстуру карты, границы локации, её отображение на карте КПК и используемую погоду.

В исходном руководстве значения global_rect описаны следующим образом:

- Первое значение — ширина текстуры; увеличение сдвигает левый край относительно неподвижного правого.
- Второе значение — длина текстуры; увеличение сдвигает верхний край относительно неподвижного нижнего.
- Третье значение — ширина текстуры; увеличение сдвигает правый край относительно неподвижного левого.
- Четвёртое значение — длина текстуры; увеличение сдвигает нижний край относительно неподвижного верхнего.


2. Компиляция локации

Если геометрия уже компилировалась ранее, можно выполнить сборку в режиме Draft, а затем пересчитать только сетку и перенести файлы *.ai и *.gct в папку готовой локации.

Перед компиляцией необходимо проверить несколько моментов.

Подготовка уровня

- На новой локации не должно быть точки спавна ACTOR. В исходном руководстве указывается, что такая точка должна быть только одна на всю игру.
- Локация должна быть равномерно покрыта Graph Point.
- Желательно заранее создать Graph Point для переходов, чтобы не пришлось позже использовать для этого свободные точки.

После проверки запускаем необходимые BAT-файлы xrAI и последовательно выполняем построение сетки, level graph, game graph и all.spawn.


3. Объединение игрового графа и спавна

Для объединения новой локации с существующим модом понадобятся следующие файлы и инструменты:

Необходимые файлы:
- Старый game.graph мода.
- Game.graph, полученный при компиляции новой локации.
- Старый all.spawn мода.
- All.spawn, полученный при компиляции новой локации.
- Файлы level.ai и level.gct всех локаций, уже присутствующих в моде.
- Полностью подготовленная папка новой локации.

Необходимые утилиты:
- ACDC.
- gg_cdc_x.
- game.graph_recompiler.

Шаг 1. Проверяем положение новой локации в графе

Копируем game.graph, сформированный при компиляции новой локации, в папку с ACDC и выполняем:
Код
ggtool.pl game.graph

Утилита выведет информацию о переходах и игровых вершинах локаций.

В исходном руководстве приводится следующий пример:
Код
l01_escape => 0
l02_garbage => 252
l03_agroprom => 416
l03u_agr_underground => 703
l04_darkvalley => 811
l04u_labx18 => 1109
l05_bar => 1168
l06_rostok => 1308
l08_yantar => 1438
l08u_brainlab => 1529
l07_military => 1545
l10_radar => 1862
l11_pripyat => 2117
l12_stancia => 2273
l12u_sarcofag => 2402
l12u_control_monolith => 2467
l12_stancia_2 => 2517
l10u_bunker => 2661
k01_darkscape_ogse => 2792

Критически важный момент!

Новая локация должна находиться в самом конце списка, после неё не должно быть других локаций.

В данном примере стартовый game vertex новой локации равен 2792. Запишите это значение: оно понадобится при дальнейшей настройке графа.

Если новая локация оказалась в середине списка, необходимо вернуться к настройке конфигов и проверить её ID. В противном случае могут измениться существующие игровые графы и спавн.

Шаг 2. Настраиваем ACDC

Открываем acdc.pl и находим структуру levels_info по тексту constant levels_inf.

Проверяем границы игровых графов, удаляем ненужные записи и добавляем новую локацию в начало списка.

Пример:
Код
use constant levels_info => (
    { gvid0 => 3700, },
    { gvid0 => 2792, name => 'k01_darkscape_ogse' },
    { gvid0 => 2661, name => 'l10u_bunker' },
    { gvid0 => 2517, name => 'l12_stancia_2' },
    { gvid0 => 2467, name => 'l12u_control_monolith' },
    { gvid0 => 2402, name => 'l12u_sarcofag' },
    { gvid0 => 2273, name => 'l12_stancia' },
    { gvid0 => 2117, name => 'l11_pripyat' },
    { gvid0 => 1862, name => 'l10_radar' },
    { gvid0 => 1545, name => 'l07_military' },
    { gvid0 => 1529, name => 'l08u_brainlab' },
    { gvid0 => 1438, name => 'l08_yantar' },
    { gvid0 => 1308, name => 'l06_rostok' },
    { gvid0 => 1168, name => 'l05_bar' },
    { gvid0 => 1109, name => 'l04u_labx18' },
    { gvid0 => 811, name => 'l04_darkvalley' },
    { gvid0 => 703, name => 'l03u_agr_underground' },
    { gvid0 => 416, name => 'l03_agroprom' },
    { gvid0 => 252, name => 'l02_garbage' },
    { gvid0 => 0, name => 'l01_escape' },
);

Сохраняем изменения в acdc.pl. Этот файл понадобится при объединении спавна.

Шаг 3. Объединяем игровые графы

Подготавливаем папку game.graph_recompiler.

В папке levels создаём каталоги всех локаций, которые уже присутствуют в моде, и копируем туда их файлы level.ai и level.gct. Также помещаем туда папку новой локации целиком.

В корень инструмента копируем старый game.graph мода, а новый граф переименовываем в game2.graph.

Теперь необходимо настроить BAT-файл, указав, какие локации брать из первого и второго графа.

Пример из исходного руководства:
Код
ggrc.pl -g1 game.graph,soc -l1 l01_escape,l02_garbage,l03_agroprom,l03u_agr_underground,l04_darkvalley,l04u_labx18,l05_bar,l06_rostok,l08_yantar,l08u_brainlab,l07_military,l10_radar,l11_pripyat,l12_stancia,l12u_sarcofag,l12u_control_monolith,l12_stancia_2,l10u_bunker -g2 game2.graph,soc -l2 k01_darkscape_ogse
pause

Запускаем BAT-файл и дожидаемся завершения обработки.

Если всё прошло успешно, появится файл game.graph.new — объединённый игровой граф.

Проверяем результат

Распаковываем полученный граф с помощью gg_cdc_x и проверяем файлы:

- game.graph.info.cross_edges.ltx — должны сохраниться все существующие переходы.
- game.graph.levels.ltx — новая локация должна находиться в конце и иметь самый большой level_id.
- game.graph.levels_info.ltx — новая локация должна быть последней, здесь также можно проверить минимальный и максимальный game vertex.

Минимальная вершина новой локации должна совпадать с той, которую получили при проверке графа до объединения. В приведённом примере это 2792.

Не пропускайте проверку!

После объединения могут измениться идентификаторы локаций. Сравните значения в game.graph.levels.ltx с идентификаторами из game_graphs.ltx и game_levels.ltx.

Если они отличаются, необходимо скорректировать конфиги в соответствии с итоговым игровым графом.

Шаг 4. Настраиваем переходы между локациями

Желательно создавать crosslevel edge ещё при подготовке новой локации.

После объединения графа необходимо проверить и при необходимости восстановить связи между новой локацией и существующими уровнями.

Общий порядок действий:
1. Распаковываем game.graph, полученный при компиляции новой локации.
2. Находим файл game.graph.edges с идентификатором новой локации.
3. Ищем созданные переходы, помеченные как crosslevel edge. Их можно определить по параметру target_level_id.
4. Копируем записи переходов в отдельный файл.
5. Открываем конфигурацию новой локации в объединённом графе.
6. Находим соответствующие Graph Point по параметру parent_level_vertex_id.
7. Сохраняем исходные записи перед изменением.
8. Обновляем параметры target_level_id, target_level_vertex_id и game_vertex_id согласно данным подготовленных переходов.
9. Проверяем дистанцию между точками перехода.

Для обратных переходов аналогично редактируем графы тех локаций, с которыми связывается новая карта. Необходимо сопоставить соответствующие Graph Point и правильно указать целевые вершины.

После изменений сохраняем конфиги и компилируем граф заново.

Проверить результат можно через:

Код
ggtool.pl game.graph

В списке должны отображаться новые переходы.

Важно: перед редактированием сохраняйте исходные записи Graph Point в отдельные файлы. Это позволит восстановить параметры, если при настройке связей возникнет ошибка.

Шаг 5. Переносим обновлённые файлы графа

После успешной проверки копируем итоговый game.graph в мод.

Также необходимо перенести в пакет новой локации обновлённые файлы:

Код
level.gct
level.graph
level.ai

Дополнительно проверяем, изменились ли файлы level.ai и level.gct уже существующих локаций. Если изменения есть, их тоже нужно включить в итоговый пакет.


4. Объединение all.spawn

Теперь подготовим общий файл спавна мода.

Шаг 1. Подготавливаем конфиги спавна

Берём изменённый ACDC и распаковываем all.spawn, полученный при компиляции новой локации.

Из полученных файлов забираем конфиг новой локации.

Затем распаковываем all.spawn существующего мода и переносим конфиг новой локации в соответствующую папку.

Шаг 2. Обновляем all.ltx

В all.ltx существующего мода прописываем конфиг новой локации и увеличиваем значение level_count на единицу.

Внимание!
В исходном руководстве отдельно подчёркивается: остальные параметры all.ltx изменять не нужно.

Шаг 3. Проверяем нумерацию объектов

Проверяем количество объектов в спавне новой локации.

Затем перенумеровываем объекты в её конфиге так, чтобы они шли после объектов существующего мода и не пересекались с их идентификаторами.

Также проверяем game vertex объектов: они должны находиться в диапазоне вершин, соответствующих новой локации в game.graph.levels_info.ltx.

Шаг 4. Добавляем переходы и собираем спавн

Если все параметры настроены правильно, добавляем в общий спавн точки переходов для главного героя.

После этого собираем all.spawn обратно с помощью используемого инструмента ACDC.

Готовый файл переносим в итоговый пакет обновления.


5. Собираем общий пакет обновления

После объединения графа и спавна необходимо подготовить пакет с обновлёнными файлами.

Конфигурационные файлы:
Код
game_graphs.ltx
game_levels.ltx
game_maps_single.ltx

Файлы новой локации:
Код
level.gct
level.graph
level.ai

Эти файлы должны быть обновлены версиями, полученными после объединения графа.

Также в пакет включаются:
- Папка новой локации.
- Изменённые файлы level.ai и level.gct существующих локаций, если они обновлялись.
- Объединённый game.graph.
- Объединённый all.spawn.
- Необходимые шейдеры.
- Необходимые текстуры.

Перед публикацией рекомендуется проверить целостность пакета и убедиться, что в нём присутствуют все изменённые файлы.


6. Замена геометрии локации без изменения сетки

Если требуется заменить только геометрию уровня, не затрагивая существующую AI-сетку, в исходном руководстве предлагается заменить только перечисленные файлы.

Код
level
level.cform
build_details.dds
level_lods.dds
level_lods_nm.dds
level.details
level.game
level.geom
level.geomx
build.prj
level.wallmarks

Важно!
Этот список приведён по исходному руководству. Перед заменой файлов сделайте резервную копию папки локации и проверьте совместимость файлов с используемой версией SDK и движка.



Заключение
Подключение новой локации к готовому моду требует согласованной настройки конфигов, объединения игровых графов и корректного сведения файлов спавна.

Основные этапы работы:
- Назначить новый ID и прописать локацию в конфигурационных файлах.
- Скомпилировать уровень и проверить его игровые вершины.
- Объединить game.graph с существующим графом мода.
- Проверить и настроить межуровневые переходы.
- Обновить all.spawn и идентификаторы объектов.
- Собрать полный пакет обновления с необходимыми файлами.

Главное правило: перед объединением всегда сохраняйте резервные копии графа, спавна и конфигов. Ошибка в идентификаторах или связях может нарушить работу существующих локаций мода.


Anubis

Anubis  

Офлайн  

Титул: Хранитель Зоны

 

1278

74

308


Сообщение 9
Форум: Работа с SDK, Скрипты, конфиги, движок | Тема: Добавляем аномалии на уровень в S.T.A.L.K.E.R. 15:46:46, 2026-10-17
Сталкерское уважение +1 Сталкерское уважение +2 Сталкерское уважение +3 Постоянный житель портала Постоянный житель портала + Постоянный житель портала +2 Постоянный житель портала +2 Постоянный житель портала +2
Добавляем аномалии на уровень в S.T.A.L.K.E.R. — руководство по SDK

В этом руководстве рассмотрим, как добавлять аномалии на пользовательские уровни S.T.A.L.K.E.R. с помощью SDK. На примере «Комариной плеши» разберём размещение аномалии, настройку области её действия и добавление объекта в список аномалий карты.


Содержание
1. Добавление аномалии на уровень
2. Настройка области действия
3. Связывание аномалии со сферой
4. Редактирование свойств
5. Добавление аномалии в список карты


1. Добавление аномалии на уровень

Чтобы добавить аномалию, необходимо переключить редактор в режим редактирования Spawn Element:

Код
Edit Mode → Spawn Element

В списке Spawn переходим в категорию zones.

Для примера разместим на карте аномалию средней мощности — «Комариную плешь» (mosquito bald average).

Порядок действий:
1. Выбираем инструмент Add на верхней панели инструментов или нажимаем клавишу A.
2. В списке объектов выбираем нужную аномалию.
3. Щёлкаем по карте, чтобы разместить объект.

После этого на уровне должен появиться белый флажок, обозначающий размещённую аномалию.


2. Настройка области действия аномалии

Теперь необходимо определить область, в пределах которой будет действовать аномалия.

Переключаем редактор в режим работы с формами:

Код
Edit Mode → Shape

Добавляем сферу:

Код
Sphere

С помощью инструмента Scale изменяем её размеры, задавая необходимую область действия аномалии.

Важно: размер сферы должен соответствовать предполагаемой области воздействия аномалии на уровне.


3. Связывание аномалии со сферой

Аномалия и область её действия созданы. Теперь необходимо связать их между собой.

Выполняем следующие действия:

1. Возвращаемся в режим Spawn Element.
2. Выбираем размещённую аномалию.
3. В разделе Commands нажимаем Attach Object.
4. Щёлкаем по созданной сфере.

После связывания флажок аномалии должен переместиться в центр сферы.

Теперь можно переместить аномалию в нужную точку карты с помощью инструмента Move:

Код
Move (T)

Разместите объект там, где он должен находиться на уровне.


4. Редактирование свойств аномалии

После размещения переходим к настройке свойств объекта.

Доступ к Object Inspector можно получить несколькими способами:

- Щёлкнуть правой кнопкой мыши по объекту и выбрать Properties.
- Нажать Enter.
- Открыть Tools → Properties.

В открывшемся окне задаём удобное имя аномалии. Например:

Код
zone_mosquito_bald_average_1

В исходном руководстве остальные свойства объекта предлагается оставить без изменений.

Совет: используйте понятные и уникальные имена для объектов, чтобы не путаться при настройке нескольких аномалий на одном уровне.


5. Добавление аномалии в список карты

Осталось добавить созданную аномалию в список аномалий уровня.

Для этого переходим к редактированию свойств сцены и находим параметр Custom Data.

Нажимаем кнопку с тремя точками, чтобы открыть редактор пользовательских данных.

В исходном руководстве для режима Deathmatch приводится следующий пример:

Код
[deathmatch_game_anomaly_sets]
permanent = zone_mosquito_bald_average_1

В данном случае zone_mosquito_bald_average_1 — имя созданной ранее аномалии.

Важно: имя в списке должно совпадать с именем соответствующего объекта на уровне.


Готово!

Аномалия добавлена на уровень, область её действия настроена, а объект внесён в список аномалий карты.

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

Итог:
- Добавили аномалию через Spawn Element → zones.
- Создали сферу и настроили область действия.
- Связали сферу с аномалией через Attach Object.
- Задали имя объекта.
- Добавили аномалию в Custom Data сцены.

Таким же способом можно размещать другие аномалии, доступные в SDK, на собственных уровнях S.T.A.L.K.E.R.


Глобальное озеленение S.T.A.L.K.E.R. — добавляем траву на уровень

Содержание
1. Теория
2. Практика
2.1. Рисуем детальную текстуру
2.2. Применяем детальную текстуру к уровню
3. Компиляция

В этом руководстве рассмотрим работу с детальными объектами в SDK S.T.A.L.K.E.R. Научимся добавлять на собственный уровень траву и листья, а при наличии соответствующих моделей — и другие объекты, например мусор, встречавшийся в ранних билдах игры.


1. Теория

В комплект SDK уже входит скомпилированный и настроенный список детальных объектов — Detail List. Он находится в файле:

Код
SDK/rawdata/detail_list.dti

Смысл Detail List заключается в привязке детальных объектов к цветам специальной текстуры, которая определяет положение и тип объектов на уровне.

Как работает детальная текстура?

- Цвет — определяет тип объекта в соответствии с настройками Detail List.
- Альфа-канал — определяет плотность размещения объектов.

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

С теорией разобрались — переходим к практике.


2. Практика

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

2.1. Рисуем детальную текстуру

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

Перед рисованием нужно выяснить, какие цвета соответствуют нужным объектам.

Шаг 1. Открываем редактор детальных объектов

1. В Level Editor переключаемся в режим редактирования детальных объектов.
2. В группе DO Commands нажимаем Object List.
3. Открывается редактор Detail Objects.
4. Загружаем готовый список деталей из SDK.

Код
SDK/rawdata/detail_list.dti

После загрузки списка в правой колонке появятся цвета и соответствующие им объекты.

При необходимости можно создавать новые цвета и назначать им другие объекты. Это позволяет использовать различные сочетания детальных объектов на одном уровне.

Шаг 2. Создаём текстуру

Запускаем Photoshop и создаём новое изображение размером 512 × 512 пикселей.

Можно использовать и другие размеры, кратные степени двойки, например:

- 128 × 128;
- 256 × 256;
- 512 × 512;
- 1024 × 1024.

Шаг 3. Распределяем объекты

Рисуем текстуру, используя цвета, назначенные объектам в редакторе Detail Objects.

Помните:

- Цвет определяет тип детального объекта.
- Альфа-канал отвечает за плотность размещения.

Поэтому перед рисованием важно проверить соответствие цветов в текстуре настройкам Detail List.

Шаг 4. Сохраняем текстуру

Сохраняем готовое изображение в папку SDK/import в формате Targa.

Параметры сохранения:

- Формат: TGA.
- Глубина цвета: 32 бита на пиксель.
- Сжатие: отключено.


2.2. Применяем детальную текстуру к уровню

Теперь необходимо импортировать созданную текстуру в Level Editor и применить её к нужным поверхностям.

Шаг 1. Импортируем текстуру

В Level Editor выбираем:

Код
Images → Check New Textures

Эта команда заставляет редактор проверить папку SDK/import и добавить новые текстуры в Texture List.

В появившемся окне импорта ничего не меняем и нажимаем OK.

Теперь наша текстура должна появиться в списке доступных текстур редактора.

Важно: редактор должен находиться в режиме работы с детальными объектами.

Шаг 2. Назначаем базовую текстуру

Открываем свойства через меню:

Код
Tools → Properties

Также в исходном руководстве указано, что можно нажать Enter, если горячие клавиши не изменялись.

В свойствах детальных объектов находим параметр Base Texture и нажимаем на него.

В открывшемся окне Select Texture выбираем созданную ранее текстуру.

Шаг 3. Выбираем поверхности для озеленения

Переключаемся в режим редактирования Object и выбираем объекты, которые должны покрываться детальными элементами.

Например, можно выделить поверхности земли, на которых необходимо разместить траву.

Внимание! Выбранные объекты определяют область применения детальных объектов на этом этапе.

Шаг 4. Формируем Snap List

Возвращаемся в режим редактирования Detail Objects и выполняем команду:

Код
Snap List → Commands → Make List From Selected

После этого список Snap List будет сформирован на основе выбранных объектов.

Шаг 5. Инициализируем детальные объекты

Выполняем первую инициализацию:

Код
DO Commands → First Initialize

После завершения на уровне должны появиться детальные объекты в соответствии с подготовленной текстурой.

На этом основная работа с расположением травы и листьев завершена. Остаётся собрать и скомпилировать уровень.


3. Компиляция

Компиляция детальных объектов выполняется с помощью компилятора xrDO_light.

Последовательность действий следующая:

1. Собираем уровень через Compile → Build.
2. Компилируем геометрию уровня с помощью xrLC.
3. Рассчитываем освещение детальных объектов с помощью xrDO_light.

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

Для этого используем:

Код
Compile → Make Detail + xrDO_light

После завершения компиляции запускаем игру и проверяем результат.

Результат

На уровне появятся трава, листья и другие настроенные детальные объекты. Их тип и плотность зависят от цветов и альфа-канала подготовленной текстуры, а область размещения — от выбранных поверхностей.


Итог

Теперь вы знаете, как добавить детальные объекты на пользовательский уровень S.T.A.L.K.E.R. с помощью SDK:

- подготовить Detail List;
- нарисовать специальную текстуру;
- импортировать её в Level Editor;
- назначить Base Texture;
- сформировать Snap List;
- выполнить инициализацию и компиляцию.

Метод позволяет озеленить собственную локацию и при наличии соответствующих моделей добавить другие элементы окружения.


Прикрепления: 8303103.jpg(227.2 Kb) · 8951229.jpg(173.2 Kb)


  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Совет по выживанию
Загрузка…
Совет № 1




Заходили сегодня: | Anubis, stalkercom, Гудвин, Spic3, aldi7, andrey780102, dima1987sumy, laguskaexorcist, romankuhna, 0xl74, v11376699