Это популярное сообщение. Murarius 10 569 Опубликовано 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-910632
KD87 720 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 (изменено) @dsh и кто еще огсе ковыряет. Обратите внимание - содержимое xs_netpk и m_net_utils НЕ соответствует логике сохранения/загрузки se_stalker, se_weapon и т.д. Чревато непредсказуемыми глюками. Изменено 10 Сентября 2017 пользователем KD87 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117212
dsh 3 824 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 4 hours ago, KD87 said: Вызов CPP -> Lua примерно в 60 (шестьдесят!) раз медленнее, нежели вызовы CPP->CPP. Где ж тут философия? А на ассемблере еще быстрее будет. Плохой аргумент. Есть вещи, которые являются критичными по скорости и перенос которых в движок сразу даст +100 ФПС. А есть вещи, которые не критичны для скорости и перенос которых в движок даст +1 ФПС, кучу багов и сложности в поддержке. В тут и есть философия. Не все то нужно делать, что можно. Нужно соизмерять затраты и результат. 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117244
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117249
KD87 720 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 1 минуту назад, dsh сказал: Может я как-то неправильно это делаю? Ну скорее всего. Надо скачать полную ветку, соответствующую этому коммиту, распаковать в папку X:\3rd_party содержимое архива, которого я выложил. Проследовать всем инструкциям (типа установка WinSDK и т.д.). Ну и должно начать собираться. Сборка решения может не работать, но по отдельности проекты собираются. Уж xrCore точно )) Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117250
KD87 720 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 (изменено) @dsh можешь мне что-нибудь сказать о смысле проверок типа self.id == 65535 в функциях state_read/state_write? Я так и не понял, нафига это надо. Изменено 10 Сентября 2017 пользователем KD87 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117251
dsh 3 824 Опубликовано 10 Сентября 2017 Поделиться Опубликовано 10 Сентября 2017 @KD87 это где? Что-то я контекст не улавливаю. Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117259
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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117312
abramcumner 1 229 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 (изменено) Не находятся eax.lib, d3dx9.lib, dxerr.lib(может еще что) и вроде их и нет ни в репозитории, ни в архиве 3rd_party. Изменено 11 Сентября 2017 пользователем abramcumner Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117316
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 13 hours ago, KD87 said: self.id == 65535 Нашел в se_car и se_stalker. Не знаю, это у вас нужно спрашивать, зачем вы это добавили. У меня в se_stalker этого нет. Зачем вы эту проверку туда добавили, я представить не могу. Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117317
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 У кого-нибудь получилось собрать движок из репозитория? Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117318
abramcumner 1 229 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 (изменено) Реально в репозитории не хватает папки ogsr_engine\xrGameSpy\gamespy\common\win32 Из-за строки Win32 в .gitignore. Надо эти файлы вручную добавить. @dsh, если есть исходники ТЧ, можно эти файлы из них взять. Изменено 11 Сентября 2017 пользователем abramcumner Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117346
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 @abramcumner от, ёлки. А я думаю - это я дурак. Всю голову уже сломал. Ну елки-палки. Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117366
KD87 720 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 Библиотеки импорта: https://drive.google.com/open?id=0B69Rogp6_VJ6aWVkNGJVOVlqaFU 3_make_builder_libs.bat нужен, только если СДК собираете. 3 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117404
dsh 3 824 Опубликовано 11 Сентября 2017 Поделиться Опубликовано 11 Сентября 2017 @KD87 после добавления всего недостающего, вроде собралось успешно. Но при запуске ругается на отсутствие eax.dll. Это как нужно собирать? Вроде в репозитории такого нет. Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117419
KD87 720 Опубликовано 12 Сентября 2017 Поделиться Опубликовано 12 Сентября 2017 eax не соберешь. Бери из игры или сдк. 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1117436
Romann 623 Опубликовано 5 Октября 2017 Поделиться Опубликовано 5 Октября 2017 Всем привет, народ подскажите - при сборке сдк - куда "вшивается" сплэш редакторов? А то в исходниках я картинку подменил, собрал - но сплэш остался прежним. Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1123943
KRodin 493 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 Народ, а кто-нибудь пробовал играть в OGSE на новом движке? Это только у меня такие баги с моделями, или у всех так? Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1125467
Опричник 5 486 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 Пробовали. Он пока ещё сильно не доделан. Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1125470
ed_rez 16 111 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 (изменено) 31 минуту назад, Mr. Moderator сказал: а кто-нибудь пробовал играть в OGSE на новом движке? А по скринам вижу, что отделяются меши от оружия. Изменено 12 Октября 2017 пользователем ed_rez Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1125471
Romann 623 Опубликовано 12 Октября 2017 Поделиться Опубликовано 12 Октября 2017 1 час назад, ed_rez сказал: что отделяются меши от оружия. Да не, думаю - это навесы и магазины, которые используются xудом, но при обычныx анимкаx уводятся назад/вбок, т.е за видимость xуда - а что разве нпс тоже используют xуд модели? Ссылка на комментарий https://www.amk-team.ru/forum/topic/13118-ogse-kb-razrabotchikov/page/33/#findComment-1125482
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти