Это популярное сообщение. Murarius 10 533 Опубликовано 23 Января 2015 Это популярное сообщение. Поделиться Опубликовано 23 Января 2015 "Конструкторское бюро" OGSE. Все о платформе, разработке, использовании материалов Old Good Stalker Evolution, а также всяческие предложения по дальнейшему развитию. Исходники ogse.dll: https://yadi.sk/d/smv9hMa3gqGf5 Собирать только VS 2005 или VS 2008. В противном случае не взлетит. Вроде бы внешних зависимостей никаких, необходимые файлы уже включены в проект. Создаете файл с именем level.puddles в папке с нужной локацией. Открываете файл в текстовом редакторе и вносите туда записи вида: [south_blockpost] center = -84.61,-34.95,-347.90 max_depth = 0.5 radius = 30 [south_blockpost] - имя. Никакой роли не играет, служит лишь для ориентирования. Должно быть уникальным в пределах одного файла. center - координаты центра лужи на локации max_depth - максимальная глубина лужи. Выбирается таким, чтобы актор в самом низком присяде не смог в нее "нырнуть" с головой. radius - размер лужи. Определение координат для луж несколько заморочено. Связано это с тем, что не в любом месте можно поставить лужу - она может быть лишь в локальном углублении. Для выявления таких углублений предлагаю следующий вариант (именно им пользовался я). Декомпилируете локацию, загружаете в сдк. Удаляете ВСЕ объекты, кроме террейна, далее работаете только с ним. В свойствах террейна увеличиваете его вертикальную координату так, чтобы координатная сетка в сдк была полностью под ним. Затем понемногу "опускайте" террейн обратно. В тех местах, где будет появляться координатная сетка, и будут находиться локальные углубления. Киньте там калаш (или другой объект), узнаете координаты. Для большей заметности помогает сделать сетку "погуще". Другой способ предложил Deathdoor. Сделайте очень большую плоскость в майке, обтяните заметной текстурой. Потом вставьте ее на локацию в LE под террейн, ну и двигайте потом вверх. Принцип аналогичен вышеописанному - там, где будет проступать плоскость, там локальное углубление. При реализации этих эффектов довольно быстро стало понятно, что далеко не каждый источник света с ними выглядит хорошо. Потому была внедрена система пообъектной настройки фларов и объемного света. Для каждого источника можно включать или выключать эти эффекты отдельно двумя способами: 1) В all.spawn. Найдите секцию лампы, возьмите оттуда light_flags. Объемный свет включается путем выставления в light_flags флага 0x40, флары - флага 0х80. Выключаются эффекты снятием соответствующих флагов. Модифицируете флаг, собираете спавн, начинаете новую игру, наблюдаете появившиеся эффекты. Можно новую игру и не начинать, тогда перепишите нет-пакет лампы скриптом в игре. Для новичков в hex-исчислении: открываете виндовый калькулятор, переключаете в программистский режим, выбираете режим Hex. Выставление флагов производится функцией Or, снятие - функцией Xor. 2) В СДК. Поскольку расставление эффектов является больше дизайнерской задачей, сделал небольшую правку СДК: https://yadi.sk/d/3ZujqzlMgqJ6p. С ней просто запускаете LE, в опциях спавн-объекта лампы появятся флажки Enable Flare и Volumetric. Прежде всего, понадобится утилитка, изготавливающая объемный туман, понимаемый OGSE-модом: https://yadi.sk/d/NXAUhXucgqJfP Далее: 1) Запилите в 3d редакторе модель тумана и экспортируйте ее в obj. Вот простенькая модель, если кому лень запускать майку: https://yadi.sk/d/jvrU3XDjdSRvw 2) Создайте папку meshes в папке с fvolume_maker; 3) Скиньте модельку туда; 4) Запустите fvolume_maker. Параметры для батника: -config <string> файл с конфигом объемов. Если не указано - будет fvm_config.ltx -source <string> файл, куда сохраняем готовые объемы. Если не указано - будет level.fvolumes -append <true|false> экспериментальная опция, позволяет не переписывать, а дополнять существующий файл *.fvolumes Про файл конфигов. Он содержит записи вида: [test] position = 0.267,2.688, 91.776 rotation = 0.0,0.0,0.0 scale = 1.0,1.0,1.0 Все очевидно. Имя секции - имя вашей модельки. Position, rotation - позиция тумана на локации и поворот относительно осей. Scale - растяжение модельки тумана по осям. 5) После окончания работы программы получится файл level.fvolumes. Нужно запихать его в папку с локацией. Для каждой локации такой файл нужен отдельный. 6) Правите конфиг туманов. Это файл config/environment/fog_volumes.ltx. Он содержит записи вида: [test] color = 1.0,1.0,1.0,1.0 max_density = 0.5 Тут еще очевиднее, чем раньше. Color - цвет тумана, max_density - плотность тумана. 1 - ничего не видно через 1 метр, 0,5 - ничего не видно через 2 метра, и т.д. Обратная зависимость, короче. 7) Включаете опцию r2_volumetric_fog, загружаете локацию и ищете свой туман на локе. Для удобной настройки есть консольная команда reset_fv. При ее вызове применяются изменения color и max_density. Для создания и редактирования диалогов очень удобно пользоваться редактором диалогов за авторством Mlandrinus: https://yadi.sk/d/qmUaU5VIgqKCh. Кидаете в папку со сталкером, запускаете, дальше все в целом понятно. Конфиги должны быть распакованы. Вид текстур в тепловизоре определяется настройкой material в textures.ltx. Имеется два пресета - для морд/тел/брони и для оружия. По сути, различие между пресетами заключается в том, что оружие при стрельбе греется и это учитывается. Если вы хотите применить для текстуры пресет для тела неписей, поставьте material в пределах 0,6-0,7. В данном случае 0,6 - холодная геометрия, 0,7 - горячая. Для оружия применяйте диапазон 2,85-2,95. Впрочем, в случае оружия лучше ставить всегда минимум (2,85), чтобы нормально выглядел эффект нагрева оружия. Цвета в тепловизоре также можно настроить. Откройте shaders/r2/ogse_config.h. За цвета отвечают параметры IKV_DEAD_COLOR (цвет холодной геометрии), IKV_LIVE_COLOR (цвет горячей геометрии), IKV_MID3_COLOR, IKV_MID2_COLOR, IKV_MID1_COLOR (промежуточные "опорные" цвета). Все параметры приведены в RGB, подбирайте где-нибудь в пэинте. Далее можно не читать, если вы не понимаете, для чего в игре параметр material. Если же вы понимаете и негодуете насчет того, что приходится менять ваши любимые настройки текстур ради тепловизора, внимайте. Интервал значений material для тепловизора также можно изменить. За это отвечают параметры IKV_PRESET_1_MIN, IKV_PRESET_1_MAX (первый пресет) и IKV_PRESET_2_MIN, IKV_PRESET_2_MAX (второй пресет) в том же ogse_config.h. Правило конвертации - в ogse_config.h вносится значение (material + 0.5) / 4. Т.е., если нижний предел для первого пресета у вас 0,8, то IKV_PRESET_1_MIN назначаете равным (0,8+0,5)/4 = 0,325. Выглядит, странно, да, но вот так работает движок. И не без причины. Есть такие консольные команды: Цветокоррекция: r2_color_grading [0.0, 0.0, 0.0, 0.0] Известный эффект, "подкрашивает" картинку на экране в выбранный цвет. Поставьте какой-нибудь синий цвет, мигом узнаете ранние Battlefield. Фича мощная, однако, требует некоторых усилий дизайнеров, поскольку цвет должен зависеть от локации и игровой ситуации. Оптимизация отрисовки травы: r2_details_opt [0.0, 0.0, 0.0] Три параметра, все три - расстояние в игровых метрах. Смысл такой: в игре трава рисуется квадратами 2х2, т.е. в одном "гнезде" четыре куста травы. С этим параметром по достижении первого расстояния перестает рисоваться один куст из четырех, по достижении второго - два куста из четырех, по достижении третьего - три куста из четырех. При тщательной настройке позволяет сберечь фпс без ухудшения картинки. 5 4 Литературка (избранное): "Координаты избушки" (2023) --- "Колобок времени" (2019) --- "Пиво и жлоб" (2018) --- "Лекарство против морщин" (2013) --- "Когда все пройдет" (2013) Креатив (бесперспективное): Dominanta --- Сон на земле Досвиданьице (слезное): Смена администратора (2024) Ссылка на комментарий
kamikazze 266 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 Я понимаю что все инструкции будут потом, но можно хотя бы небольшое пояснение по схеме сменных аддонов? Да можно конечно. Если систему рассматривать как черный ящик, потроха которого вас не интересуют, то работает так: у нас есть ствол, в его конфиге есть доп. параметры - в какой его превращать при использовании какого именно аддона. Далее есть унаследованные от основного ствола секции его вариантов в разных аддонах, которые отличаются только моделькой, плюс внутри в секциях там указано в какой ствол его превратить при откручивании аддонов. Всё. Для примера откройте конфиг ствола w_m16a1_sk1.ltx, там внутри [wpn_m16a1_sk1] - это как раз ствол-образец, поглядите как он сделан. У него все работает, и секции нужных аддонов все есть, всё что нужно - это тупо модель. На него можно прицепить гранатомет подствольный, можно подствольный дробовик, и пару прицелов - простой и ночной типа. Переключение режимов производится совершенно стандартно. Всё что нужно - это сделать модельки с анимациями. Чтобы упростить сие действо можно сделать просто - можно сделать ОДНУ модель, в которой на доп. костях висят доп. подствольники, прицелы и т.п. Далее для каждого сочетания сделать анимации, в каждой из которых вместо замены модели целиком просто нужные аддоны вешаются на нужные места. И далее в унаследованных аддонных секциях просто нужные анимации подставить. Вот и все дела. И получим ствол, на который можем вешать несколько разных типов аддонов. Если хотите отспавните себе в инвентарь следующие секции: wpn_m16a1_sk1 wpn_addon_sil_556_ar wpn_addon_scope_susat wpn_addon_grenade_launcher_m203 fake_wpn_addon_acog fake_wpn_addon_remington_870mcs И посмотрите что будет. Цеплять вторичные аддоны просто - на нем правой кнопкой и там "прицепить к основному оружию" 2 1 Отладчик и скриптер мода OGSE. Автор схемы "Компаньоны", стреляющего БТРа и многих других полезностей Ссылка на комментарий
Kondr48 314 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 По движку смотри проект x-ray extensions. Какая документация нужна к шейдерам? Они работают, что ещё надо? Хм, а как много там есть из графической части?) 189 же последняя вроде ревизия?) --- И есть ли у кого в планах переносить эту графическую часть на седьмой патч или нету?) Ссылка на комментарий
Карлан 1 049 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 , почитай хотя-бы последние страниц десять из закрытой темы на этом форуме, которая в разработках еще была. Никто не собирается переносить графические или еще какие-либо правки из разработчиков огсе на 7 движок, уже тыщу раз говорилось. Не видно что-ли что апдейты каждый день выходят? Попробуй сделать логический вывод Ссылка на комментарий
Dyadka_Yar 156 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 Чтобы упростить сие действо можно сделать просто - можно сделать ОДНУ модель, в которой на доп. костях висят доп. подствольники, прицелы и т.п. Далее для каждого сочетания сделать анимации, в каждой из которых вместо замены модели целиком просто нужные аддоны вешаются на нужные места. В сталкере у модели же ограничение на 64 кости, из-за этого этот вариант не всегда выйти может. Подствольнику нужно как минимум 3 кости, сам подствольник, "труба" если это М203, и граната, для дробовика тоже 3, плюс прицелы-глушители и кости самого оружия, рук, за 64 может легко перевалить. Ссылка на комментарий
Kondr48 314 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 (изменено) Карлан, вообще то не имелось ввиду сейчас и именно разработчиками ОГСЕ, может найдутся энтузиасты, которые будут переносить эти правки из x-ray extensions, краем уха слышал что они там есть(или будут) но за наводку спасибо) посмотрю) Dyadka_Yar, так все равно схема на подмене секций, ничто не помешает сделать одинаковые модели, которые будут различаться лишь набором аддонов, а там только фантазией/терпением ограничится, либо например, грубо говоря две модели:с подствольным дробовиком, а костями все прицелы, вторая дробовик - костями все прицелы, либо просто комбинации из простых моделей) Изменено 23 Января 2015 пользователем Вампир35 Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 за 64 может легко перевалить Да ладно! Там запас по костям на все мыслимые аддоны для конкретного ствола. Прицел - это ровно одна дополнительная кость, а чаще всего именно прицелы навешивают табунами. Реально здесь нет никакой проблемы, кроме человеческой. Нам так и не сделал никто такую комбинированную модель. Даже одну для тестов. Даже при том, что я спецом просил не анимировать аддоны, поскольку планировал гасить их не анимациями, а скрыванием костей. Так и не сделал никто и ничего. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
RayTwitty 492 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 @Malandrinus, есть вопрос по поводу одного куска кода: ogse_car_control.script local cam_cur_addr = car:get_car_int(nil, 1320) car:set_memory_float(nil, lim_yaw_min, sum_args(cam_cur_addr, 40)) car:set_memory_float(nil, lim_yaw_max, sum_args(cam_cur_addr, 44)) car:set_memory_float(nil, lim_pitch_min, sum_args(cam_cur_addr, 48)) car:set_memory_float(nil, lim_pitch_max, sum_args(cam_cur_addr, 52))Собсно, а что делает функция sum_args? Посмотрел в движке - просто суммирует два параметра. Так почему просто не написано cam_cur_addr+40? И вопрос по поводу функции изменения значений в памяти - set_memory_float, в каком объекте эти значения правятся? Ссылка на комментарий
Malandrinus 615 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 , функция просто суммирует, как ты верно понял. Нужно это потому, что при арифметических операциях Lua превращает целое число в число с плавающей запятой со всеми вытекающими. Объект - это текущая камера машины. Это отдельный объект, на который идёт указатель из объекта собственно машины. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
RayTwitty 492 Опубликовано 23 Января 2015 Поделиться Опубликовано 23 Января 2015 при арифметических операциях Lua превращает целое число в число с плавающей запятой со всеми вытекающимиА, вот оно что. Теперь понятно. Объект - это текущая камера машины. Это отдельный объект, на который идёт указатель из объекта собственно машины.Насколько я понял, речь идет о CCameraBase? Просто желательно иметь точную информацию для FAQ. И ещё небольшой вопрос по поводу глобального метода set_ignore_game_state_update() - он у вас используется в ogse_sleep_mgr.script. Насколько я понял, он связан с апдейтом погоды и применяется в фиксе восстановления солнца. Хотелось бы узнать поподробнее про этот метод, ибо в оригинале (оригинальной игре с библиотеками из ХЕ) наблюдаются проблемы с обновлением погоды между перезагрузкой сейвов, а иногда и зависанием текущего часа. Предполагаю, что как-то связано с этим методом (точнее, с его неприменением). Ссылка на комментарий
Malandrinus 615 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 , а чего не в вики проекта пишешь? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
k01jan 816 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 (изменено) планировал гасить их не анимациями, а скрыванием костей Это сейчас работает? Нет, только движковые функции сделал, а до скриптовой обвязки дело не дошло, поскольку никто так и не сделал мне модель для тестирования системы. malandrinus А насколько сложно сделать? Я б попробовал. Хотя бы прицелы - там только кости добавить, анимировать не надо. P.S.: судя по конфигу эмки схема не Kirag'а а, скорее, Shoker'а? Какие скрипты задействованы? И как обращаться к изменённому движку? Изменено 24 Января 2015 пользователем malandrinus Ссылка на комментарий
Malandrinus 615 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 @k01jan, схему делал Dusty79 много лет назад, а я допиливал с учётом движковых правок, но не меняя общей идеи с конфигами. Модуль ogse_addons.script. Манипуляции с костями худовой модели описаны здесь. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Kondr48 314 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 Насколько слышал, если в модель добавлять новые кости, придется все переанимировать) Ссылка на комментарий
RayTwitty 492 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 (изменено) а чего не в вики проекта пишешь?Слишком много переделывать, хотя, даже не много, а всё. Авторам вики может не понравиться, что я всё ихнее снесу и запихну своё... Так что на счёт вопросов? Изменено 24 Января 2015 пользователем Shadows Ссылка на комментарий
k01jan 816 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 (изменено) придется все переанимировать) Даже для "неподвижных" (прицел) костей? Кстати, скелет (оружие, руки) изменён относительно дефолтного. Зачем? И почему не были добавлены по паре-тройке новых костей для прицелов/магазинов? Раз уж скелет всё равно переделывался? Изменено 24 Января 2015 пользователем k01jan Ссылка на комментарий
killersan6 184 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 Да ладно! Там запас по костям на все мыслимые аддоны для конкретного ствола. Прицел - это ровно одна дополнительная кость, а чаще всего именно прицелы навешивают табунами. Реально здесь нет никакой проблемы, кроме человеческой. Нам так и не сделал никто такую комбинированную модель. Даже одну для тестов. Даже при том, что я спецом просил не анимировать аддоны, поскольку планировал гасить их не анимациями, а скрыванием костей. Так и не сделал никто и ничего.Хочешь скину? У меня есть такое. Ссылка на комментарий
Kondr48 314 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 k01jan, ну так как там нет неподвижных костей) при перезарядке, например, в пространстве все это смещается) Ссылка на комментарий
Mirage2000 128 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 Я наверно что-то не понимаю. Зачем лишние кости? А просто подменой модели не обойтись? Например, ак74. На одной модели псо, на другом же вместо псо - коллиматор. Никаких лишних костей не нужно добавлять. Ссылка на комментарий
k01jan 816 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 @Mirage2000, то есть по-вашему лишние модели лучше? Ссылка на комментарий
Mirage2000 128 Опубликовано 24 Января 2015 Поделиться Опубликовано 24 Января 2015 @k01jan, не лучше, но делать так намного легче, чем заморачиваться с добавлением костей и переанимированием всей этой новогодней елки. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти