Пробовал и сам билдить и использовать твои из releases. Версии 1.7.0.5 и 1.7.0.4 не работают. 1.7.0.3 работает. Можешь подсказать, в чем проблема и как можно починить?
та не, вы не понимаете. они такие агрессивные, черные, с клююювамиии...
XinnogeN
14.01.2020, 19:09
Подскажите пожалуйста, можно ли сразу переводить движок на vs2019 или для начала нужно мигрировать в vs2010 а потом на vs2019? Если использовать оригиналы исходников а не репос.
NanoBot-AMK
14.01.2020, 19:49
cjayho, просто сейчас ПЗРК решил начать делать, скриптами, с оригинальным движком не получается. Решил сделать ряд правок, и добавить скриптовых методов. Один из них это стрельбы из оружия, wpn:weapon_fire_start() и wpn:weapon_fire_stop(), ну и заодно сделать чтобы оружие стреляло без владельца. Сделал на XE, но пока не сделал отдачу, не знаю как реализовать, так, чтобы отдача била от ствола, ну чтобы оружие не просто отбрасывала, а ещё кувыркалось. Это надо для реализации особо умных карликов, которые могут не только телекинетически подымать оружие, но и стрелять из него(наведя на врага), если у него есть патроны.
Gaz24
14.01.2020, 19:56
NanoBot-AMK а что если использовать параметры от отдачи не для камеры а для худа оружия? Можно посмотреть как ведет себя оружие в Арме, Red Orchestra 2/RisingStorm 2, а также в Insurgency/Insurgency: SandStrom.
Zagolski
20.01.2020, 08:05
Цитата(Shoкer @ 24.11.2019, 16:59)
Возвращаясь к теме подёргивания худа оружия в руках (когда игрок стоит на месте и не крутит камеру) - кажется нашёл одну из его причин (в ЗП).
Все же мне кажется, что сбоит точность float мировых координат. Потому что дрожание усиливается при удалении от центра локации (0,0,0 координат), зависит только от этого. Начинает трястись оружие в руках. Это в ЗП, где отдельные руки, в ТЧ я не проверял. Можно взять к примеру болт в руки и удаляться на самый край локи (болото, оно большое). Будет видно, как болт начинает ходить ходуном, хотя сами руки вроде как не двигаются. То же и с оружием, у меня оно состоит из разных частей, так все части начинают ходить ходуном относительно друг-друга в случайных направлениях, того и гляди оружие рассыплется. GetPosition у меня на это не влияет. Т.е. сам объект вроде как перестает трястись, а то что к нему приаттачено - это нет.
Да и вообще мировые координаты сбоят даже в шейдерах. Если в них вести расчет, тоже бывает дрожание. В видовых этой проблемы нет, но оно и понятно, там точность выше.
Shoкer
20.01.2020, 22:37
Zagolski, я тоже так думаю, хотя вариант с GetPosition конкретно мне по крайнем мере помог побороть тряску в прицелах (которые тоже отдельной моделью). А вот если крутить камеру то в эти моменты дрожание возвращается. Плюс тряска похоже заметна в Demo Record но видимо от первого лица она очень "удачно" синхронизирована с камерой и поэтому там её не видно.
Есть идеи куда копать? Неужели точности float не хватает? Больше склоняюсь что в самих шейдерах действительно где то "оптимизацию" завезли (например float16 какой нибудь), м.б. в скининге - но тут я уже не сильно силён.
Zagolski
22.01.2020, 11:55
Цитата(Shoкer @ 20.01.2020, 22:33)
Больше склоняюсь что в самих шейдерах действительно где то "оптимизацию" завезли (например float16 какой нибудь), м.б. в скининге
У меня твоя правка стоит, где half на float заменен, а в остальном на R3 везде float в шейдерах. Возможно в шейдер на скиннинг передаются костевые матрицы с "гуляющими" координатами, вот эти вот: mRenderTransform. Само локальное пространство модели у нас же постоянное, значит где-то при перемножении матриц погрешность вырабатывается. А с учетом того, что худ у нас всегда близко перед глазами, да еще и с более низким fov, вполне вероятно, что точности float может и не хватать... Если в double переделывать, тогда придется чуть ли не весь Skeleton переписывать. Там есть Dmatrix.
С другой стороны цельная модель не трясется (но трясется болт относительно рук), даже если она Hierrarhy, т.е. все равно разбивается по группам и на скиннинг отправляется в виде отдельных моделей. Поэтому скиннинг тут может быть и не причем. Вполне вероятно все же внесение погрешности в координаты где-то на верхнем уровне, в player_hud, attachable_item или вообще в CGameObject.
iOrange
22.01.2020, 17:38
Цитата(Zagolski @ 22.01.2020, 10:51)
У меня твоя правка стоит, где half на float заменен
Вы же в курсе что уже как минимум десяток лет это один и тот же тип?
Zagolski
22.01.2020, 18:09
Цитата(iOrange @ 22.01.2020, 17:34)
Вы же в курсе что уже как минимум десяток лет это один и тот же тип?
Да я про движок. Там в скиннинге в ваниле используется в декларациях vs половинная точность, да и в расчетах тоже, а Shoker сменил на полный 32-бит float, тем самым возросла точность позиции вершин.
iOrange
22.01.2020, 18:13
Цитата(Zagolski @ 22.01.2020, 17:05)
Да я про движок, в ваниле используется в декларациях половинная точность
А, пардон, я подумал вы про шейдеры.
NanoBot-AMK
26.01.2020, 00:20
Для чего используется ogse.dll в OGSE? И ещё, можно ли из dll вызвать код Lua с произвольным прототипом? Т.е. например метод. CScriptGameObject:MyMethod(MyClass0 param1, MyClass1 param1) Где классы взяты из исходников. Метод вызывается из dll'ки, а сама функция вызывается из пропатченой xrGame.dll.
Zagolski
28.01.2020, 01:06
Цитата(NanoBot-AMK @ 26.01.2020, 00:16)
Для чего используется ogse.dll в OGSE?
В нем рендер. Не весь, но почти.
mortan
31.01.2020, 15:14
Кст, к вопросу о дрожании прицелов, мне тут подсказали что вот это тоже влияет на дрожание, файл effectors.ltx:
Код
[zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась
Zagolski
04.02.2020, 06:44
Выяснил, что дрожание - распространенная проблема в других играх с открытым миром. И происходит это действительно из-за точности float: чем дальше мы удаляемся от центра локации, т.е. от нулевых координат, тем сильнее падает точность и начинается тряска. Предлагается решение проблемы от одной gamedev студии: создать локальные мировые координаты с камерой в центре. Как это сделать - без понятия, еще не копал. Но думаю, развивать нужно именно это направление. А может попробовать в видовых координатах расчеты худа вести? В видовых точность выше.
mortan
04.02.2020, 15:21
Zagolski, в скайриме этой тряски нету, к тому же там допустим те же головы и руки с ногами являются своеобразными аттачами и ни разу не видел чтобы там хоть что-то тряслось так же как сталкере)
Diesel
04.02.2020, 16:00
mortan, моё продположение: В Сталкере два разных скелета лепят в один, что по политическим соображениям нельзя делать. Такой атач возможен лишь при постоянном апдейте движения одного скелета к другому. Вот от сюда и тряска.
В других движках реализовано на двух одинаковых скелетах и головы, и руки, и даже есть оружие. В таком случае один скелет не читается, а все атачится на первый. Отсюда и тряски нет, потому как учитывается только один скелет.
И еще, не пытайтесь понять физику иксрей, она не основана на законах Ньютона.
Zagolski
04.02.2020, 16:23
Оказалось сами ЗП руки тоже дрожат. Модель персонажа не дрожит, хотя она тоже из нескольких частей состоит (тело, лицо, рюкзак), которые обрабатываются как отдельные модели (отдельными дипами). Но там скелет один.
Diesel
04.02.2020, 16:27
Цитата(Zagolski @ 04.02.2020, 18:19)
Оказалось сами ЗП руки тоже дрожат. Модель персонажа не дрожит.
А что первично худ-рук или скрытая модель ГГ? Опять же два разных скелета.
Цитата(Zagolski @ 04.02.2020, 18:19)
Модель персонажа не дрожит, хотя она тоже из нескольких частей состоит (тело, лицо, рюкзак), которые обрабатываются как отдельные модели.
Сейчас придёт ed_rez и наверняка пару палок дёгтя кинет.
Zagolski
04.02.2020, 16:33
Движок каждую группу обрабатывает как отдельную модель. Тут кстати недавно кое-что делал с моделями в одном моде для сталка (НЛС), так там модель скелета состоит из 16 групп, причем на всех одинаковый материал. Или я туплю, или это какая-то быдломодель. Наверное лучше все в одну группу объединить, разве нет?
Diesel
04.02.2020, 16:40
Цитата(Zagolski @ 04.02.2020, 18:29)
Движок каждую группу обрабатывает как отдельную модель. Тут кстати недавно кое-что делал с моделями в НЛС, так там модель скелета состоит из 16 групп, причем на всех одинаковый материал. Или я туплю, или это какая-то быдломодель.
Не как отдельную модель, у каждой группы есть своя корневая кость - это для шейпов при взаимодействии с физикой. В анимации эти группы не учитываются, по крайней мере я такого не видел.
Типа бежит ГГ руки в низ как у гамодриллы, и тут прилетает пуля, и корёбит ГГ, крутя корневую кость этой группы в лево-право.
Zagolski
04.02.2020, 16:50
Возможно ты не так понял. Повторюсь, если у тебя к примеру есть ванильный калаш и он состоит из 4 групп (прицел, глушак, приклад, цевье), то этот калаш разбивается движком на 4 отдельные модели и эти модели независимо обрабатываются, в т.ч. и в шейдерах на скиннинге.
Diesel
04.02.2020, 16:55
Цитата(Zagolski @ 04.02.2020, 18:46)
Возможно ты не так понял. Повторюсь, если у тебя к примеру есть ванильный калаш и он состоит из 4 групп (прицел, глушак, приклад, цевье), то этот калаш разбивается движком на 4 отдельные модели и эти модели независимо обрабатываются, в т.ч. и в шейдерах на скиннинге.
Не может такого быть. Модель всегда одна. А группы - это да. Тут ничего заумного нет. Группы сделаны для скрытия причиндалов.
cjayho
04.02.2020, 17:58
Мне одному кажется что чем дальше вы углубляетесь в двигло тем толще баги вы там находите?
ЗЫ. пройдет годков десять и будете знать все. Ни о чем. И доведете до идеала двигло не предназначенное уже ни для чего.
Вместо того чтобы чтото свое писать вы препарируете давно устаревшее и никому не нужное ничто.
Zagolski
04.02.2020, 18:27
Цитата(cjayho @ 04.02.2020, 17:54)
вы препарируете давно устаревшее и никому не нужное ничто.
Если кому-то что-то неинтересно, то не надо других в этом убеждать или навязывать свое мнение. Если люди копаются в этом двигле, значит он им интересен. И это главное, остальное неважно. И альтернатив я не вижу. Покажи мне игру с духом и габаритами Сталкера и при этом с полностью открытым функционалом для моддинга, включая исходники движка (что самое главное).
Cossack-HD
04.02.2020, 18:46
Цитата(Zagolski @ 04.02.2020, 08:40)
Выяснил, что дрожание - распространенная проблема в других играх с открытым миром. И происходит это действительно из-за точности float: чем дальше мы удаляемся от центра локации, т.е. от нулевых координат, тем сильнее падает точность и начинается тряска.
Так вот почему у Кардана руки дрожат! Несите его к центру системы координат!
mortan
04.02.2020, 18:58
Zagolski, какие еще группы О_о?
cjayho
04.02.2020, 19:04
Цитата(Zagolski @ 04.02.2020, 17:23)
И альтернатив я не вижу. Покажи мне игру с духом и габаритами Сталкера и при этом с полностью открытым функционалом для моддинга, включая исходники движка (что самое главное).
Unreal Tournament свежий, который в разработке. Исходники двигла доступны.
Zagolski
04.02.2020, 19:05
Цитата(mortan @ 04.02.2020, 18:54)
какие еще группы О_о?
То что ты в 3д редакторе выделяешь в отдельные группы.
Цитата(cjayho @ 04.02.2020, 19:00)
Unreal Tournament свежий, который в разработке.
До свидания.
mortan
04.02.2020, 19:19
Zagolski, Material ID? При экспорте сдк объединяет все материалы с одинаковой текстурой в одну.
Trollz0r
04.02.2020, 19:34
Цитата(mortan @ 04.02.2020, 17:15)
При экспорте сдк объединяет все материалы с одинаковой текстурой в одну.
Справедливо только для статик мешей.
Zagolski
04.02.2020, 19:36
Цитата(mortan @ 04.02.2020, 19:15)
При экспорте сдк объединяет все материалы с одинаковой текстурой в одну.
Почему тогда при импорте этой ogf в милку группы опять разделены? Trollz0r пишет, что это только для статики. Хотя и статика тоже бьется по группам.
Вон на скрине для наглядности я выделил отдельную группу - бедро: И каждая группа рендерится как отдельная модель, что увеличивает кол-во вызовов отрисовки (1 дроу колл на группу). Хотя в данном случае со скелетоном все 16 групп можно было объединить в одну, потому как там одна текстура и шейдер.
atanda
04.02.2020, 20:16
Цитата(mortan @ 04.02.2020, 19:15)
При экспорте сдк объединяет все материалы с одинаковой текстурой в одну
Это же справедливо только для статичной геометрии.
mortan
04.02.2020, 20:27
atanda, О_о ща попробую тогда, но я ни разу не видел чтобы в моделях были разные ссылки на одну и ту же текстуру внутри одного OGF.
Zagolski
04.02.2020, 20:42
Цитата(mortan @ 04.02.2020, 20:23)
но я ни разу не видел чтобы в моделях были разные ссылки на одну и ту же текстуру внутри одного OGF.
Смотри в AXR Toolset (раздел editor OGF), у меня он корректно показывает.
mortan
04.02.2020, 20:52
Zagolski, скинь, плиз, пример такой модели.
ed_rez
05.02.2020, 00:23
Цитата(Дизель @ 04.02.2020, 15:23)
пару палок дёгтя кинет
Нема дегтя. Я вообще о таком впервые слышу. Я еще понимаю, когда скелеты, как у худ ЗП, там все понятно. Движковая какая недоработка. Если на одном скелете это происходит, вероятно к одним текстурам подключен параллакс, а к другим нет. Такое видел, знатное смещение происходит.
Цитата(Zagolski @ 04.02.2020, 15:29)
так там модель скелета состоит из 16 групп, причем на всех одинаковый материал
Давай переведу на нормальные термины. Не скелет, а мешь, т.к. у динамической модели ТЧ только одна мешь. У статики может быть немерено мешей. Есть кривой термин "меш", родился в моддинге на Шталкер, когда мешью стали называть материалы. Поэтому и сам использую это слово в моддинге, чтобы не вводить в ступор других участников.
Цитата(mortan @ 04.02.2020, 18:15)
Material ID?
Именно так.
Цитата(mortan @ 04.02.2020, 18:15)
При экспорте сдк объединяет все материалы с одинаковой текстурой в одну
Дополню недописанное, чтобы не путать людей. Материалы должны иметь также идентичные настройки шейдера, компила и игрового материала. Модельный материал и игровой материал- разные вещи.
Цитата(Zagolski @ 04.02.2020, 18:32)
Почему тогда при импорте этой ogf в милку группы опять разделены?
Потому, что разные настройки у всех материалов. Не группы, а материалы!
ed_rez
05.02.2020, 00:38
Цитата(mortan @ 04.02.2020, 19:48)
скинь, плиз, пример такой модели.
Присоединяюсь, ибо ни фига не понятно. Юзать не собираюсь. Я чужого, окромя, ПЫС не юзаю. Мне проще самому сделать, чем исправлять.
ed_rez
05.02.2020, 00:59
Цитата(Zagolski @ 04.02.2020, 15:29)
так там модель скелета состоит из 16 групп, причем на всех одинаковый материал
16 материалов, которые разнообразно настроены. Вот тебе пример. Берем модель ПЫС, создаем из, к примеру, 1 материала еще один материал, к примеру, пистолета, настраиваем его, что этот материал имеет шейдер weapon, компиль и игровой материал дефолтный. Пример, http://sendfile.su/1543112 Должно быть 3 материала. Даже смотреть не буду, что у меня после компила ogf получилось, уверен!
Zagolski
05.02.2020, 09:28
Цитата(ed_rez @ 05.02.2020, 00:19)
Не группы, а материалы!
Материалы в милке в другой закладке идут - там да, материалы. А то что у меня на скрине - это группы, там сверху на закладке написано Groups. Мне же не спорить с самой программой? Возможно в милке какие-то специфичные наименования, не как в более известных 3д редакторах. Не знаю, я не моделер.
Вот модель скелета. После скачивания переименовать в .7z
mortan
05.02.2020, 14:13
Zagolski, 15 костей с 15 сарфейсами, которые и есть Material ID Зачем так делать - непонятно, в этом случае действительно все 15 сарфейсов попадают в OGF... Да и вообще судя по логу сплит идёт таки по костям.
Zagolski
05.02.2020, 14:27
Недавно встречал ванильную модель баржи на болотах, вот она: Вроде это динамика, хотя может и статика. В ней ~28 групп (не помню точно). То есть эта баржа обрабатывается как 28 отдельных моделей. Куда это годится? Завод нефтеперегонный в центре болот тоже около того.
ed_rez
05.02.2020, 19:13
Цитата(mortan @ 05.02.2020, 13:09)
Зачем так делать - непонятно
Предположу, но не факт. Мне нужно разместить эту модель, как статику в разных позах и с разными разрушениями. Скелет позволяет быстро сделать. Затем скелет удаляется, а статическая модель остается. Годится для локаций. Иного применения разделения на столько материалов не вижу.
Цитата(Zagolski @ 05.02.2020, 13:23)
Куда это годится?
Если статика, то очень даже годится, если модель разбита на множество мешей. Удобно работать в редакторе, а также создавать сектора,... на локациях.
Zagolski
06.02.2020, 01:43
Эти скелеты в игре функционируют таким образом: при спавне на локе он стоит в полный рост, но стоит к нему применить физ. воздействие, как скелет падает и рассыпается на части - череп и кости. Может быть разбитие на разные группы как раз и нужно для того, чтобы он рассыпался на отдельные модели. Если он будет цельный, вряд ли рассыплется.
Diesel
06.02.2020, 01:59
Zagolski, это батенька дестроябле-объект. рассыпается он по конфигу. Один удаляется, а два подспавниваются. Как у машины примерно.
Или просто динамический объект с переломом кости. Упал, потерял сознание....
Цитата(Zagolski @ 06.02.2020, 03:39)
Может быть разбитие на разные группы как раз и нужно для того, чтобы он рассыпался на отдельные модели. Если он будет цельный, вряд ли рассыплется.
Это работает только у стёкл статики. И в движках типа Крайэнгина. В Сталкере у динамики, такого нет. Никаких групп нет и не будет.
Под группой я уже понял что вы подразумеваете - это элементы по-нашему, и выше написано - ни как.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.