XaeroX писал: Это flinch-анимации? Да, штука полезная. Хотя и упрощает игру, когда в руках мощная пушка - за время дезориентации можно успеть монстра завалить без вреда для своих хп.
Мне очень нравится как в эйфории себя ведут персонажи при попадании в них:
Параметрическая анимация вообще дело хорошее. А теперь там и нейросетки прикрутили, очень большой потенциал. Вот как раз в плане погружения. Ведь что в игре главное? Персонажы! ну если это конечно не головоломка какая. Человек может вообще не вдаваться ни в какие подробности, но будет сопереживать персонажам игры.
Дядя Миша писал: А теперь там и нейросетки прикрутили, очень большой потенциал.
Дропает ФПС неимоверно @ долго надо обучать @ много места на диске занимает @ все эти вещи можно делать обычной ИКшкой и ригидбодями (регдолами).
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
XaeroX писал: В игре самое главное - понимать куда идти.
Ок, куда в сталкере идти?
Цитата:
FiEctro писал: Дропает ФПС неимоверно @ долго надо обучать @ много места на диске занимает
Смысл нейросети вот как раз-таки в том, что сперва она учится и дропает фпс, а потом когда уже умеет - всё быстро происходит. Ну это как на автомбиле учишься ездить, сначала липко потееш, смеешься в голос до трёх раз, а потом на автомате.
Дядя Миша
Ничего там не происходит, что обученная, что необученная нейронка превратит тебе игру в слайдшоу. Ведь результат обучения надо хранить где то, а где? Только на диске, а обращение к диску ты сам знаешь...
Вон сам проверь: https://github.com/sebastianstarke/AI4Animation
Когда у всех нас будет по 256Гб ОЗУ может быть тогда и ога, а пока будем обмазываться обычной ИКшкой.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Ведь результат обучения надо хранить где то, а где?
нуу, это смотря сколько места занимает результат обучения.
Я к примеру вот чего знаю - нвидия в рейтрейсинге использует пост.фильтр для удоления шумов из финальной картинки как раз на основе нейросети.
Каково, а! Тут понимаешь сам рейтрейсинг тормозит, как низнаю кто, а они еще нейросетью шумы с кадра удоляют. И им норм!
Добавлено 07-10-2019 в 16:37:
Чёт взглянул я на ту демку, да это жы Adam из юните. Оно внешнее, нето на питоне, не то на сишарпе, непонятно вообщем. Да и сам юнити не блещет производительностью. О чём тут можно говорить?
Дядя Миша писал: Чёт взглянул я на ту демку, да это жы Adam из юните. Оно внешнее, нето на питоне, не то на сишарпе, непонятно вообщем. Да и сам юнити не блещет производительностью. О чём тут можно говорить?
Сишарп. Производительность юнити здесь не при чём. С отключенной этой фишкой, эта демка летает.
Цитата:
Дядя Миша писал: А инверсная кинематика, она вообще про другое.
Да с горем пополам освоил. Помню ты говорил что написать такое легко, на деле оказалось совсем наоборот, но результат мне нравится хоть и не всегда корректный, но это лучше чем персонажи летающие в воздухе.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
В демке с собакой рядом со счетчиком фпс отображается время, потраченное на расчет анимации нейросетью за кадр. У меня там в среднем 8мс, и это, конечно, слишком жирно для одной модели.
FiEctro писал: Помню ты говорил что написать такое легко, на деле оказалось совсем наоборот,
ну как бы сама инверсная кинематика это пара функций. Сложность в том, чтобы корректно вплести её в анимацию, они же конфликтовать начинают.
Инверсная кинематика не заставит модельку шагать, а анимация ходьбы не поставит ноги на ступеньки. То есть нам одновременно и кадры анимации менять и во время каждой анимации пытаться дотянуться ногой до ступеньки, причём для спуска и подъема совершенно разные условия. Это самая сложная часть. А вот хвост от стены отодвинуть достаточно легко.
>> Инверсная кинематика не заставит модельку шагать, а анимация ходьбы не поставит ноги на ступеньки. То есть нам одновременно и кадры анимации менять и во время каждой анимации пытаться дотянуться ногой до ступеньки, причём для спуска и подъема совершенно разные условия.
Там целая система, какие блин пару функций. Ну да, сделать ИКбоне и полвектор для 2х костей не сложно, однако на практике пользы от этого ноль.
Благо юнити позволяет тебе работать с каждой костью персонально как с игровым объектом, это сильно облегчает задачу. В ксаше или волатиле наверное такое не получится, сложность вырастает в разы.
The solver works on a very basic principle: The characters are animated on planar ground. The height and rotation of the feet, as they are animated, should only be offset by the difference of ground height at their ingame positions from the root height.
Let's sample a frame in the animation, where the character's left foot y position is 0.1. Ingame, the Grounding solver will make some raycasting to find the real ground height at the left foot's position. Let's say that the raycasting returns 0.2. If the character's ingame y position is 0, the ground height at the foot's position relative to the character root is 0.2. The foot must be vertically offset by that exact value, ending up at 0.3.
This approach guarantees minimal interference with the animation, because the feet will only be offset when the ground height at their positions differ from the character root's height. If that offset is negative, meaning ground height at the foot position is lower, then the solver needs to pull down the character from the pelvis so that the feet could reach their offset targets.
Знаю об этой штуке, для нормальных игр типа шутанов оно не годится. Физика расколбасит всю анимацию, в итоге персонажи будут вести себя как упоротые, такое можно включать лишь на момент когда персонаж сталкивается с каким то другим физическим телом, например когда гравипушкой в него ящик кинули.
Да и не высчитывается там анимация налету, очередной суп из ригидбоди и скелеталки. Напоминаю что в подобных играх у тебя каждая кость это игровой объект со всеми вытекающими, он может быть физическим, он может сталкиваться с костями того же самого скелета, он может быть в иерархии какого то другого объекта отдельно от скелета.
Например вот как я делаю, у меня есть анимация, кости ног находятся в объекте ИК контролёра, который делает то что я выложил по ссылке выше. Другие отдельные кости могут быть джинглбонес для сисек всяких. А вот например чтобы волосы/хвосты не проваливались в тело, тебе надо их сделать регдолом, причем если ты сделаешь это в рамках самого скелета, физику заглючит и всё будет дёргаться в конвульсиях. Поэтому тебе эти кости надо вынести вообще в другой объект, приаттачить его грамотно к основному скелету и тогда ога. В момент смерти тебе надо выключить ИК контролёр, анимацию, плеер контролер, и врубить для всех костей регдол.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Там целая система, какие блин пару функций
для решения IK - пару функций, да. Система она для того чтобы увязать это всё. Если бы у нас был нормальный аффектор анимаций, это бы всё непонадобилось. Но выж сами говорите - тормозно.
Цитата:
FiEctro писал: Благо юнити позволяет тебе работать с каждой костью персонально как с игровым объектом
Хех, ну в посл. версиях ксаш-мода верёвки много-костные были, что-то типа такого. Там оно конечно на стадии прототипа, но идею можно развить и углубить. А в NT это будет изкаропке.
Цитата:
FiEctro писал: Напоминаю что в подобных играх у тебя каждая кость это игровой объект со всеми вытекающими
Ты неверно мыслишь. Кости необязательно делать игровыми объектами, это избыточно. Весь вопрос в том, какую информацию для них хранить сквозь кадры. А так, это всё решается в пределах одной энтити, но с тем же результатом. Плодить эдикты на кости - слишком жирно. Вон в опфоре так верёвки были устроены и что хорошего?
Цитата:
FiEctro писал: А вот например чтобы волосы/хвосты не проваливались в тело, тебе надо их сделать регдолом, причем если ты сделаешь это в рамках самого скелета, физику заглючит и всё будет дёргаться в конвульсиях.
ну потому что Юнити сам со своей объектной моделью не слишком хорошо дружит. Или рагдолл сам на себя избыточен.
XaeroX да пусть лучше про рагдолл, чем про вербовку к ужину.
Дядя Миша писал: да пусть лучше про рагдолл, чем про вербовку к ужину.
Я не против, но вы тему отдельную создайте.
Или выделите посты из этой в новую.
Добавлено 08-10-2019 в 14:16:
Цитата:
Дядя Миша писал: Вон в опфоре так верёвки были устроены и что хорошего?
Народ был в полнейшем восторге. Настолько, что заминусовал и загнобил меня, когда я эти верёвки из опфора выдрал, а сорцы не дал. Даже изза бампа в хлфх народ так не бесился.
Ну потом уже и буржуи чему-то научились, догнали россию-матушку, и тоже выдрали эти верёвки. Но это совсем другая история.