Expropriator 2 118 Опубликовано 12 Июля 2020 Поделиться Опубликовано 12 Июля 2020 @Zander_driver, по хиту. Если торкнуло, то .... В визуалке в поиск набери SGameMtl или material Ссылка на комментарий
abramcumner 1 157 Опубликовано 12 Июля 2020 Поделиться Опубликовано 12 Июля 2020 (изменено) 3 часа назад, Zander_driver сказал: А как в X-Ray проще всего проверить коллизию произвольных координат, (x,y,z), с статичной геометрией локации? Точки нигде и ни с чем не коллизятся, им бы еще измерений несколько накинуть. В xrCDB.h в классе COLLIDER есть методы ray_query, box_query, frustum_query. Изменено 12 Июля 2020 пользователем abramcumner 1 Ссылка на комментарий
DoberBull 290 Опубликовано 14 Июля 2020 Поделиться Опубликовано 14 Июля 2020 В связи с тем, что куда-то утерялись ссылки на исходники ЛА 2014 года с тремя рендерами. Удалось найти, поделюсь ссылкой, вдруг кому-то пригодится: Тык Ссылка на комментарий
Марка демченков 5 Опубликовано 16 Июля 2020 Поделиться Опубликовано 16 Июля 2020 Люди, движок не компилится. Отсутствует файл config.h при компиляции ode.dll. также компилятор ругался на стандартную библиотеку. Если что, visual C++ 19 Ссылка на комментарий
Zander_driver 10 334 Опубликовано 18 Июля 2020 Поделиться Опубликовано 18 Июля 2020 (изменено) 12.07.2020 в 21:42, Expropriator сказал: по хиту. Если торкнуло, то От таких ответов было бы смешно, если бы не было так грустно А вообще, ввиду того что раскопки по движку не обнаружили ничего готового к немедленному применению для обозначенной цели, даже в составе OGSR-движка. Ну или я плохо искал... во всяком случае, готового удобоваримого инструмента такого назначения, я в свободном доступе не видел. Написал быстренько свой клас-обертку над api движка, для тестирования коллизий с геометрией локации и объектов. Уже тестировалось - работает, причем даже сразу без всяких багов. Выкладываю, может быть, кому-то пригодится. Куда нажимать и за что дергать: InitSet(Fvector3, bool, bool) - Стартовые настройки. Задает центр лучеиспускания, и флаги - считать ли столкновения с актором, считать ли столкновения с игровыми объектами. Если оба false, то будет фиксировать столкновения только с геометрией локации. Valid(Fvector3) - Пустить (из стартовых координат), луч с указанной дирекцией. Можно передавать не-нормализованные вектора - по их длине определит дальность трассировки. Возвращает true/false. Столкнулись/не столкнулись. CollisionDist() - узнать дистанцию от старта до точки столкновения, если с чем-то/кем-то столкнулись. Скрытый текст /** Класс для проверки коллизии любого произвольного луча с геометрией уровня и объектов. Zander, 2020 */ #pragma once class CLevel; class CObject; struct S_LRQ_fvPacket { Fvector3 A; Fvector3 B; Fvector3* C; bool stopOnActor; bool stopOnObjects; S_LRQ_fvPacket(Fvector3 a, Fvector3 b, Fvector3 c, bool d, bool e) { A.set(a); B.set(b); C = &c; stopOnActor = d; stopOnObjects = e; } }; class CLevelRQCast { public: CLevelRQCast(); virtual ~CLevelRQCast(); private: // For collision testing bool TestRQ(Fvector3 a, Fvector3 b); // Запуск теста столкновения. collide::rq_results rq_storage; friend CLevel; bool initialized; bool withActor; bool withObjects; bool collided; protected: Fvector3 test_dir; // Дирекция ожидаемых координат относительно старта трассировки Fvector3 initialCoords; // Старт трассировки в мировых координатах Fvector3 collisionPoint; // предполагаемое следующее положение камеры в мировых координатах static BOOL test_callback(const collide::ray_defs& rd, CObject* object, LPVOID params); static BOOL trace_callback(collide::rq_result& result, LPVOID params); public: void InitSet(Fvector3 pos, bool a, bool b); // Старт подключения. Указываем центр луче-испускания, и управляющие флаги. bool Valid(Fvector3 target); // Возвращает true, если текущий луч (источник-таргет) ни с чем не столкнулся. false в обратном случае. float CollisionDist(); }; Скрытый текст /** Класс для проверки коллизии любого произвольного луча с геометрией уровня и объектов. Zander, 2020 */ #include "stdafx.h" #include "CLevelRQCast.h" #include "level.h" #include "actor.h" CLevelRQCast::CLevelRQCast() { initialized = false; withActor = false; withObjects = false; collided = false; } CLevelRQCast::~CLevelRQCast() { } bool CLevelRQCast::Valid(Fvector3 target) { if (!initialized) return false; test_dir.set(pos); collided = TestRQ(initialCoords, test_dir); return collided; } float CLevelRQCast::CollisionDist() { if (initialized && collided) return initialCoords.distance_to(collisionPoint); return (-1); } void CLevelRQCast::InitSet(Fvector3 pos, bool a, bool b) { initialCoords.set(pos); initialized = true; withActor = a; withObjects = b; } bool CLevelRQCast::TestRQ(Fvector3 a, Fvector3 b) { rq_storage.r_clear(); collisionPoint.set(initialCoords); float range = test_dir.length(); test_dir.normalize(); collide::ray_defs RD(initialCoords, test_dir, range, CDB::OPT_CULL, collide::rqtBoth); BOOL result = FALSE; VERIFY(!fis_zero(RD.dir.square_magnitude())); S_LRQ_fvPacket* rda = xr_new<S_LRQ_fvPacket>(initialCoords, test_dir, collisionPoint, withActor, withObjects); result = Level().ObjectSpace.RayQuery(rq_storage, RD, trace_callback, rda, test_callback, rda); xr_delete(rda); return (!result); } BOOL CLevelRQCast::trace_callback(collide::rq_result& result, LPVOID params) { BOOL R; S_LRQ_fvPacket* pfd_RDA = (S_LRQ_fvPacket*)params; //динамический объект if (result.O) { R = TRUE; if (pfd_RDA->stopOnObjects) R = FALSE; if (result.O->ID() == Actor()->ID() && pfd_RDA->stopOnActor) R = FALSE; } else R = FALSE; //вычислить точку попадания Fvector3 ep; ep.mad(pfd_RDA->A, pfd_RDA->B, result.range); pfd_RDA->C->set(ep); return R; } BOOL CLevelRQCast::test_callback(const collide::ray_defs& rd, CObject* object, LPVOID params) { BOOL R = TRUE; S_LRQ_fvPacket* pfd_RDA = (S_LRQ_fvPacket*)params; if (object) { if (pfd_RDA->stopOnObjects) R = FALSE; if (object->ID() == Actor()->ID() && pfd_RDA->stopOnActor) R = FALSE; } return R; } Изменено 18 Июля 2020 пользователем Zander_driver 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
dsh 3 824 Опубликовано 18 Июля 2020 Поделиться Опубликовано 18 Июля 2020 (изменено) @Zander_driver, а в чем изобретение? В движке постоянно такие лучики пускаются для разных проверок. Можно вспомнить моё замечание о костылях и велосипедах. Я писал через год, но ты похоже идёшь опережающим темпом. Изменено 18 Июля 2020 пользователем dsh dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Zander_driver 10 334 Опубликовано 18 Июля 2020 Поделиться Опубликовано 18 Июля 2020 (изменено) 16 часов назад, dsh сказал: В движке постоянно такие лучики пускаются для разных проверок. Естественно, да. Но удобной обертки для внешнего использования, на всем этом как-то не было. И вот любопытно, что есть костыль по твоему: лапша из вызовов пускания лучиков для проверок в 100500 разных классов, или один удобный класс к которому можно обратиться откуда угодно. Upd. Не вижу смысла спорить об этом. Да и тема не для этого. p.s. Для чего там колбеки и что в них делается, ты видел) Изменено 19 Июля 2020 пользователем Zander_driver Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
dsh 3 824 Опубликовано 19 Июля 2020 Поделиться Опубликовано 19 Июля 2020 (изменено) @Zander_driver, вот то, что ты написал, кажется мне велосипедом. Т.к. материалы ты не обрабатываешь, то и коллбеки не нужны и можно обойтись уже готовыми средствами. Например чем-то вроде Level().ObjectSpace.RayPick(Position(), dir, m_fJumpHeight, collide::rqtBoth, RQ, this) Это я просто скопировал из первого попавшегося кода. Что означают параметры разобраться не сложно. Изменено 19 Июля 2020 пользователем dsh dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
Podosinovik97 0 Опубликовано 21 Августа 2020 Поделиться Опубликовано 21 Августа 2020 Всем доброго времени суток. Не знаю уже кого и спросить.. Не сочтите идиотом, но простая задача завела в тупик. Хотел вернуть второй слот исключительно под пистолеты, а третий под автоматы, smg, шотганы и прочее, как это было в ЧН и ТЧ. Казалось бы, сократи сетку в actor_menu.xml и дело в шляпе, дык нет же, при любом удобном способе ГГ пытается запихать дробовик в кобуру, от чего получает ожидаемый вылет с логом "нет места на ячейках". Тщательно сломав голову о конфиги и написав различные варианты решения скриптами, убедился что править нужно xrGame А так как я далёк от распаковок, перепаковок, исходников и самого С++, принял решение НЕХнуть xrGame ЧН и напялить код блокировки неподходящего слота на ЗП, что разумеется так же ни к чему не привело. Поняв что где-то внутри, в каком-нибудь dragdrop'e сидит строчка которая вопреки моему мнению говорит что "slot2 и slot3 считай одно и то же, прыгайте хоть туда, хоть сюда, значения не имеет" решил с ней бороться. Помогите пожалуйста её найти и направить на путь истины, сил моих больше нет Ссылка на комментарий
XinnogeN XinnogeN 3 Опубликовано 21 Августа 2020 Поделиться Опубликовано 21 Августа 2020 Всем доброго вечера! Подскажите пожалуйста, какие основные и дополнительные компоненты при установке VS2019 нужно установить для сборки движка? Заранее благодарен! Ссылка на комментарий
Expropriator 2 118 Опубликовано 10 Сентября 2020 Поделиться Опубликовано 10 Сентября 2020 (изменено) Крайэнгина 2 отдыхает Изменено 10 Сентября 2020 пользователем Expropriator 2 1 Ссылка на комментарий
Zander_driver 10 334 Опубликовано 10 Сентября 2020 Поделиться Опубликовано 10 Сентября 2020 Только что, Expropriator сказал: отдыхает Мне кажется, что в этой теме, хорошим тоном считается постить фрагменты программного кода, а не скрины... Вот если б вы исходниками своего рендера поделились - это другое дело... Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Expropriator 2 118 Опубликовано 10 Сентября 2020 Поделиться Опубликовано 10 Сентября 2020 (изменено) @Zander_driver, специально для тебя премьера нового движка. Эксклюзив! https://yadi.sk/d/cF2kYZjrM00XDA Основано на движках SCS (1510), ALL(1602) Рабочий рендер R3 + R1 серверный. R1 еще пока в хламе. Я его не почистил. Меня прошу не материть за код Я для себя это делаю. Тестировать можно на старой базе движка SCS : https://www3.gameru.net/forum/index.php?s=&showtopic=71230&view=findpost&p=1680257 Мелкий патч: https://www3.gameru.net/forum/index.php?s=&showtopic=71230&view=findpost&p=1680614 Последний билд https://yadi.sk/d/4iHz5YDV2dUFAw Изменено 10 Сентября 2020 пользователем Expropriator 1 Ссылка на комментарий
Zander_driver 10 334 Опубликовано 11 Сентября 2020 Поделиться Опубликовано 11 Сентября 2020 (изменено) 2 часа назад, Expropriator сказал: SCS https://ru.wikipedia.org/wiki/SCS_Software (Тут была шутка но совпадение и правда забавное) впрочем, я все равно в этом не разбираюсь. 2 часа назад, Expropriator сказал: специально для тебя Спасибо, но меня и моё устраивает) А так, здорово что выложил, кому-нибудь пригодится. Изменено 11 Сентября 2020 пользователем Zander_driver Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Кот Смерч 0 Опубликовано 16 Сентября 2020 Поделиться Опубликовано 16 Сентября 2020 Где можно найти рабочие исходники SDK 0.7? Те что идут с исходниками движка скомпилил, но сдк не запустился. Да и размер LevelEditor.exe у меня получился 2.1 мб, а в сдк этот файл 2.4 весит. Т.е. скорее всего исходники не полные. Ссылка на комментарий
AndreySol 215 Опубликовано 16 Сентября 2020 Поделиться Опубликовано 16 Сентября 2020 @XinnogeN XinnogeN А исходники движка вы откуда взяли? Так, вот к ним и прилагается, обычно, все что необходимо для сборки. 1 Ссылка на комментарий
Zander_driver 10 334 Опубликовано 16 Сентября 2020 Поделиться Опубликовано 16 Сентября 2020 10 минут назад, AndreySol сказал: к ним и прилагается, обычно Вообще-то, нет. Не всегда. Тем более речь об СДК, а не самом движке. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
aromatizer 4 454 Опубликовано 16 Сентября 2020 Поделиться Опубликовано 16 Сентября 2020 11.09.2020 в 00:09, Expropriator сказал: Крайэнгина 2 отдыхает Для нормальной реализации фокусировки зрения и прочих размытий нужен шлем виртуальной реальности, потому как на обычном мониторе игрок может сфокусировать взгляд на произвольной области экрана (а не только на его центре) и увидеть некрасивое мыло, как, например, на твоем третьем скрине замыленное оружие. Как вариант, можно уменьшить интенсивность размыливания до минимального значения (дабы не коробило), но тогда возникает резонный вопрос: а зачем оно "жрет", если его почти не заметно? Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
Expropriator 2 118 Опубликовано 16 Сентября 2020 Поделиться Опубликовано 16 Сентября 2020 (изменено) @aromatizer, r2_dof_kernel 1. естественно. У меня же 7 вкорячено. Последняя версия, уже точно. https://www.amk-team.ru/forum/topic/14029-scs-redux/?do=findComment&comment=1348758 Изменено 16 Сентября 2020 пользователем Expropriator Ссылка на комментарий
aromatizer 4 454 Опубликовано 16 Сентября 2020 Поделиться Опубликовано 16 Сентября 2020 37 минут назад, Expropriator сказал: r2_dof_kernel 1. естественно. У меня же 7 вкорячено. Я не тактик, а стратег.) Отношения между людьми- главная ценность в человеческом обществе.Любая полученная информация- это только повод для размышлений, а не побуждение к действию.Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAEНакопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти