Оглавление 1. Введение ................................................................................................................. 2 2. Разработка статической модели ........................................................................... 3 2.1. Использование геометрических примитивов ................................................ 3 2.2. Использование лофтинга ............................................................................... 4 2.3. Использование методов создания и редактирования сетчатых оболочек . 6 2.4. Другие методы ................................................................................................ 7 3. Источники света ..................................................................................................... 9 4. Установка камер ................................................................................................... 10 5. Материалы ............................................................................................................ 11 6. Анимация .............................................................................................................. 12 7. 6.1. Описание анимации в сцене ........................................................................ 12 6.2. Настройка параметров ................................................................................. 12 Заключение ........................................................................................................... 13 1 1. Введение В качестве объекта разработки был выбран основной боевой танк собственной конструкции, в общих чертах напоминающий современные и перспективные ОБТ. Моделирование выполнялось на основе фотографий российского Т-90МС и предположительных изображений перспективных российских танков Объект 195 и Объект 640. Основные структурные компоненты смоделированного танка: корпус; башня; гусеницы; катки; главное орудие; вспомогательная пушка. На корпусе и башне размещены различные детали, например: зацепы для буксировки, трос с крюками, крышки и люки, оптические приборы, маскировочная сеть в свернутом виде. 2 2. Разработка статической модели 2.1. Использование геометрических примитивов Геометрические примитивы главным образом использовались как основа для многих более сложных объектов, например: Box и ChamferBox – для создания смотровой щели механика-водителя (рис. 2.1); Cylinder – для ствола главного орудия, некоторых оптических приборов (рис. 2.2) и др.; Torus – для создания кольца буксировочного крюка (рис. 2.3); OilTank – для фар. При создании большинства примитивов количество сегментов требовалось уменьшать как ввиду экономии вычислительных ресурсов, так и из соображений избыточности для удаленного наблюдателя. Рис. 2.1. Использование примитивов Box и ChamferBox 3 Рис. 2.2. Использование примитива Cylinder Рис. 2.3. Использование примитива Torus 2.2. Использование лофтинга Некоторые детали танка, имеющие сглаженную поверхность, моделировались при помощи лофтинга NURBS-кривых: борта танка, закрывающие верх гусениц; буксировочный крюк. При этом использовался к U- так и UV-лофтинг (рис. 2.4, 2.5 и 2.6). Затем полученные объекты корректировались в режиме редактирования NURBS-поверхностей и конвертировались в Editable Poly для удаления некоторых артефактов и оптимизации при помощи модификатора ProOptimizer. 4 Рис. 2.4. Использование UV-лофтинга NURBS Рис. 2.5. Использование U-лофтинга NURBS 5 Рис. 2.6. Использование U-лофтинга NURBS 2.3. Использование методов создания и редактирования сетчатых оболочек Главным инструментом при создании сложных деталей танка выступал режим Editable Poly и модификатор EditPoly, позволяющие осуществлять редактирование сетчатых оболочек на более высоком уровне, чем Editable Mesh. За основу для конвертации в Editable Poly выбирались или стандартные примитивы, или – в большинстве случаев – объекты, полученные путем выдавливания сплайнов (при помощи модификатора Extrude). В частности, таким образом были созданы башня танка, основное орудие, вспомогательная пушка на башне, корпус, негладкие части бортов, гусеничные траки, большинство мелких деталей: оптические приборы, баки, свернутая маскировочная сеть и др. Симметрия достигалась путем последующего применения модификатора Symmetry или инструмента Mirror. Начальный этап моделирования приведен на рис. 2.7, итоговый результат работы – на рис. 2.8. 6 Рис. 2.7. Редактирование сетчатых оболочек Рис. 2.8. Итоговая геометрия модели 2.4. Другие методы Для создания гусеничных катков был использован другой подход: в программе ZBrush 4R4 была создана высокополигональная трехмерная модель (методом скульптинга) (рис. 2.9). Тогда же на нее были нанесены основные цвета. Затем производилась ретопология в низкополигональную модель с запеканием (Bake) текстурных карт, в том числе карты нормалей, что позволило достичь высокой визуальной детализации при очень низких затратах полигонов, что актуально в виду большого количества катков (рис. 2.10). 7 Рис. 2.9. Высокополигональная модель гусеничного катка Рис. 2.10. Низкополигональная модель гусеничного катка с текстурой 8 3. Источники света В сцене используется один источник света – VRaySun, имитирующий солнце в ясный день. Этот источник света идеально подходит под сцену зимнего дня, дает четкие тени и позволяет использовать в качестве карты окружения VRaySky. По сравнению со стандартными были изменены следующие параметры: intensity multiplier – снижено для 0,065 для установки требуемой яркости ozone – повышено до 0,45 для придания большей голубизны небу shadow subdivs – повышено до 9 для увеличения качества теней Установка источника в сцене (рис. 3.1): Рис. 3.1. Установка источника света VRaySun в сцене В соответствии с использованным источником света, в сцене применяются материалы из библиотеки VRay, а также глобальное освещение (GI) по схеме Irradiance Map + Light Cache. 9 4. Установка камер В сцене используется одна стандартная Target Camera, выполняющая облет танка по витку спирали. Параметры Lens и FOV установлены согласно значениям по умолчанию для видового окна Perspective (рис. 4.1), так как моделируемая сцена не предъявляет никаких специфических требований к камере, равно как и к числу камер. Кроме того, ожидаемый видеоролик имеет небольшую продолжительность (около 10 секунд) и смена камер в таких условиях теряет смысл, поэтому камера в сцене лишь одна. Рис. 4.1. Установка камеры в сцене 10 5. Материалы В сцене используются материалы, созданные на основе VRayMtl – шейдера, оптимизированного специально для использования с визуализатором V-Ray. Всего задействовано 22 материала, среди которых: материал шахматной клетки – использовался при создании UVWразвертки; белый материал VRayLightMtl – для снятия карт Ambient Occlusion; материалы для текстурированных частей танка – имеют карты Diffuse, Reflection и RGlossines, а также в некоторых случаях Normal Bump; материалы металлических поверхностей – глянцевый (для крюков и некоторых мелких деталей), полуглянцевый (для баков и некоторых мелких деталей) и полуматовый крашеный двух цветов (для ряда частей танка – светлый и для запасных гусеничных траков – темный); анизотропный материал металлического троса с текстурой; материал резины – для ободов гусеничных катков; материал темно-серого пластика – для крышек баков; светло-серый матовый материал – для окружения четыре материала для гусеничных траков – реализованы на основе VRayBlendMtl с базовым материалом темного крашеного металла и наложенными поверх него: o материалом сухой грязи (темно-коричневого цвета); o материалом налипшего снега, к которым применены маски на основе процедурных карт Dent и Noise, настройки которых для каждого из 4-х материалов различны. Изображение редактора материалов и примеры использованных материалов приведены на рис. 5.1. Рис. 5.1. Примеры используемых материалов 11 6. Анимация 6.1. Описание анимации в сцене Анимация в сцене заключается в следующем: танк перемещается по прямой, а камера совершает облет вокруг него по витку спирали. Движение танка подразумевает соответствующие изменения положения гусеничных траков, вращение катков и продольную раскачку корпуса. Кроме того, раскачивается антенна на башне. Объект камеры должен двигаться по заданному сплайну на достаточном расстоянии от танка, а её цель (Target) может незначительно перемещаться в пределах танка для задания лучшего ракурса. 6.2. Настройка параметров Для анимации гусениц был использован следующий алгоритм: 1. Создание объектной иерархии из траков (каждый следующий трак при помощи инструмента Select and Link прикрепляется к предыдущему). 2. Установка Spline IK Solver для выстраивания траков вдоль сплайна, показывающего контур гусеницы и выставления контроллера перемещения вдоль пути (Path Constraint), а также объектов-помощников для модификации этого пути. 3. Использование Float Script контроллера для вращения катков, чтобы связать угловую меру этого вращения с процентом от длины сплайна, по которому перемещаются гусеничные траки. В виду недостатка времени для полноценной оснастки танка, которая позволила бы связать его перемещение с соответствующим изменением положения гусеничных траков, был использован прием «со сменой системы отсчета»: вместо анимации перемещения танка, я анимировал его окружение: все окружающие объекты (кроме поверхности земли и солнца, по понятным причинам) за время анимации смещаются против направления движения танка на расстояние, равное длине сплайна гусениц, умноженной на процент перемещения траков по ней. Таким образом достигается полная зрительная иллюзия движения самого танка. Объект камеры анимирован через выставление привязки к пути – Path Constraint. Путь представляет из себя виток спирали с рядом гибких настроек. Цель камеры в процессе анимации незначительно смещается вдоль прямой движения танка для уточнения ракурса. Длина анимации равна 240 кадрам в системе NTSC. Большинство ключевых кадров анимированных объектов попадают на начальный и конечный – кадры с номерами 0 и 240. Раскачивание корпуса устанавливается в кадрах 0, 60, 120, 180 и 240. Анимация антенны (путем изменения параметров модификатора Bend) имеет около десяти ключевых кадров в этом же диапазоне. Цель камеры имеет КК в кадрах 0, 60, 120 и 240. Видеоролик Tank.mp4, полученный в результате работы, прилагается к отчету. 12 7. Заключение Выполненная работа потребовала существенных временных затрат, связанных как с изучением большого объема дополнительных материалов, так и с кропотливым трудом над моделью. Имея некоторый опыт работы в среде 3DS Max, я открыл для себя кривые и поверхности NURBS, язык MAX Script, научился работать с контроллерами анимации и настраивать параметры отражений для материалов VRay. В процессе создания гусениц возникла проблема с перекручиванием их вдоль сплайна: флаг, которой должен был отвечать за сохранение правильной ориентации траков, ни на что не влиял. Эту проблему удалось решить при помощи «посредников»: вместо траков вдоль сплайна выстраивались объекты Dummy, к которым уже были привязаны сами траки. Следует отметить, что созданные таким образом гусеницы не составляют действительно замкнутую систему – изменение положения опорных вершин сплайна гусеницы возможно лишь на небольшие значения, иначе между первым и последним траками возникает разрыв, что создает очень большие трудности при попытке воссоздать движение танка по неровной поверхности. Полученная система объектов, реализующая анимацию гусениц, не позволяет воссоздать сложные движения танка и тем более реакцию на выстрел из основного орудия. Для этих целей, однако, существуют специализированные продукты-расширения для 3DS Max. В заключение хотелось бы отметить, что проект, созданный в рамках данной курсовой работы, может получить свое дальнейшее развитие: создание полноценной оснастки танка, его окружения, систем частиц, а также заключительная постобработка – после прохождения всех этих стадий созданная модель займет почетное место в моем портфолио. 13