Информатика и образование
  Мобильная версия сайта            
               
[Главная] [Новости]
[Статьи]
[Проекты]
[Ссылки]
[Автор]
               
    [Архив новостей]        
               
  [Форум] на форуме можно задать вопрос, посмотреть ответы на часто задаваемые вопросы  
       
  Здравствуйте! Вы попали на информационно-образовательный сайт посвященный информатике, информационным технологиям и компьютерным играм. Подробнее о целях и задачах сайта в разделе Главная. [English version of this page here...]    
       
  [Базовые уроки по DirectX] [Основы DirectMusic на Delphi] [Основы DirectInput8 на Delphi] [Основы DirectSound8 на Delphi]    
  [Разработка компьютерной игры] [Пример игры Donuts3D] [Delphi DirectX]    
       
 

Подготовка модели к использованию скелетной анимации включает следующие шаги -

1) создание и текстурирование модели

2) создание скелета для данной модели

3) привязка скелета к текстурированному мешу (Skinned Mesh) при помощи модификатора Skin и настройка степени влияния костей на вершины модели

4) создание анимации

5) экспорт модели в нужный формат (в нашем случае - X).

   
       
  Если Вы новичок в создании и текстурировании моделей в 3Ds Max, то отправляем Вас изучать базовые уроки посвяшенные 3Ds Max. А пока не вдаваясь в подробности моделирования и текстурирования персонажа можете сразу загрузить себе готовые модель и текстуру - nn (108 Кб). Замечание: все предоставленные модели в формате 3ds max 7.0! Это значит что в более ранних версиях (6, 5 и ниже) они открываться не будут!!!    
       
  модель Fedja (108 Кб)    
       
  Откройте модель из 3Ds Max 7 (или выше). Если модель появилась в сцене без текстуры, то это объясняется просто - 3Ds Max сохраняет абсолютные пути к файлам текстур. Значит Вам нужно исправить этот путь, т.к. в Вашей системе он естественно иной.    
       
  Проблема решается следующим образом - откройте редактор материалов Rendering > Material Editor и в открывшемся окне в группе Blinn Basic Parameters напротив цвета Diffuse нажмите кнопочку M (на рисунке обведено красным кружком!)    
       
  открытие свойств рассеянного света материала в редакторе материалов 3Ds Max7    
  [изображение "открытие свойств рассеянного света материала в редакторе материалов 3Ds Max7"]    
       
  В открывшемся окне свойств диффузного цвета в группе Bitmap parameters нажмите кнопку напротив пункта Bitmap и укажите корректный путь к текстуре в вашей системе -    
       
  коррекция пути к файлу текстуры    
  [изображение "коррекция пути к файлу текстуры"]    
       
  выбор файла текстуры для формирования корректного пути к нему в вашей системе    
       
  Если после этих манипуляций изображение текстуры так и не появилось на поверхности модели, значит оно просто не отображается или не применено. Исправим это.    
       
  Снова откройте редактор материалов (см. изображение "коррекция пути к файлу текстуры" выше). В поле Diffuse Color из выпадающего списка выберите название материала orig_fedja    
       
  переход к свойствам материала orig_fedja    
       
  Это вернет Вас к окну свойств материала orig_fedja в целом (см. изображение "открытие свойств рассеянного света материала в редакторе материалов 3Ds Max7" ).    
       
  Нажмите кнопку Show Map in Viewport -    
       
  отображение материала в окне вида    
       
  И если это не решило проблему - перетащите материал из своего слота в редакторе материалов на изображение модели в окне вида (Viewport) -    
       
  применение созданного обновленного материала к модели    
       
 

Эту операцию придется повторить для всех объектов из которых состоит модель.

Все эти манипуляции должны привести к появлению изображения текстуры на поверхности модели. Теперь Вы понимаете как важно использовать для файлов текстур относительные, а не абсолютные пути! Особенно это касается файлов в формате X. О том как скорректировать путь к файлу текстуры в готовом Х файле текстового вида можно прочитать в статье - Погружение в глубины DirectX8, 9

   
       
  Теперь приступим к коррекции модели для целей экспорта в формат X. Выберите все объекты модели в сцене, сгруппируйте их в одну группу Group > Group и выбрав инструмент Select and Move задайте нулевые значения положения модели относително центра мировой системы координат (world coordinate system) - X =0,0; Y = 0,0; Z=0,0    
       
  расположение модели в центре мировой системы координат    
       
  Эта особенность является важной, т.к. любые смещения относительно центра будут неизбежно приводить к некорректному расположению модели в игровых сценах - она всегда будет смещена.    
       
  Коррекция масштаба изображения - пока модель сгруппирована можете сразу же отмасштабировать ее до нужных размеров. Это будет необходимо, т.к. приложение SkinnedMesh рассчитано на другой масштаб модели или придется масштабировать модель уже в коде - программным путем. В нашем случае модель уже не нуждается в масштабировании, т.к. размеры были подогнаны, но для пробы можете все же сделать это.    
       
  Экспортируйте модель в формат X при помощи любого из экспортеров которые были описаны выше.    
       
  Проверьте результат экспорта в любой из утилит для просмотра мешей или в приложении SkinnedMesh.    
       
  Это были предварительные шаги для подготовки Вас и Вашей модели к использованию концепции скелетной анимации.    
       
  Следующий этап - 2 - это создание скелета для модели.    
       
  Скелет - это набор вспомогательных моделей образующих иерархию. Скелет состоит из костей (Bones). Кости будут в дальнейшем влиять на положение связанных с ними вершин текстурированной модели (Skinned Mesh).    
       
  Скелет относится к вспомогательным объектам и поэтому в игровой сцене он будет невидим, поэтому его необходимо расположить внутри модели персонажа. И хотя кости скелета относятся к отрисовываемым (rendered) объектам - их можно выводить на rendering в 3ds max, в игровых сценах и приложениях они отрисовываться не будут! Таким образом скелет в виде видимой модели нужен только на этапе его разработки и создания анимации.    
       
  В игровом приложении скелет отрисовываться не будет, а будет лишь воздействовать своими матрицами трансформации на трансформацию связанных с ним вершин модели персонажа.    
       
  Поскольку мы сейчас будем внедрять скелет внутрь тела персонажа нам нужно чтобы он был виден, но и не мешал создавать и/или выбирать отдельные кости. Для этого давайте"заморозим" модель и сделаем "сквозной" вид обзора (See-Through).    
       
  Выделите модель (или все ее составляющие объекты если Вы ее разгруппировали).    
       
  Щелкните правой кнопкой по модели и выберите пункт меню Properties, в группе Display Properties установите флажок See-Through. Нажмите ОК. При этом модель (все выделенные объекты) станут полупрозрачного серого цвета.    
       
  установка "сквозного" вида модели    
       
  Снова щелкните правой кнопкой и выберите Freeze Selection. Это приведет к "заморозке". Для разморозки используйте Unfreeze. Для восстановления нормального вида убирайте флажок See-Through.    
       
  Теперь когда модель видна, но недоступна для выбора нам ничто не будет мешать и мы свободно можем создавать скелет и размещать его внутри модели.    
       
  Выберите пункт меню Character > Bone Tools. Перед вами откроется панель создания костей скелета -    
       
  панель создания костей скелета    
       
  Отдельные кости мы будем формировать в разных плоскостях, поэтому Вам нужно будет для их размещения включать соответствующий вид - фронтальный (Front), боковой слева или справа (Left, Right) и т.д.    
       
  Для этого воспользуйтесь кнопкой Maximize Vieport Toggle в нижнем правом углу окна 3ds max -    
       
  c последующим выбором окна соответствующей проекции и его максимизацией/минимизацией этой же кнопкой.    
       
  Создадим кости для левой руки. Выполнять это будем в окне фронтальной проекции (Front viewport - см. рис. выше).    
       
  Левая рука персонажа будет соответствовать правой стороне на экране (потому что с точки зрения персонажа его левая рука, а с вашей точки зрения она расположена в правой части экрана). Т.е. мысленно поставьте себя спиной к персонажу, тогда поймете о чем я говорю.    
       
  Нажав кнопку Create Bones и щелкая мышью постройте 4 кости идущие от плеча к кисти как показано на рисунке. В конце щелкните правой кнопкой. Пятая концевая кость носит вспомогательный характер и должна выходить за пределы руки персонажа (как и показано на рисунке). Она будет служить концевой точкой прикрепления Анимационного инструмента инверсной кинематики (IK Solver - HI Solver).    
       
       
       
  [назад] [далее]    
       
       
  [Базовые уроки по DirectX] [Основы DirectMusic на Delphi] [Основы DirectInput8 на Delphi] [Основы DirectSound8 на Delphi]    
  [Разработка компьютерной игры] [Пример игры Donuts3D] [Delphi DirectX]    
       
 

Обновления и новости о развитии Delphi DirectX проекта
смотри на сайтах:

http://www.megainformaticsite.pochta.ru

http://www.megainformatic.boom.ru

http://www.megainformatic.narod.ru

 

   
       
     
 

по всем вопросам пишите на megainformatic@mail.ru или оставьте сообщение на форуме

 
     
   Обмен ссылками  
     
     
             
 
 
         
(с) МЕГА ИНФОРМАТИК 2006-2009
Hosted by uCoz