Это популярное сообщение. 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) Ссылка на комментарий
KD87 718 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 (изменено) @dsh и кто еще огсе ковыряет. Обратите внимание - содержимое xs_netpk и m_net_utils НЕ соответствует логике сохранения/загрузки se_stalker, se_weapon и т.д. Чревато непредсказуемыми глюками. Изменено 10 Сентября 2017 пользователем KD87 2 Ссылка на комментарий
dsh 3 824 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 4 hours ago, KD87 said: Вызов CPP -> Lua примерно в 60 (шестьдесят!) раз медленнее, нежели вызовы CPP->CPP. Где ж тут философия? А на ассемблере еще быстрее будет. Плохой аргумент. Есть вещи, которые являются критичными по скорости и перенос которых в движок сразу даст +100 ФПС. А есть вещи, которые не критичны для скорости и перенос которых в движок даст +1 ФПС, кучу багов и сложности в поддержке. В тут и есть философия. Не все то нужно делать, что можно. Нужно соизмерять затраты и результат. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
dsh 3 824 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 4 hours ago, KD87 said: Собирай коммит с меткой BUILD_1 из ветки main Вот эту вот? https://bitbucket.org/ogsr/ogsr-engine/commits/51c76c558da3 Тоже не собирается. 54 ошибки вот такого вида. Может я как-то неправильно это делаю? Severity Code Description Project File Line Suppression State Error C1083 Cannot open source file: 'GameSpy\common\win32\gsSocketWin32.c': No such file or directory xrGameSpy X:\ogsr_engine\xrGameSpy\c1 1 Severity Code Description Project File Line Suppression State Error C1083 Cannot open include file: 'bugtrap.h': No such file or directory xrCore X:\ogsr_engine\xrCore\xrDebugNew.cpp 42 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
KD87 718 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 1 минуту назад, dsh сказал: Может я как-то неправильно это делаю? Ну скорее всего. Надо скачать полную ветку, соответствующую этому коммиту, распаковать в папку X:\3rd_party содержимое архива, которого я выложил. Проследовать всем инструкциям (типа установка WinSDK и т.д.). Ну и должно начать собираться. Сборка решения может не работать, но по отдельности проекты собираются. Уж xrCore точно )) Ссылка на комментарий
KD87 718 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 (изменено) @dsh можешь мне что-нибудь сказать о смысле проверок типа self.id == 65535 в функциях state_read/state_write? Я так и не понял, нафига это надо. Изменено 10 Сентября 2017 пользователем KD87 Ссылка на комментарий
dsh 3 824 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 @KD87 это где? Что-то я контекст не улавливаю. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 (изменено) @KD87 обязательно использовать 3_make_builder_libs.bat? Там используется какой-то implib.exe, которого я у себя не нахожу. Это вот отсюда? http://digitalmars.com/ctg/implib.html А еще этот батник вызывает 3rd_party\_LIB\make_builder_libs.bat. Да вот только в 3rd_part нет папки _LIB. Изменено 11 Сентября 2017 пользователем dsh dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
abramcumner 1 159 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 (изменено) Не находятся eax.lib, d3dx9.lib, dxerr.lib(может еще что) и вроде их и нет ни в репозитории, ни в архиве 3rd_party. Изменено 11 Сентября 2017 пользователем abramcumner Ссылка на комментарий
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 13 hours ago, KD87 said: self.id == 65535 Нашел в se_car и se_stalker. Не знаю, это у вас нужно спрашивать, зачем вы это добавили. У меня в se_stalker этого нет. Зачем вы эту проверку туда добавили, я представить не могу. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 У кого-нибудь получилось собрать движок из репозитория? dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
abramcumner 1 159 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 (изменено) Реально в репозитории не хватает папки ogsr_engine\xrGameSpy\gamespy\common\win32 Из-за строки Win32 в .gitignore. Надо эти файлы вручную добавить. @dsh, если есть исходники ТЧ, можно эти файлы из них взять. Изменено 11 Сентября 2017 пользователем abramcumner Ссылка на комментарий
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 @abramcumner от, ёлки. А я думаю - это я дурак. Всю голову уже сломал. Ну елки-палки. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
KD87 718 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 Библиотеки импорта: https://drive.google.com/open?id=0B69Rogp6_VJ6aWVkNGJVOVlqaFU 3_make_builder_libs.bat нужен, только если СДК собираете. 3 Ссылка на комментарий
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 @KD87 после добавления всего недостающего, вроде собралось успешно. Но при запуске ругается на отсутствие eax.dll. Это как нужно собирать? Вроде в репозитории такого нет. dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
KD87 718 Опубликовано 12 Сентября 2017 Поделиться Опубликовано 12 Сентября 2017 eax не соберешь. Бери из игры или сдк. 1 Ссылка на комментарий
Romann 623 Опубликовано 5 Октября 2017 Поделиться Опубликовано 5 Октября 2017 Всем привет, народ подскажите - при сборке сдк - куда "вшивается" сплэш редакторов? А то в исходниках я картинку подменил, собрал - но сплэш остался прежним. Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
KRodin 493 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 Народ, а кто-нибудь пробовал играть в OGSE на новом движке? Это только у меня такие баги с моделями, или у всех так? OGSR Discord server: https://discord.com/invite/Q6QDxbNcfR Ссылка на комментарий
Опричник 5 337 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 Пробовали. Он пока ещё сильно не доделан. Desktop: i7-11700k/Gigabyte Z590 D/64 Гб DDR4-3600 (2х32Гб)/GTX 1070Ti 8Гб/30" WQXGA+24" WUXGA (portrait)/ADATA Legend 960 4 Тб + 4HDD (17 Тб)/Thermaltake smart BM2 - 650Вт/Win10+QtTab \\\ Дополнения к ОГСЕ 0693 /// \\\ OGSRmod ///\\\АМК-дискорд///\\\Балкон/// Ссылка на комментарий
ed_rez 16 109 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 (изменено) 31 минуту назад, Mr. Moderator сказал: а кто-нибудь пробовал играть в OGSE на новом движке? А по скринам вижу, что отделяются меши от оружия. Изменено 12 Октября 2017 пользователем ed_rez Ссылка на комментарий
Romann 623 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 1 час назад, ed_rez сказал: что отделяются меши от оружия. Да не, думаю - это навесы и магазины, которые используются xудом, но при обычныx анимкаx уводятся назад/вбок, т.е за видимость xуда - а что разве нпс тоже используют xуд модели? Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz). Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб). Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти