|
16.05.2012, 15:05
|
#16
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: C3D Engine
ошибаешься.
это два разных подхода - морфная анимация и скининг.
|
(Offline)
|
|
16.05.2012, 16:36
|
#17
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: C3D Engine
В максе пробегаю по всем кадрам и извлекаю положение вершин помноженое на матрицу объекта. Этим методом неважно каким модификатором в максе сделана анимация, тем самым можно экспортировать совершенно любую анимацию
|
а в реалтайме как морфишь то? неужто локаешь VB каждый кадр или того хуже держишь VB на каждый кадр?
и насчёт не гибко - это действительно так.
к примеру не выйдет применить одну и ту же анимацию ходьбы к 2м челам с одинаковыми скелетами - придётся засирать память нефигово.
|
(Offline)
|
|
16.05.2012, 19:59
|
#18
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Сообщение от Mr_F_
а в реалтайме как морфишь то? неужто локаешь VB каждый кадр или того хуже держишь VB на каждый кадр?
и насчёт не гибко - это действительно так.
к примеру не выйдет применить одну и ту же анимацию ходьбы к 2м челам с одинаковыми скелетами - придётся засирать память нефигово.
|
А вот я это реализовал! Только что. И не засирает память
В реалтайме морфит каждый кадр 3д макс. Мне кроме интерполяции вообще ненадо никаких вычислений
ЗЫ. я локаю буфер каждый кадр. Не просто так же придумали флаг DYNAMIC для буффера... спецом для анимаций
|
(Offline)
|
|
16.05.2012, 20:00
|
#19
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Сообщение от HolyDel
ошибаешься.
это два разных подхода - морфная анимация и скининг.
|
Естественно! У меня скин переводится в морф и записывается в файл. В файле уже морф, сформированый
|
(Offline)
|
|
16.05.2012, 20:10
|
#20
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: C3D Engine
ЗЫ. я локаю буфер каждый кадр. Не просто так же придумали флаг DYNAMIC для буффера... спецом для анимаций
|
это небыстро может быть, ну точнее сойдет для медии на уровне 2004 и ниже)
хотя раз казуальный движок то может и ок)
но есть ещё один минус - нельзя получить трансформацию кости в кадре у тебя (бывает нужно).
я последний раз когда делал морфинг, запекал его в флоатовые текстуры (ось Х - номер кадра, ось Y - номер вертекса), и в VS читал и интерполировал, но это с SM 3.0 только можно.
|
(Offline)
|
|
16.05.2012, 20:15
|
#21
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Сообщение от Mr_F_
но есть ещё один минус - нельзя получить трансформацию кости в кадре у тебя (бывает нужно).
|
Я об этом тоже думал. Я буду держать скелет, по мере необходимости доступа к кости, буду пересчитывать трансформации. Все же это меньше операций, чем перемножать каждую вершину относительно матрицы кости. Скелет будет использоваться для прикрепления к нему объектов, а не для высчитывания анимации.
|
(Offline)
|
|
16.05.2012, 20:18
|
#22
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: C3D Engine
модель можно оптимизировать исключив каждый энный кадр. Анимация хуже не становится, памяти жрет меньше.
|
ну оставь два кадра тогда. первый и последний.
дружище, не ленись, сделай человеческий скининг.
или оставь человеческий морфинг.
зря ты их скрещиваешь.
|
(Offline)
|
|
16.05.2012, 20:22
|
#23
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
У меня морфинг человеческий. Скрещивает 3д МАКС, который выдает мне файл с морфной структурой!
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.05.2012, 20:25
|
#24
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: C3D Engine
а. ну тогда нет проблем раз морфный файл и морфный рендер
|
(Offline)
|
|
17.05.2012, 22:42
|
#25
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Будет встроеный в двиг нормал маппинг. Постараюсь его реализовать с per-pixel освещением и тенями, пока что мало представляю как это все сделать
Последний раз редактировалось pozitiffcat, 20.05.2012 в 20:15.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
20.05.2012, 18:41
|
#26
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Добавил видео по рендеру
http://youtu.be/DQvAw-lfzZQ
На этом видео я показываю: морфная анимация загружается один раз, а используется на нескольких моделях, тоже касается и текстур. Анимация каждого человечка играет с разной скоростью, что бы было видно, что морфная анимация не привязана к конкретному объекту, это совершенно отдельный объект.
Загружать морфную анимация не надо ручками, все делается автоматически и движок сам понимает, кому и какой морфный объект, загруженный ранее, присвоить.
16 человечков с анимацией - 300 FPS
памяти ест 26 мб
100 человечков с анимацией - 111 FPS
памяти ест 32 мб
Просьба потестировать на запуск приложение кому не лень - http://rghost.ru/38187610
Последний раз редактировалось pozitiffcat, 20.05.2012 в 21:33.
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
|
|
21.05.2012, 21:18
|
#27
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,361
Написано 2,473 полезных сообщений (для 6,856 пользователей)
|
Ответ: C3D Engine
Охренительно музыка дополняет происходящее
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 4090 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Randomize за это полезное сообщение:
|
|
22.05.2012, 00:25
|
#28
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Близится зарелизивание беты
Что нужно сделать
• PointTo у камеры
• Выделение объектов мышью (хз в бэте или нет, там небольшой гемор)
• Попиксельное освещение (не в бэте)
• Множество проходов с источниками света (пока не вкурсе как делается) (не в бэте)
• Тени в стандартном шейдере (не в бэте)
• Настройка физики из скрипта материала
• Везде сделать корректное удаление
• Текст
• 2д графика
• Удалить лишние данные из файла меша
• Использовать центрирование при извлечении меша из нода (перемножить каждую точку на минус матрицу положения меша)
• Названия анимаций
• Рендер в чужое окно
• Задать fov
• Получение текстового значения имени класса
• Получение объектов по именам, задавание имен, получение в виде списка. Получать например так models_count(), get_model(int)
• попроверять правильность поворотов, преобразований
Что сделано
• Пост – эффекты
• Искаропки есть setNormalMap(CTexture*)
• Аудио
• Менеджер звуков
• Загрузка звука
• Проигрывание звука
• Нормальный mouselook
• Функция движения move
• Работа с разными менеджерами сцены (теоретически работает)
• Улучшить координаты текстур при выгрузке из 3ds max (вроде норм)
• При экспорте затирать существующий материал
• Назначать текстуру нормали из 3ds max
• Рендер с камеры
• Камера может быть нодом и цепляться к чему угодно
• Свет может быть нодом и цепляться к чему угодно
• Установка шейдера и техники в материале
• Работа с несколькими камерами
• Исключить варнинги в коде
• Сохранение позиций объектов в файл
• Морфная анимация не грузится повторно для каждого подобного объекта, а берется из кэша
• Проверены правильность работы матриц в иерархии
• Извлечение мешей модели по имени в отдельную ноду
• Текстуры и морфы удаляются с удалением сцены
• Логи
• Освещение (список ламп в менеджере сцены)
• Настройка параметров эффекта
• Физика Bullet
• Физический мир
• Добавление физических тел
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pozitiffcat за это полезное сообщение:
|
|
22.05.2012, 13:45
|
#29
|
Знающий
Регистрация: 01.04.2011
Адрес: Екатеринбург
Сообщений: 232
Написано 48 полезных сообщений (для 82 пользователей)
|
Ответ: C3D Engine
PhysX будет подключаться отдельной .dll
|
(Offline)
|
|
22.05.2012, 14:01
|
#30
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: C3D Engine
Сообщение от 4yBa4Ok
PhysX будет подключаться отдельной .dll
|
Да. Искаробки будет bullet. Верней он уже есть )))
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:15.
|