Мобильная версия сайта | |||||||||
[Главная] | [Новости] | [Статьи] |
[Проекты] |
[Ссылки] |
[Автор] |
||||
[Архив новостей] | |||||||||
[Форум] | на форуме можно задать вопрос, посмотреть ответы на часто задаваемые вопросы | ||||||||
Здравствуйте! Вы попали на информационно-образовательный сайт посвященный информатике, информационным технологиям и компьютерным играм. Подробнее о целях и задачах сайта в разделе Главная. [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 и ниже) они открываться не будут!!! | |||||||||
Откройте модель из 3Ds Max 7 (или выше). Если модель появилась в сцене без текстуры, то это объясняется просто - 3Ds Max сохраняет абсолютные пути к файлам текстур. Значит Вам нужно исправить этот путь, т.к. в Вашей системе он естественно иной. | |||||||||
Проблема решается следующим образом - откройте редактор материалов Rendering > Material Editor и в открывшемся окне в группе Blinn Basic Parameters напротив цвета Diffuse нажмите кнопочку M (на рисунке обведено красным кружком!) | |||||||||
[изображение "открытие свойств рассеянного света материала в редакторе материалов 3Ds Max7"] | |||||||||
В открывшемся окне свойств диффузного цвета в группе Bitmap parameters нажмите кнопку напротив пункта Bitmap и укажите корректный путь к текстуре в вашей системе - | |||||||||
[изображение "коррекция пути к файлу текстуры"] | |||||||||
Если после этих манипуляций изображение текстуры так и не появилось на поверхности модели, значит оно просто не отображается или не применено. Исправим это. | |||||||||
Снова откройте редактор материалов (см. изображение "коррекция пути к файлу текстуры" выше). В поле Diffuse Color из выпадающего списка выберите название материала 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 | |||||||||