Создание колёсной техники
Материал из Mod Wiki.
Версия 02:31, 18 марта 2008 (править) NOsoft (Обсуждение | вклад) (Новая: ==Создание колёсной техники== ===1. Вступление=== Данный урок посвящен созданию моделей транспорта (авто ...) ← К предыдущему изменению |
Версия 02:42, 18 марта 2008 (править) (отменить) NOsoft (Обсуждение | вклад) К следующему изменению → |
||
Строка 11: | Строка 11: | ||
Для начала - откроем 3DSMax. Создадим что-то похожее на машину. Далее необходимо создать материал, настроить его и затекстурить модель. | Для начала - откроем 3DSMax. Создадим что-то похожее на машину. Далее необходимо создать материал, настроить его и затекстурить модель. | ||
- | [[Изображение:Untitled-2.jpg]] | + | [[Изображение:Untitled-2.jpg|300px]] |
- | [[Изображение:Untitled-1.jpg]] | + | [[Изображение:Untitled-1.jpg|300px]] |
На этом скриншоте показаны ID материалов назначаемых разным частям машины и подписаны сами части. | На этом скриншоте показаны ID материалов назначаемых разным частям машины и подписаны сами части. | ||
Строка 21: | Строка 21: | ||
Поскольку лично я костями не пользуюсь, ставим Хелперы (Dummy). | Поскольку лично я костями не пользуюсь, ставим Хелперы (Dummy). | ||
- | [[Изображение:Untitled-4.jpg]] | + | [[Изображение:Untitled-4.jpg|300px]] |
Называть хелперы можно в процессе создания или после установки всех хелперов. Называть можно как Вам самим будет удобно и понятно, НО хелперы root, front_axle, back_axle не советую. Это именно те хелперы которые нельзя определить в конфига (*.ltx) и может случиться так что игра будет вылетать с нулевым логом. | Называть хелперы можно в процессе создания или после установки всех хелперов. Называть можно как Вам самим будет удобно и понятно, НО хелперы root, front_axle, back_axle не советую. Это именно те хелперы которые нельзя определить в конфига (*.ltx) и может случиться так что игра будет вылетать с нулевым логом. | ||
- | [[Изображение:Untitled-5.jpg]] | + | [[Изображение:Untitled-5.jpg|300px]] |
Тоже самое вид сбоку. | Тоже самое вид сбоку. | ||
Строка 33: | Строка 33: | ||
Вращение хелперов осуществляется также как и любых других объектов в 3DSMax, а для проверки приходится пользоваться меню Hierarchy > Adjust Pivot > Affect Pivot Only, НО не забывайте выходить из этого режима иначе хелпер не провернётся, провернётся только его ось. | Вращение хелперов осуществляется также как и любых других объектов в 3DSMax, а для проверки приходится пользоваться меню Hierarchy > Adjust Pivot > Affect Pivot Only, НО не забывайте выходить из этого режима иначе хелпер не провернётся, провернётся только его ось. | ||
- | [[Изображение:Untitled-8.jpg]] | + | [[Изображение:Untitled-8.jpg|300px]] |
Здесь все хелперы уже повёрнуты в нужные стороны. | Здесь все хелперы уже повёрнуты в нужные стороны. | ||
И более подробно каждый в отдельности. | И более подробно каждый в отдельности. | ||
- | [[Изображение:Untitled-9a.jpg]][[Изображение:Untitled-9b.jpg]][[Изображение:Untitled-9c.jpg]][[Изображение:Untitled-9d.jpg]][[Изображение:Untitled-9e.jpg]][[Изображение:Untitled-9f.jpg]] | + | [[Изображение:Untitled-9a.jpg|300px]][[Изображение:Untitled-9b.jpg|300px]][[Изображение:Untitled-9c.jpg|300px]][[Изображение:Untitled-9d.jpg|300px]][[Изображение:Untitled-9e.jpg|300px]][[Изображение:Untitled-9f.jpg|300px]] |
Некоторые пояснения: вращение колёс происходит вокруг зелёной оси (хелпера) по направлению синей оси, водитель сидит лицом по зеленой оси (хелпера) тело снизу вверх направлено по синей оси (хелпера), фары светят по зелёной оси, выхлопная труба - дым направлен по зелёной оси, двери - выход из машины осуществляется по зелёной оси (хотя с этим надо поэкспериментировать). | Некоторые пояснения: вращение колёс происходит вокруг зелёной оси (хелпера) по направлению синей оси, водитель сидит лицом по зеленой оси (хелпера) тело снизу вверх направлено по синей оси (хелпера), фары светят по зелёной оси, выхлопная труба - дым направлен по зелёной оси, двери - выход из машины осуществляется по зелёной оси (хотя с этим надо поэкспериментировать). | ||
Строка 45: | Строка 45: | ||
Итог должен выглядеть примерно вот так. | Итог должен выглядеть примерно вот так. | ||
- | [[Изображение:Untitled-6.jpg]] [[Изображение:Untitled-7.jpg]] | + | [[Изображение:Untitled-6.jpg|300px]] [[Изображение:Untitled-7.jpg|300px]] |
Естественно жёлтых связей вы не увидите, но так выглядит более наглядно. | Естественно жёлтых связей вы не увидите, но так выглядит более наглядно. | ||
Строка 54: | Строка 54: | ||
После расстановки и линковки хелперов выбираем наш объект (mesh), применяем к нему модификатор '''Physique''', жмем кнопку '''Attach to node''' root –> '''Rigid''' –> '''Initialize'''. Скелет готов к привязке. | После расстановки и линковки хелперов выбираем наш объект (mesh), применяем к нему модификатор '''Physique''', жмем кнопку '''Attach to node''' root –> '''Rigid''' –> '''Initialize'''. Скелет готов к привязке. | ||
- | [[Изображение:Untitled-7.jpg]] | + | [[Изображение:Untitled-7.jpg|300px]] |
Это действо уже описывалось в других уроках, поэтому останавливаться на этом подробно не буду. | Это действо уже описывалось в других уроках, поэтому останавливаться на этом подробно не буду. | ||
Строка 60: | Строка 60: | ||
Окончив привязку, можно экспортировать модель. Необходимо поставить галочку Allow Dummy. | Окончив привязку, можно экспортировать модель. Необходимо поставить галочку Allow Dummy. | ||
- | [[Изображение:Untitled-3.jpg]] | + | [[Изображение:Untitled-3.jpg|300px]] |
===4. Настройка модели в Actor Editor=== | ===4. Настройка модели в Actor Editor=== | ||
Строка 66: | Строка 66: | ||
АЕ - Actor Editor. Здесь необходимо, вписать в раздел Object > User Data ссылку на файл конфиг (*.ltx), в моём случае строка имеет такой вид: #include "models\vehicles\veh_niva_u_01.ltx" | АЕ - Actor Editor. Здесь необходимо, вписать в раздел Object > User Data ссылку на файл конфиг (*.ltx), в моём случае строка имеет такой вид: #include "models\vehicles\veh_niva_u_01.ltx" | ||
- | [[Изображение:Untitled-11a.jpg]] | + | [[Изображение:Untitled-11a.jpg|300px]] |
Вот так. | Вот так. | ||
Строка 83: | Строка 83: | ||
Следующим выбираем back_left_wheel, так же Shape > Type > None сменить на Cylinder. Далее раздел Joint в нём выбираем Wheel Steer-X,Roll-Z. Так же вместо человеческих цифр (в графах ниже), могут появляться бешеные числа такого типа 9999876455.0 вместо них ставим 0 (нуль). | Следующим выбираем back_left_wheel, так же Shape > Type > None сменить на Cylinder. Далее раздел Joint в нём выбираем Wheel Steer-X,Roll-Z. Так же вместо человеческих цифр (в графах ниже), могут появляться бешеные числа такого типа 9999876455.0 вместо них ставим 0 (нуль). | ||
- | [[Изображение:Untitled-11c.jpg]] | + | [[Изображение:Untitled-11c.jpg|300px]] |
Проделываем выше описанное для всех оставшихся осей и колёс. | Проделываем выше описанное для всех оставшихся осей и колёс. | ||
Не забудьте для передних (рулевых) колес указать в разделе Joint > Steer > параметры Limits Min и Limits Max - это углы поворота колёс. Примерно минимум -20, максимум 20. | Не забудьте для передних (рулевых) колес указать в разделе Joint > Steer > параметры Limits Min и Limits Max - это углы поворота колёс. Примерно минимум -20, максимум 20. | ||
- | [[Изображение:Untitled-11d.jpg]] | + | [[Изображение:Untitled-11d.jpg|300px]] |
Далее необходимо проставить у всех остальных костей тип Box или более подходящий по месту (раздел Shape в нём Type). | Далее необходимо проставить у всех остальных костей тип Box или более подходящий по месту (раздел Shape в нём Type). | ||
Строка 95: | Строка 95: | ||
Вот что в итоге получилось у меня. | Вот что в итоге получилось у меня. | ||
- | [[Изображение:Untitled-11e.jpg]] | + | [[Изображение:Untitled-11e.jpg|300px]] |
Жуть редкостная, но ездит :) | Жуть редкостная, но ездит :) | ||
- | [[Изображение:Untitled-12 (car test).jpg]] [[Изображение:Untitled-12a (car test).jpg]] | + | [[Изображение:Untitled-12 (car test).jpg|300px]] [[Изображение:Untitled-12a (car test).jpg|300px]] |
Удачи! | Удачи! |
Версия 02:42, 18 марта 2008
Содержание |
Создание колёсной техники
1. Вступление
Данный урок посвящен созданию моделей транспорта (авто или что-то другое решать Вам). Статья рассчитана на опытных пользователей 3DSMax.
Перед прочтением этой статьи советую еще раз ознакомится с этим уроком.
2. Создание примитов
Для начала - откроем 3DSMax. Создадим что-то похожее на машину. Далее необходимо создать материал, настроить его и затекстурить модель.
На этом скриншоте показаны ID материалов назначаемых разным частям машины и подписаны сами части.
3. Создание хелперов
Поскольку лично я костями не пользуюсь, ставим Хелперы (Dummy).
Называть хелперы можно в процессе создания или после установки всех хелперов. Называть можно как Вам самим будет удобно и понятно, НО хелперы root, front_axle, back_axle не советую. Это именно те хелперы которые нельзя определить в конфига (*.ltx) и может случиться так что игра будет вылетать с нулевым логом.
Тоже самое вид сбоку.
Затем надо развернуть некоторые хелперы в нужную сторону. Поскольку это не кости по ним невидно куда они ориентированы, это создает излишние сложности. Нам необходимо провернуть хелперы колёс (*_*_wheel), руля (stearing_wheel), сидения (seat_left), выхлопной трубы (exhausts), фар (*_light) и дверей (*_door). Конечные хелперы (вида *_end) вращать не надо.
Вращение хелперов осуществляется также как и любых других объектов в 3DSMax, а для проверки приходится пользоваться меню Hierarchy > Adjust Pivot > Affect Pivot Only, НО не забывайте выходить из этого режима иначе хелпер не провернётся, провернётся только его ось.
Здесь все хелперы уже повёрнуты в нужные стороны. И более подробно каждый в отдельности.
Некоторые пояснения: вращение колёс происходит вокруг зелёной оси (хелпера) по направлению синей оси, водитель сидит лицом по зеленой оси (хелпера) тело снизу вверх направлено по синей оси (хелпера), фары светят по зелёной оси, выхлопная труба - дым направлен по зелёной оси, двери - выход из машины осуществляется по зелёной оси (хотя с этим надо поэкспериментировать).
И после всего этого необходимо создать Линки (Link) между хелперами. Лункуются они начиная с конечного (end) к головному (root).
Итог должен выглядеть примерно вот так.
Естественно жёлтых связей вы не увидите, но так выглядит более наглядно.
4. Привязка скелета к модели
После расстановки и линковки хелперов выбираем наш объект (mesh), применяем к нему модификатор Physique, жмем кнопку Attach to node root –> Rigid –> Initialize. Скелет готов к привязке.
Это действо уже описывалось в других уроках, поэтому останавливаться на этом подробно не буду.
Окончив привязку, можно экспортировать модель. Необходимо поставить галочку Allow Dummy.
4. Настройка модели в Actor Editor
АЕ - Actor Editor. Здесь необходимо, вписать в раздел Object > User Data ссылку на файл конфиг (*.ltx), в моём случае строка имеет такой вид: #include "models\vehicles\veh_niva_u_01.ltx"
Вот так.
После этого неплохо проверить настойки материалов (Surfaces). Шейдеры для свечения и блеска models\lightplanes, def_shaders\def_ghost (или другие использующие прозрачность альфа канала), material\fake (по большому счёту материал неважен). Шейдеры для колёс model\model, def_shaders\def_vertex, objects\car_wheel. Шейдеры для кузова и прочих частей model\model, def_shaders\def_vertex, objects\car_cabine.
Далее необходимо настроить некоторые кости. В меню (слева) Object Items выбираем Bones, далее Generate Shape > All. Ждём, в зависимости от компа и модели может занять минуту. Раскрываем список, ищем оси машины back_axle, back_axle2, front_axle, front_axle2 и выбираем первую из них. Смотрим ниже по списку (также слева) ищем раздел Shape в нём Type, сейчас там стоит None надо поставить Cylinder (или Box кому что нравится). Ползём ниже, раздел Joint в нём Rigid, меняем на Joint. Ингода вместо человеческих цифр (в графах ниже), могут появляться бешеные числа такого типа 9999876455.0 вместо них ставим 0 (нуль).
Следующим выбираем back_left_wheel, так же Shape > Type > None сменить на Cylinder. Далее раздел Joint в нём выбираем Wheel Steer-X,Roll-Z. Так же вместо человеческих цифр (в графах ниже), могут появляться бешеные числа такого типа 9999876455.0 вместо них ставим 0 (нуль).
Проделываем выше описанное для всех оставшихся осей и колёс. Не забудьте для передних (рулевых) колес указать в разделе Joint > Steer > параметры Limits Min и Limits Max - это углы поворота колёс. Примерно минимум -20, максимум 20.
Далее необходимо проставить у всех остальных костей тип Box или более подходящий по месту (раздел Shape в нём Type). Если про экспорте ругается на нулевой шейп какой-либо кости, то её тип необходимо поставить в None.
Вот что в итоге получилось у меня.
Жуть редкостная, но ездит :)
Удачи!
6. Исходники
Исходники можно не скачивать. Их просто нет (
Авторы
Статья создана: NOsoft
Благодарности: Neo, Zeed и многие другие хорошие люди