Russian Qt Forum
Апрель 19, 2024, 07:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Выдрать код из игрового движка  (Прочитано 9465 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Октябрь 26, 2019, 09:26 »

Добрый день

Нередко вместо (желаемого) "конкретного ответа" получаешь советы, мол, этого не стоит делать и.т.п. Улыбающийся Но вот фишка выпала так что советы такого плана могут оказаться интересны.

Есть очень нужный open-source код, хотя и староватый. Но, увы, он на богомерзком C# и, хуже того, вмонтирован в популярный игровой движок. Вот головной файл. Выглядит пугающе, но это самый большой, остальное по объему примерно столько же (все cs в данном фолдере).

Ну и насколько реально перевести это на плюсы и интегрировать в др приложение? Задавать наводящие, умничать и.т.п. - здесь можно  Улыбающийся

Спасибо
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Октябрь 28, 2019, 14:14 »

Ну я так и знал Плачущий  Как не в масть - от "экспертов" не отбиться, как в тему - тишина.

демка ф-ционала
теория
Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #2 : Октябрь 28, 2019, 14:30 »

Ну и насколько реально перевести это на плюсы и интегрировать в др приложение?

Всё реально. Полный вперёд! Улыбающийся
Записан

Пока сам не сделаешь...
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Ноябрь 25, 2019, 12:26 »

В общем, взялся. Долго пытался найти что-то поприятнее, но увы, максимум огрызки на пытоне.

Ну ладно. Собсно портирование оказалось не таким уж жутким. Да, были проблемы с имитацией математики/ф-ционала движка, но порешал. Запустил портированный код, автор (добрая душа) натыкал assert'ов, это позволило быстро найти неск мест где насвистел.

Но все это оказалось (милыми) "цветочками". Портированный алгоритм не работает. Char не "ходит", он делает только пол-шага, затем скользит и садится на задницу (аттач). Как в том анекдоте
Цитировать
Да никто не кодит, это я куякнулся
Вот уже недели 2 пытаюсь разобраться в алоритме, но пока без успеха.

Эх, "готовые проверенные", ну где же вы?  Плачущий
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #4 : Ноябрь 25, 2019, 12:37 »

Портированный алгоритм не работает.
Однозначно виноват автор оригинального алгоритма. Улыбающийся

Эх, "готовые проверенные", ну где же вы?  Плачущий
Как показывает эта тема, вам и "готовые проверенные" не даются. Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Декабрь 02, 2019, 08:12 »

Так, есть анодное! Кодит, ну пока по прямой с постоянной скоростью. Правда легче от этого не стало, скорее наоборот, кодит он неверно Улыбающийся Выяснил что положение foot (ступней) вычисляются верно, а вот смещение hips (бедер) нет. Как бы "волосатая рука" давит на char сверху и чем больше он прошел - тем больше сгибает ноги в коленях. Кривая показывает вычисленное смещение, оно должно колебаться около нуля, но почему-то дрыфтует вниз. Нашел это место в коде и в теории, много раз (пере) проверил, но ничего не нашел - вроде все "как доктор прописал", однако ж работает неверно.

Мда, чижело...
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Декабрь 09, 2019, 10:53 »

Наконец-то получил первую корректную анимацию Улыбающийся Ошибка, кстати, была вовсе не техническая (как я надеялся), просто недопонял алгоритм. Теперь надо делать миксы и повороты, там пока одни заглушки. Наверно опять получу ...
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #7 : Декабрь 11, 2019, 12:53 »

Чем же вам C# не угодил? В чем смысл портирования на С++? Судя по коду это Unity, вы и движок Unity будете портировать?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Декабрь 11, 2019, 14:26 »

Чем же вам C# не угодил? В чем смысл портирования на С++?
Просто потому что мое приложение на плюсах.

Судя по коду это Unity, вы и движок Unity будете портировать?
Уже Улыбающийся Конечно только те части что нужны задаче.

Но все равно хорошо что хоть один проявил здоровый интерес и не постеснялся спросить. Ссылка на демку есть выше. Задачу можно сформулировать примерно так:

Дано: исходный skeleton (по существу иерархия/дерево точек) + вектор скорости кадр за кадром который двигает корень дерева. Также даны "образцы" движений (напр walk, run, strafe), каждый примерно 1-1.5 секунда анимации (шаг левой и шаг правой) записанный в fbx файле.

Требуется: заставить skeleton "ходить" (бегать, поворачивать и.т.п) кадр за кадром сообразно входному вектору скорости. Разумеется просто так подставить заданные анимации не проходит.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.075 секунд. Запросов: 23.