Анимация полёта снаряда и отбрасывание при взрывах - Nuclear Grot: Форум
🔥 Новые сообщенияОбновленные темы 🔎 Поиск по форумуRSS
  • Страница 1 из 1
  • 1
Анимация полёта снаряда и отбрасывание при взрывах
DeKRuS Дата: Среда, 25 Октября 2023, 19:35 | Сообщение # 1
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
Награды: 2
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
Награды: 32
OffLine
Цитата
но аналогов для использования в скриптах не нашёл.
Значит надо добавить

Цитата
или отбрасывание персонажей от взрыва
что-то мне кажется он там просто увеличил радиус взрыва до 6-8 гексов.
ибо так анимировать из скрипта не выйдет, тем более в древних 2015х smile
JimTheDinosaur - еще тот жук)

насчет полета, это как от скорости проца?....
нет желания лесть в ориг. скрипт смотреть, какой функцией там перемещается копье?

Fallout - Mods and Tools
 
DeKRuS Дата: Четверг, 26 Октября 2023, 06:17 | Сообщение # 3
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
Награды: 2
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
Награды: 32
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
Награды: 2
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
Награды: 32
OffLine
63?? чет совсем мало, у меня на дохлом пне4 скрипт 400 в среднем с CPU_USAGE_FIX насчитывает. Я правда по нажатию клавиши показываю, чтобы цикл чистый был.

Могу тебе версию со встроенным в сфалл отображением фпса дать, как раз проверишь сходится ли с внешним.

Fallout - Mods and Tools
 
DeKRuS Дата: Суббота, 28 Октября 2023, 12:55 | Сообщение # 7
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
Награды: 2
OffLine
Цитата Mr-Stalin ()
Могу тебе версию со встроенным в сфалл отображением фпса дать, как раз проверишь сходится ли с внешним.
Да, давай, интересно как оно сходится.
можно на почту 43xpehb@gmail.com
 
Mr-Stalin Дата: Суббота, 28 Октября 2023, 20:37 | Сообщение # 8
Мистер Сталин
Солдат братства
Сообщений: 577
Награды: 32
OffLine
Цитата DeKRuS ()
Да, давай, интересно как оно сходится.
кинул в личку.
имей ввиду, что чем больше обновления происходит в игре на экране, тем больше фпс.
т.е. чем быстрее двигаешь мышой тем больше фпс. так сделан двиг.

Fallout - Mods and Tools
 
DeKRuS Дата: Понедельник, 30 Октября 2023, 14:00 | Сообщение # 9
Эксперементатор
Автор темы
Житель пустошей
Сообщений: 41
Награды: 2
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
Награды: 32
OffLine
Цитата DeKRuS ()
К каким кадрам "set_global_script_repeat" привязан?
К главному циклу игры.
set_global_script_repeat - мне не нравится как она сделана. По мне она должна задавать частоту в процентах.

Fallout - Mods and Tools
 
AleSiS Дата: Пятница, 19 Апреля 2024, 23:45 | Сообщение # 11
Житель пустошей
Сообщений: 17
Награды: 0
OffLine
так как, реализовали уже?
 
  • Страница 1 из 1
  • 1
Поиск: