Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Анимация X файлов + волосы на текстуре [Delphi, DirectX (Direct3D), Windows]


Колбасьев ©   (2004-08-19 22:34:00) 

Меня интересует слудующие:
1. анимация хранится в X файле по кадрам (кадр - модель в новом положении)?
2. как проигрывать анимацию
Это связано с тем, что я хочу сделать анимированный файл, а не несколько отдельных Х файлов с положением монстра (как я видел в некоторых даже "коммерческих" играх)
3. Как сделать траву, волосы и т.п. на полигоне (не отдельными объекты). Слышал что-то про использование шейдеров (попутно мне кто-нибудь объяснит, что такое шейдерный язык и для чего это вообще нужно?)?.


Колбасьев   (2004-08-20 17:41:00) [1]

Спасибо, но кажеться придется помучиться :-[


Sapersky   (2004-08-20 16:07:00) [2]

Ну вот Q2 Model Viewer:

http://dxlab.host.sk/zips/d3d8sam8.zip


Sapersky   (2004-08-20 10:49:00) [3]

1. анимация хранится в X файле по кадрам (кадр - модель в новом положении)?

Вряд ли. Точно не знаю, самому интересно, но судя по примеру SkinnedMesh из SDK, где анимация скелетная - не по кадрам.
Если по кадрам (это проще, конечно), то можно начинать с формата Quake2 - некий Lord Trancos в своё время написал пример, ну или в GLScene посмотреть можно. Большое кол-во готовых моделей существует, хотя набор анимаций, прямо скажем, небогатый (по сравнению с HL, например).
Проигрывать, если не скелетная - элементарно. Берём "текущий" кадр и следующий, линейно интерполируем между ними. Некоторые видеокарты могут эту интеполяцию (tweening) делать аппаратно (см. примеры Dolphin/DolphinVS из DX SDK... второй, кстати, на шейдерах... вот, в частности, зачем они нужны :)).
По скелетной тут нужно лекцию читать, да и сам не вполне разбираюсь. В хелпе к DX SDK есть, хотя и не очень понятно написано (см. skinned mesh, skinning).

3. Как сделать траву, волосы и т.п. на полигоне (не отдельными объекты).

В DX9 SDK (clootie.narod.ru) был пример - кажется, как раз отдельными объектами :)
Шейдер - программа обработки вершины/пикселя. Для того, чтобы почувствовать, зачем это нужно, следует написать с нуля продвинутый полностью софтверный движок, а потом перейти на железо без шейдеров :)
Подробнее объяснять не возьмусь - если поискать, наверняка можно найти информацию (на GameDev.ru точно что-то было).


Наверх

Титульная страница Поиск, карта сайта Написать письмо