Моделирование низкополигонного кенгуру
Моделируем по фотографии загруженной из Интернета.
Я буду моделировать и попутно записывать шаг за шагом, как это делаю.
P.S. результат находися тут :
kanagroo_step_by_step.zip.
В разных мешах - разные этапы создания модели. Открывайте в редакторе,
читайте текст и смотрите как там чего создавалось.
Загружаем из Интернета фотку кенгуру.
Ракурс должен быть в профиль. Иначе моделировать и текстурировать будет
сложно.
Открываем её в Фотошопе,
отрезаем
всю ненужную окружающую зелень и масштабируем так, чтобы размеры
сторон были кратны
степеням двойки, то есть
2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4086.
Потому, что OpenGL работает именно с такими размерами текстур, а если их
размеры отличны, то они будут
масштабированы
автоматически, что отнимет
некоторое время.
Получилось вот что :
Размер 512х512.
Он слегка увеличен по сравнению с оригинальной текстурой, чтобы пока не терять
качество. А в дальнейшем текстуру можно будет
масштабировать
и в меньшую сторону.
Начинаем моделирование.
-
Выполняем рутинные начальные действия:
-
Создаём новую модель.
File->New.
-
Создаём один Mesh
Model->Mesh->Insert.
Кликаем по нему, чтобы выбрать.
-
Создаём один фэйс
Model->Face->Insert.
Выбираем его.
-
Создаём одну материю.
Material->Insert.
Выбираем её.
-
Грузим текстуру кенгуру приведённую выше,
Material->Load Texture.
Выбираем её.
-
Ставим галочку,
Model->Texture Enable,
чтобы текстура включилась.
-
Выбираем эту текстуру в созданной фэйс группе.
Model-Face->Material.
-
Создаём холст на котором будем ставить точки модели.
-
Primitive->Type->Plane.
-
Ставим ему размеры Widht->2 и Height->2.
-
Удобную ротацию Rotate->X->90.
-
Масштаб, ну скажем Scale->X->10 Scale->Y->10.
Это нужно потому, что если масштаб будет слишком маленьким ( или слишком
большим ), то
работать будет неудобно.
-
И создаём Create.
Получился равнобедренный четырёхугольник с кенгуру. Состоящий из двух
треугольников.
Если получилось плохо, то можно нажать Ctrl+Z, чтобы сделать Undo. Поменять
параметры и создать холст заново.
-
Полученный холст будет автоматически отекстурен выбранной текстурой, но если
этого не произошло, или если нам не нравится, как он отекстурен, и мы хотим
это как то изменить, то это можно сделать так :
-
Выделяем все треугольники. Model->Triangles->Select All.
-
Идём в редактор текстуры - F4
-
Ставим рамку Model->Rect на нужную область. Можно через окошки,
можно через опцию Model->Rect->Set on whole texture, можно
средней кнопкой мыши с нажатой клавишей Shift.
-
Нажимаем на Model->Rect->Reposit triangles.
Появится список способов текстурирования.
Выбираем скажем Y Up, жмём Okey и нажимаем на F4, чтобы
вернуться в редактор модели и посмотреть что получилось. Если не нравится.
то позиционируем точки по-другому, и так пока результат не понравится.
-
Ставим точки по контуру кенгуру.
-
Включаем установку точек кнопкой F3.
-
Нажимаем Shift и начинаем кликать по контуру кенгуру, стараясь чтобы точки
оказывались у него внутри.
-
Если точка поставлена не так, то можно вернуться нажав Undo
и поставить её заново. Либо можно подвинуть её мышью, удерживая
клавишу Ctrl. При это, чтобы точка не выходила из заданной плоскости, можно
заблокировать это через Model->Mouse->Y.
-
Расставив точки по контуру, делаем второй контур внутри первого. Это нужно
для того, чтобы скажем талия кенгуру была не прямоугольной, а в форме
восьмиугольника.
Точки второго контура желательно располагать рядом с точками первого.
-
В области хвоста и лап второй контур может слиться в линию. При желании
можно сделать и третий и четвёртый контур, но для низкополигонной модели
хватит и двух.
-
Создаём по созданным точкам поверхность.
-
Выделяем все точки Model->Poins-Select All. Снимаем выделение
с точек холста, чтобы не создавать лишних треугольников.
-
Нажимаем Model->Points-Delaunay. На вопрос о плоскости в которой
делать Delaunay, проще всего выбрать "на камеру", при этом камеру надо
заранее расположить так, чтобы все точки располагались в плоскости экрана.
В результате по выделенным точкам должны получиться треугольники.
Их сетку можно посмотреть нажав F5.
-
Выделяем все треугольники и отекстуриваем их как было описано в пункте 3.
-
Дальше холст становится уже не особо нужным, поэтому либо удаляем его, а
лучше создаём ещё одну фэйсгруппу Model->Face->Insert.
Переносим холст туда Model->Triangles->Move selected triangles.
И снимаем с фэйс-группы выделение, чтобы он не показывался.
-
Из полученных треугольников будет много лишних. Между лапами, между лапами и
хвостом, и т. д. и т. п. Мы их все выделяем и удаляем. Оставляя только
контур кенгуру.
-
Второй контур кенгуру может получиться не везде. То есть в некоторых местах
грани треугольников будут идти не вдоль второго контура, а поперёк. Тогда
мы выделяем такие треугольники смежными парами, и нажимаем на
Model->Triangles->Turn Edge, что будет поворачивать их общую грань.
Таким образом надо добиться чёткого второго контура.
-
И на этом работу с плоскостью можно считать законченной.
-
Создаём кенгуру объём.
-
Выделяем все треугольники.
Model->Triangles->Select All
-
Клонируем нажатием
Model->Triangles->Clone.
-
Поворачиваем нормали, чтобы создать вторую сторону
Model->Triangles->Invert Normals.
-
Открепляем точки
Model->Triangles->Extract poins.
-
Делаем объём
Model->Trianlges->Build a contour.
Сдвиг указываем по оси Y. Расстояние - надо подобрать, нажимая Undo,
чтобы кенгуру получилось не слишком толстым. Возможно полученный контур
будет несколько зеленоват - но это мы уберём потом в редакторе
текстуры.
-
Кенгуру стало объёмным, но передние и задние лапы слиты воедино. Поэтому
удаляем все треугольники между лапами, и повторяем предыдущий пункт
но уже только по отношению к каждой из лап таким образом делая каждую из
них объёмной.
-
Хоть кенгуру и стало объёмным, но оно остаётся квадратным. Тут то нам и
пригодиться второй контур.
-
Выделяем допустим верхние точки холки ( точки первого контура ). Выделяем
так, чтобы левые и правые точки были выделены симметрично. Чтобы было видно
какие там выделены, а какие нет, можно пользоваться кнопкой F5
-
Ставим мышь на окошко Model->Points->All->Scale->Y и крутим
ролик
туда-сюда при этом точки начинают сходиться и холка кенгуру приобретает
покатый вид.
Преимущество такого подхода в том, что точки при этом остаются строго
симметричными, никда не сдвигаются и не перекашиваются.
-
Действуя подобным образом делаем хвост кенгуру округлым ( сглаженным ).
После хвоста морду, грудку, лапы и животик.
Как при этом добиться реалистичности - это всецело зависит от таланта
модельера. Просто надо представлять себе как моделируемый объект выглядит,
и стараться перенести это на модель.
-
Разделяем уши и заделываем дыры.
-
Выделяем треугольники между ними, и удаляем их.
-
Выделяем по три точки в образовавшейся дырке, и нажимаем на
Model->Poins->Build a triangle. В результате будут создаваться
треугольники по этим трём выделенным точкам. Заделываем дыру, и получаем
верх головы кенгуру.
-
Всё тоже самое, надо проделать и с дырками между лапами кенгуру, которые
возможно остались незаделанными.
-
Теперь хорошо бы избавиться от лишней зелени по периметру кенгуру
-
Выделяем мышью зеленоватые треугольники модели и переключаемся в редактор
текстуры F4.
-
Делаем деселект всем выделенным текстурным координатам.
Model->Texture coord->Deselect.
-
Выделяем текстурные координаты выделенных треугольников
Model->Triangles->Select texture coordinates of selected tirangles.
Точки выделенных треугольников в редакторе подсвечиваются красным.
-
Двигаем точки "внутрь" кенгуру, добиваясь отсутствия зелени. При этом
периодически переключаемся в редактор модели F4, и смотрим на
результат.
-
Кенгуру получилось полосатеньким. Конечно, хорошо бы перерисовать текстурку,
чтобы контур можно было отекстурить нормально ( не полосками ). Но во-первых
это уже урок по Фотошопу, а во-вторых немного лень. Может быть позже.
Результат:
точек | 241 |
треугольников | 462 |
текстурных координат | 98 |
размер ( байт ) | 6792 |
загрузить | kanagroo.zip |
Модель шаг за шагом :
kanagroo_step_by_step.zip.
В разных мешах - разные этапы создания модели.
© LODka3D 2006