Это популярное сообщение. Murarius 10 532 Опубликовано 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) Ссылка на комментарий
jumbo5337 22 Опубликовано 1 Июля 2015 Поделиться Опубликовано 1 Июля 2015 Черновой вариант анимаций для АКСУ 3 2 Out of the darkness Brighter than a thousand suns Ссылка на комментарий
Forser 47 Опубликовано 3 Июля 2015 Поделиться Опубликовано 3 Июля 2015 (изменено) Ошибка 3 error LNK2001: неразрешенный внешний символ ""public: void __thiscall CRenderTarget::phase_smap_direct(class light *,unsigned int)" (?phase_smap_direct@CRenderTarget@@QAEXPAVlight@@I@Z)" D:\Games\OGSE\OGSE_2008.exp 1 1 OGSE_2008 Какие именно либы надо подключить для решения данной проблемы? Изменено 3 Июля 2015 пользователем Forser Ссылка на комментарий
Anonim 680 Опубликовано 12 Июля 2015 Поделиться Опубликовано 12 Июля 2015 Кто-нибудь пробывал собирать исходнички VS2010 ? Конструктив по намоканию есть? Ссылка на комментарий
Forser 47 Опубликовано 12 Июля 2015 Поделиться Опубликовано 12 Июля 2015 (изменено) Кто-нибудь пробывал собирать исходнички VS2010 ? Я. Ещё утилиту для создания луж делал. Изменено 12 Июля 2015 пользователем Forser Ссылка на комментарий
Anonim 680 Опубликовано 12 Июля 2015 Поделиться Опубликовано 12 Июля 2015 @Forser, И чё? Какие ошибки возникают? Ссылка на комментарий
Forser 47 Опубликовано 13 Июля 2015 Поделиться Опубликовано 13 Июля 2015 (изменено) @Anonim, я уже не помню. Исправить их было не трудно, кроме одной. Компоновщик на неразрешённый внешний символ жалуется. Изменено 13 Июля 2015 пользователем Forser Ссылка на комментарий
KD87 718 Опубликовано 15 Июля 2015 Поделиться Опубликовано 15 Июля 2015 Когда писал справку в шапку, забыл про ПНВ. Там есть замуты кое-какие, да. Попозже добавлю нужную инфу. Про сборку в VS 2010. Вы реально считаете, что я упомянул про 2005 и 2008 просто потому, что у меня нету 2010? Дело-то в том, что почти во всех студиях бинарный формат самого экземпляра std::vector существенно различается, банально даже по размеру. Сам сталкир скомпилен в 2005 студии, размер экземпляра вектора там 16 байт, в 2008 студии такой же, в 2010 уже 20 байт, если не путаю. Это все при сборке в релизе, конечно. Ogse.dll активно работает с родными методами, классами, структурами сталкира, которые экспортируются из ряда библиотек и которые имеют определенный фиксированный размер. При несовпадении бинарного формата экземпляров std::vector в движке и ogse.dll сталкир просто слетит и все. Потому не выдумывайте себе лишних проблем на жопу. Еще одна версия студии на компе есть просить не будет и много места не займет. 1 Ссылка на комментарий
Forser 47 Опубликовано 15 Июля 2015 Поделиться Опубликовано 15 Июля 2015 Вы реально считаете, что я упомянул про 2005 и 2008 просто потому, что у меня нету 2010?Про это и разговора не было. Потому не выдумывайте себе лишних проблем на жопу. Еще одна версия студии на компе есть просить не будет и много места не займет. Может места не займёт, но работать на старых версиях не удобно, после более новых. У меня до сих пор иногда переклинивает на 2010 студии, из-за того, что привык к 2012 студии. Ссылка на комментарий
aromatizer 4 429 Опубликовано 17 Июля 2015 Поделиться Опубликовано 17 Июля 2015 Всегда есть выбор: можно делать не удобно но правильно, можно делать удобно но неправильно и исправлять ошибки. Главное- результат. Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
Wlad777 24 Опубликовано 7 Августа 2015 Поделиться Опубликовано 7 Августа 2015 Конструктив от KD87 (24.05.2015)] Кое-что о фларах и объемных светильниках При реализации этих эффектов довольно быстро стало понятно, что далеко не каждый источник света с ними выглядит хорошо. Потому была внедрена система пообъектной настройки фларов и объемного света. Для каждого источника можно включать или выключать эти эффекты отдельно двумя способами:1) В all.spawn. Найдите секцию лампы, возьмите оттуда light_flags. Объемный свет включается путем выставления в light_flags флага 0x40, флары - флага 0х80. Выключаются эффекты снятием соответствующих флагов. Модифицируете флаг, собираете спавн, начинаете новую игру, наблюдаете появившиеся эффекты. Переведя свою солянку на движок ОГСЕ, решил внедрить эти эффекты. В аллспавне ставлю лампе флаг light_flags = 0х80 для фларов. Начинаю новую игру и получаю вылет: FATAL ERROR [error]Expression : flags.test(flR1) || flags.test(flR2) [error]Function : CSE_ALifeObjectHangingLamp::match_configuration [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_Objects_ALife.cpp [error]Line : 1196 [error]Description : no renderer type set for hanging-lamp [error]Arguments : trader_light_0005 Камрады, посоветуйте - где порылась собака? --------------------------------- www.amk-zone.de Ссылка на комментарий
abramcumner 1 145 Опубликовано 7 Августа 2015 Поделиться Опубликовано 7 Августа 2015 @Wlad777, light_flags = 0х80 - ты выставил флаг 0х80 и сбросил все остальные. Надо было прибавить 0х80 к тому, что там было. 1 Ссылка на комментарий
Wlad777 24 Опубликовано 7 Августа 2015 Поделиться Опубликовано 7 Августа 2015 (изменено) Ага. Как прибавить, на пальцах, непрограммисту? Всё, кажется понял, спасибо Изменено 7 Августа 2015 пользователем Wlad777 --------------------------------- www.amk-zone.de Ссылка на комментарий
Это популярное сообщение. KD87 718 Опубликовано 8 Сентября 2015 Это популярное сообщение. Поделиться Опубликовано 8 Сентября 2015 (изменено) Кому интересно - добавил в шапку информацию по настройке текстур и цветов для тепловизора. Upd: Еще кое-что по консольным командам. Изменено 8 Сентября 2015 пользователем KD87 2 3 Ссылка на комментарий
dsh 3 824 Опубликовано 8 Сентября 2015 Поделиться Опубликовано 8 Сентября 2015 Еще кое-что по консольным командам А почему r2_details_opt не используется? Есть какие-нибудь рекомендации по оптимальным параметрам этой команды? dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
KD87 718 Опубликовано 9 Сентября 2015 Поделиться Опубликовано 9 Сентября 2015 А почему r2_details_opt не используется? А как сделать задание трех параметров в меню для одной консольной команды? Я не знаю. Потому и не используется. Она работает, какие-то числа там забиты, можно посмотреть в user.ltx. Ссылка на комментарий
RayTwitty 492 Опубликовано 10 Сентября 2015 Поделиться Опубликовано 10 Сентября 2015 @KD87, через три трек-бара. Правда придется под них написать небольшой класс-обертку, чтобы менять нужный компонент значения r2_details_opt. Ссылка на комментарий
TheDeath 2 Опубликовано 22 Сентября 2015 Поделиться Опубликовано 22 Сентября 2015 Ну как там с оружейной частью мода? Ещё не забросили? Ссылка на комментарий
Romann 619 Опубликовано 23 Сентября 2015 Поделиться Опубликовано 23 Сентября 2015 Доброго времени суток, кто делал можете залить модельку для объёмного тумана? А то я с 3д редакторами не дружу, а по ссылке в шапке ничего нету. Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
NOapostoL 42 Опубликовано 23 Сентября 2015 Поделиться Опубликовано 23 Сентября 2015 @Romann, (.obj из шапки). https://yadi.sk/d/gTgvPbW9jGESF 1 ☭ Белый Барс ☭ Ссылка на комментарий
Romann 619 Опубликовано 23 Сентября 2015 Поделиться Опубликовано 23 Сентября 2015 Подскажите, а как пользоваться этой утилитой для тумана fvolume_maker? При запуске слетает - Мать: 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. Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти