Анимация полёта снаряда и отбрасывание при взрывах
|
|
DeKRuS |
Дата: Среда, 25 Октября 2023, 19:35 | Сообщение # 1 |
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
OffLine
|
Не могу придумать как анимировать полёт снаряда(лазер,плазма,ракета,нож) или отбрасывание персонажей от взрыва при помощь reg_anim_* и anim. Есть идеи как такое анимировать в глобальном скрипте?
Вроде как в движке это анимируется через "004146C4 register_object_animate_and_move_straight_" и "004145D0 register_object_move_straight_to_tile_ ", но аналогов для использования в скриптах не нашёл.
При этом есть видос где JimTheDinosaur такое ещё в 2015 году реализовал. Жаль он ни исходники, ни сам скрипт никуда не выложил.
А если делать как реализован скрипт ловушки с кольями из храма испытаний, то скорость полёта от проца зависит и выходит фигово.
|
|
| |
Mr-Stalin |
Дата: Среда, 25 Октября 2023, 23:44 | Сообщение # 2 |
Мистер Сталин
Солдат братства
Сообщений: 577
OffLine
|
Цитата но аналогов для использования в скриптах не нашёл. Значит надо добавить
Цитата или отбрасывание персонажей от взрыва что-то мне кажется он там просто увеличил радиус взрыва до 6-8 гексов. ибо так анимировать из скрипта не выйдет, тем более в древних 2015х JimTheDinosaur - еще тот жук)
насчет полета, это как от скорости проца?.... нет желания лесть в ориг. скрипт смотреть, какой функцией там перемещается копье?
Fallout - Mods and Tools
|
|
| |
DeKRuS |
Дата: Четверг, 26 Октября 2023, 06:17 | Сообщение # 3 |
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
OffLine
|
Цитата Mr-Stalin ( ) что-то мне кажется он там просто увеличил радиус взрыва до 6-8 гексов.ибо так анимировать из скрипта не выйдет, тем более в древних 2015х JimTheDinosaur - еще тот жук) Не, он точно как-о это отдельно санимировал, у него и другие видосы есть)
Цитата Mr-Stalin ( ) насчет полета, это как от скорости проца?....нет желания лесть в ориг. скрипт смотреть, какой функцией там перемещается копье? Код while (tile_num(Projectile) != Final_Hex) do begin if ((Counter % [b][i]PROJECTILE_ROF[/i][/b]) == 0) then begin Cur_Tile_Num:=tile_num_in_direction(tile_num(Projectile),rotation_to_tile(tile_num(Projectile),Final_Hex),1); move_to(Projectile,Cur_Tile_Num,elevation(dude_obj)); end Counter+=1; end
В оригинальном скрипте ловушки с копьём используется move_to в цикле. Скорость полета снаряда зависит от значения PROJECTILE_ROF (в оригинале 500), при таком значении снаряд мгновенно оказывается на конечной точке, а при значении в 50000 уже видно как он "летит" (точнее выполняет серию телепортов по одной клетке за раз создавая впечатление полёта).
И вот судя по дёрганой анимации Джима, то вероятно он move_to и использовал. Но если применять такое в циклах (for,while,foreach) то на время такого перемещения игра замирает.
P.S. В общем понятно как он это сделал. Через set_global_script_repeat и move_to реализовать получается.
Тогда ещё такой вопрос можно ли узнать примерный ФПС в игре внутри скрипта? А то там где сфалл 5.0+ выдаёт 150 +-200 фпс, сфалл 4.4 показывает 4000+ фпс!
Цитата Mr-Stalin ( ) Значит надо добавить Такое действительно пригодится.
Сообщение отредактировал DeKRuS - Четверг, 26 Октября 2023, 06:26
|
|
| |
Mr-Stalin |
Дата: Четверг, 26 Октября 2023, 20:44 | Сообщение # 4 |
Мистер Сталин
Солдат братства
Сообщений: 577
OffLine
|
Цитата DeKRuS ( ) Тогда ещё такой вопрос можно ли узнать примерный ФПС в игре внутри скрипта? А то там где сфалл 5.0+ выдаёт 150 +-200 фпс, сфалл 4.4 показывает 4000+ фпс! ХЗ. не интересовался данным аспектом. И чет какая-то большая разница. Для чего тебе фпс? Может нужно на пройденное время/миллисекунды орентироваться - функция get_uptime.
Померил цикл выполнения скрипта таким методом
Код counter_fps++; if (get_uptime - start_uptime >= 1000) then begin // прошла 1 сек start_uptime = get_uptime; game_fps = counter_fps; counter_fps = 0; end
у меня на v4х - 120, на v5.0 - 60.
Чет в два раза просело, надо глянуть где так тормозит. а не все норм, это так разные настройки опции ProcessorIdle/CPU_USAGE_FIX влияют на на фпс. так что у меня никакой разницы между версиями в подсчете нет, а если их отключить то прыгать фпс будет как бешенный до 15к. проверь их у себя. или ты как то по другому считал cвой фпс?
Fallout - Mods and Tools
|
|
| |
DeKRuS |
Дата: Пятница, 27 Октября 2023, 06:44 | Сообщение # 5 |
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
OffLine
|
Цитата Mr-Stalin ( ) или ты как то по другому считал cвой фпс? Просто на счетчики фпс от MSI afterburner и встроенный в амд глядел. В сравнении со скриптом они показывают в 6-10 раз больше фпс.
Цитата Mr-Stalin ( ) а не все норм, это так разные настройки опции ProcessorIdle/CPU_USAGE_FIX влияют на на фпс.так что у меня никакой разницы между версиями в подсчете нет, а если их отключить то прыгать фпс будет как бешенный до 15к. проверь их у себя. CPU_USAGE_FIX=1 на обоих версиях сфалл фпс выравнивается. Скрипт показывает 63, оверлеи по 500фпс. А я только ProcessorIdle менял поэтому и разница была.
Цитата Mr-Stalin ( ) Для чего тебе фпс? Может нужно на пройденное время/миллисекунды орентироваться - функция get_uptime. Что бы знать сколько global_script_repeat ставить, чтобы было часто, но не сильно часто)
|
|
| |
Mr-Stalin |
Дата: Пятница, 27 Октября 2023, 08:42 | Сообщение # 6 |
Мистер Сталин
Солдат братства
Сообщений: 577
OffLine
|
63?? чет совсем мало, у меня на дохлом пне4 скрипт 400 в среднем с CPU_USAGE_FIX насчитывает. Я правда по нажатию клавиши показываю, чтобы цикл чистый был.
Могу тебе версию со встроенным в сфалл отображением фпса дать, как раз проверишь сходится ли с внешним.
Fallout - Mods and Tools
|
|
| |
DeKRuS |
Дата: Суббота, 28 Октября 2023, 12:55 | Сообщение # 7 |
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
OffLine
|
Цитата Mr-Stalin ( ) Могу тебе версию со встроенным в сфалл отображением фпса дать, как раз проверишь сходится ли с внешним. Да, давай, интересно как оно сходится. можно на почту 43xpehb@gmail.com
|
|
| |
Mr-Stalin |
Дата: Суббота, 28 Октября 2023, 20:37 | Сообщение # 8 |
Мистер Сталин
Солдат братства
Сообщений: 577
OffLine
|
Цитата DeKRuS ( ) Да, давай, интересно как оно сходится. кинул в личку. имей ввиду, что чем больше обновления происходит в игре на экране, тем больше фпс. т.е. чем быстрее двигаешь мышой тем больше фпс. так сделан двиг.
Fallout - Mods and Tools
|
|
| |
DeKRuS |
Дата: Понедельник, 30 Октября 2023, 14:00 | Сообщение # 9 |
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
OffLine
|
Цитата Mr-Stalin ( ) 63?? чет совсем мало, у меня на дохлом пне4 скрипт 400 в среднем с CPU_USAGE_FIX насчитывает. Я правда по нажатию клавиши показываю, чтобы цикл чистый был. Я ж про фпс спросил потому что мне было интересно как часто повторяется глобальный скрипт, написано что повторения привязаны к кадрам, ну я и подумал что это игровые FPS. Стал смотреть, а оно чтото не сходится) К каким кадрам "set_global_script_repeat" привязан?
Проверял просто в глобальном скрипте с "set_global_script_repeat(1)" при gl_scr_type(0) фпс 100 при gl_scr_type(1) фпс 63 и несильно зависят от обновлений картинки.
А если смотреть на ФПС со sfall и внешний, то они сходятся (+-2 фпс разницы) и показывают от 55(если ничего не происходит на экнаре), до 600 если быстро мышкой водить Если без CPU_USAGE_FIX, то фпс улетает за 5-10к, а set_global_script_repeat(1) выдает 500-600
Цитата Mr-Stalin ( ) 63?? чет совсем мало, у меня на дохлом пне4 скрипт 400 в среднем с CPU_USAGE_FIX насчитывает. Я правда по нажатию клавиши показываю, чтобы цикл чистый был. А я думал так и должно быть, если ничего не происходит на экране. Может у меня еще какие опции включены в ddraw.ini стоят, но на этом пк Ryzen 7 5800X и на нем около 60 фпс)
Сообщение отредактировал DeKRuS - Понедельник, 30 Октября 2023, 14:02
|
|
| |
Mr-Stalin |
Дата: Понедельник, 30 Октября 2023, 15:11 | Сообщение # 10 |
Мистер Сталин
Солдат братства
Сообщений: 577
OffLine
|
Цитата DeKRuS ( ) К каким кадрам "set_global_script_repeat" привязан? К главному циклу игры. set_global_script_repeat - мне не нравится как она сделана. По мне она должна задавать частоту в процентах.
Fallout - Mods and Tools
|
|
| |
AleSiS |
Дата: Пятница, 19 Апреля 2024, 23:45 | Сообщение # 11 |
Житель пустошей
Сообщений: 17
OffLine
|
так как, реализовали уже?
|
|
| |