...Среда, 25.12.2024, 20:14



Приветствую Вас Гость | RSS
Главная
[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Делаем Модель С Нуля Пе-2
МатросДата: Четверг, 31.12.2009, 08:23 | Сообщение # 1
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Отвечаю на многочисленные просьбы описать процесс создания самолета с нуля. Конечно этот процесс уже много раз обсуждался и существуют замечательные туториалы. Но хочется свой, который можно обсуждать, дополнять, исправлять.

Итак, делаем модель. Пе-2. Имеем чертеж, пару десятков фотографий и 3DSMax-7. План создания: сначала делаем для ФС2004, затем переведем в ФСХ.
Начинаем.

Первым делом надо обустроить рабочее место. Запускаем Макс. Cold & Dark 3DSMax7.

Предполагается, что базовые техники работы с Максом читателю известны. Если нет - читайте хелп самого Макса, там все очень внятно написано с картинками.
У меня широкоформатный экран - это очень удобно, так как справа можно разместить параллельно две панели настроек (достаточно потянуть за край панели влево - и она раздвоится). Некоторые часто используемые команды я вывел в кнопки на тулбар - UV-mapping, Unwrap-UVW, Symmetry, ... На манер ФСДС, присвоил клавише "М" функцию move, "R" - rotate, "S" - scale. Еще я люблю работать с одним экраном а не с четырьмя проекциями, чтобы убрать проекции, нажать на кнопочку снизу справа (показано стрелкой на скрине)


Привет всем, кто из Ярославля!

Сообщение отредактировал Матрос - Четверг, 31.12.2009, 08:24
 
МатросДата: Четверг, 31.12.2009, 08:37 | Сообщение # 2
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Конвертируем плоскость в Editable Poly :

Вообще у меня привычка - все переводить в Editable Poly. Еще одна привычка - это каждому надо усвоить - делать для каждой новой детали Reset Pivot, Reset Scale на панельке пивотов. Если по какой-то причине у детали окажется scale factor не равный 1, то почти наверняка либо сама деталь либо кто-нибудь в ее иерархии вылезет искаженным в симе да и вообще будет масса неприятных сюрпризов. Так что ресет скейл постоянно, лучше перестраховаться чем потом разгребать последствия.

Итак, конвертировали плоскость в полигон, теперь начинается нарезка. Заходим в subobject level polygone, выбираем тул Cut и вырезаем из чертежа все что нам может понадобиться


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:39 | Сообщение # 3
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Если присмотреться, то на чертеже есть два масштаба (видны две линейки снизу). Выбираем куски соответствующие одному масштабу и отрезаем их (Detach) от чертежа
Теперь надо изменить размер чертежа чтобы он соответствовал реальному размеру самолета. Замеряем длину шкалы. На ней 5 метров, на чертеже выходит 0.831м. Значит надо увеличить чертеж в 5/0.831=6.01 раза. Хоть чертеж и не входит в состав модели, масштабировать его будем "как надо" - то есть не изменять scale у самой детали, а зайти в subobject, например в points, выбрать все точки - и масштабировать их. При этом у пивот-поинта не появится никаких левых скейлов. Выбираем все точки нашего чертежа, нажимаем на кнопочку relative снизу и вводим масштаб (в процентах) : х=601, y=601, z=601 (хоть это плоскость, одна из размерностей у нас равна нулю, неважно какая).


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:41 | Сообщение # 4
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Получили чертеж правильного размера. Проделываем ту же операцию с куском чертежа другого масштаба.

Теперь выбираем по куску и отсоединяем его от детали чертежа. Цель - получить все кусочки отдельно. Делаем Detach как и раньше
Оторвемся наконец от плоскости, выйдем в пространство ! Куски чертежей поворачиваем в нужном направлении, совмещаем (и убеждаемся что какой бы ни был хороший чертеж, маленькие несоответствия между правой/левой и нижней/верхней частями имеются).

Те куски чертежей которые нам сейчас не нужны можно спрятать. Для этого селекционируем их, жмем на кнопоку Layers на тулбаре, затем New Layer - появляется новый слой (как в фотошопе), детальки в него уже добавлены. Кликаем на черную маску - слой становится невидимым. Техника слоев нам еще не раз пригодится, запомните ее


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:43 | Сообщение # 5
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети

Возвращаемся в главный слой, продолжаем работу. Наша задача сейчас - расставить сечения вдоль фюзеляжа, там где есть метки А-А, Б-Б, и т.д. Двигаем сечения, подгоняем под чертеж, вроде все сходится


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:44 | Сообщение # 6
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Теперь настало время делать фюзеляж. Будем делать методом вытягивания. Начнем например с хвоста. Создаем цилиндр который будет заготовкой сопла, подгоняем его чтобы соответствовал сечению.

Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:45 | Сообщение # 7
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Конвертируем в Editable Poly, удаляем оба торца. Получили "ноль". Вот и выходит что делаем модель "с нуля", как я и говорил smile


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:46 | Сообщение # 8
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Удаляем также несколько полигонов из внутренней части - там где сопла соединяются между собой. Двигаем точку за точкой чтобы совместить деталь с чертежом. Теперь наша деталька соответствует сечению.
Подогнав один край, выбираем точки другого края и тянем их к следующему сечению


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:46 | Сообщение # 9
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Как видно точки придется двигать, и немало.
Подвинули, теперь все хорошо.


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:48 | Сообщение # 10
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Следующий шаг - главный элемент техники вытягивания. Заходим в subobject face (грань), выбираем грани которые будем вытягивать, жмем на Shift и двигаем их вдоль оси Y. Чудеса - создатся новые грани. Тянем их до следующего сечения


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:49 | Сообщение # 11
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Снова подгоняем точки, вытягиваем очередную серию граней и так далее... По ходу дела следим за гладкостью поверхности. Экономим где возможно - двигая точки совмещаем несколько из них, жмем Weld. Следим чтобы было грани были часто но не слишком. Округлость боков гораздо меньше заметна в центре фюзеляжа чем на краях. От 28 граней на соплах довольно быстро перешли к 22 граням.

В какой-то момент оказывается что граней нам не хватает. Не беда, их можно добавить. Выбираем грань, жмем Insert Vertex, кликаем туда где хотим вставить точку. Можно также разрезать полигон на котором хотим добавить граней.


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:51 | Сообщение # 12
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Дырке потом придадим нужную форму (клиновидную) и расположим ее края в одной плоскости. Пока что дополним недостающие грани на фюзеляже под заборником (как всегда вытягиванием, теперь не вдоль фюзеляжа и поперек), подгоняем точки к сечению. Заметьте, граней теперь осталось 15, что в общем совсем неплохо - на носу их будет 15*2=30.

Закончив вытягивание получаем фюзеляж. Хмм, смотрится довольно хреново
Теперь наша задача - сгладить фюзеляж в продольном плане. Это достигается путем добавления новых сечений. Выделяем полигоны фюзеляжа (все), жмем на кнопку Slice Plane, подгоняем режущую плоскость и нажимая на Slice добавляем сечения

Само собой, там где сильно закругляется добавляем побольше, там где все прямо - поменьше. Я сконцентрировал новые секции в основном в районе носика, заборников и кормы
Теперь начинается долгий, трудоемкий и ответственный процесс подгонки новых секций под чертеж. Следите за тем, чтобы не изменять секции по которым вытягивался фюзеляж.
Очень важно вертеть фюзеляж и смотреть на него со всех сторон. Подгонять надо поточечно так чтобы сгладить все выступающие вершины, там приподнять, там подвинуть, сравнивать с фотками. Короче - полное творчество. Вот, после часа работы что получилось
На сегодня все. Продолжим в том же духе в ближайшем будущем


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:51 | Сообщение # 13
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Хотелось бы чтобы этот топик был 100% полезным, поэтому просьба - если у вас есть что-то добавить по технике моделирования то пожалуйста. Если у вас есть вопрос по максу который вы считаете может возникнуть у многих (как например вопрос о разрешении битмапа) - то тоже пожалуйста. Для всех остальных вопросов и комментариев есть весь остальной форум.

В этом туториале я планирую (не значит что реализую):
- создание визуальной модели
- маппинг
- анимация
- немного кастомной анимации

Serhio, не мог бы ты мне дать модераторские полномочия только на этот топик ?


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:52 | Сообщение # 14
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Приступим к изготовлению кабины.
Можно поступить также как с фюзеляжем - создать цилиндр, конвертнуть его в Editable Poly, и т.д... Но я человек ленивый. Поступлю проще. Беру выделяю несколько полигонов на фюзеляже (1), затем нажимаю на Shift и двигаю селекцию вверх. Создается копия полигонов (2), при этом макс спрашивает куда эту копию деть - оставить в составе детали или сохранить как новую деталь. Выбираем новую (3). Не забыть сделать ресет пивота, скейлов и т.д.


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:52 | Сообщение # 15
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Далее поступаем как и раньше - вытягиваем грани

Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:52 | Сообщение # 16
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Используем Slice Plane (а также иногда и Quick Slice), добавляем граней для закругленности, двигаем точки... Немножко можно подвинуть и точки на фюзеляже - чтобы получить плавную и правильной формы линию стыка фюзеля и кабины.
Чего-то в кабине не хватает... Ах да - окошек. Поехали резать окошки. Делается это элементарно - залазим в режим полигонов и с помощью Cut рисуем линию окошек в проекции следуя чертежу


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:53 | Сообщение # 17
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
конечно это теория, на практике все получается не так гладко, но принцип именно такой. Можно только удивляться как ловко макс вычисляет сложные геометрические формулы расчитывающие разрезы. Правда не всегда ему удается правильно стриангулировать полученные полигоны. Результат - бывают левые тени. После нарезки окон надо обязательно зайти в режим полигонов, нажать Edit Triangulation и проконтролировать все ли треугольнички правильные. Надо добиваться чтобы они были не слишком вытянутые

Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:55 | Сообщение # 18
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
После обработки кувалдой и напильником получаем следующую картину (окна выделены красным, но пока не отделены)
Прикрепления: 2226346.jpg (2.8 Kb)


Привет всем, кто из Ярославля!

Сообщение отредактировал Матрос - Четверг, 31.12.2009, 08:55
 
МатросДата: Четверг, 31.12.2009, 08:57 | Сообщение # 19
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Отсоединяем стекла в отдельную деталь, назовем их как-нибудь пооригинальней, например "stekla". Создаем пару материалов - для фюзеляжа и для стекол. Пока без текстур, хотя если работать эффективно то уже на этом этапе можно начинать текстурить. Но мне хочется сначала доделать кабину.
Создаем материал. Придадим ему небольшой блеск, чем темнее цвет Specular, тем менее заметен будет блик. На скрине - параметры для стекла. Drag-and-drop материал фюзеля на фюзель и кабину, материал стекла - на стекла. Теперь они прозрачные.


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 08:59 | Сообщение # 20
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Прежде чем придавать объем кромкам стекол, вырежем входные люки
Отсоединив люки, называем их например door_cabin и door_cabin_dva. Откуда такие названия ? С потолка.
Нам хотелось бы чтобы люки в симе открывались, другими словами надо их анимировать.

В ФС2004 анимация может быть двух типов - стандартная и фреймовая. Имеется список всех анимаций, каждой из которых присвоено имя. Если название детали начинается на одно из этих имен, то детали присваивается соответствующая анимация. Список этих имен имеется в СДК.
Стандартная анимация - это значит достаточно назвать деталь как надо - и она будет автоматически анимирована в симе. Например c_tire в симе всегда будет крутиться вдоль оси Х как переднее колесо. Со стандартными анимациями имя детали должно точно соответствовать имени анимации (а не просто иметь общее начало). Деталь c_tire.01 уже не будет крутиться. Если скажем у вас три пары левых колес, то все эти колеса должны иметь одно и то же имя. Недостаток стандартной анимации в том, что ее невозможно контролировать. Достоинство стандартной анимации кроме простоты - это возможность создавать плавные кастомные анимации (плавные приборы например), но это уже выходит за рамки этого туториала, хотя технически совсем несложно.
Фреймовая (кадровая) анимация гораздо гибче. Движение расписано на кадры, как в кино. Моделлер задает определенные положения детали в разные моменты времени, а макс интерполирует движение между этими положениями. В СДК есть список всех симовских кадровых анимаций. Для каждой анимации дается имя и некоторые ключевые кадры. Например передняя стойка должна называться c_gear и анимирована между кадрами 0 (запущена) - 100 (выпущена) и 200 (сжата). Соответственно также будут анимироваться и детали c_gear_stojka, c_gear_ammortizator, c_gear_rasporka и т.д, лишь бы у них были прописаны кадры.
Все симовские кадровые анимации прописаны в файле makemdl.parts.xml Это ХМЛ код задающий для каждой анимации номер кадра в зависимости от тех или иных условий. Синтаксис файла описан в СДК, да и посмотрев код можно догадаться как там все устроено. Надо только не забывать что все вычисления там производятся в стековой системе RPN (как на калькуляторе Мк-54 smile ). Главный интерес разбираться в ХМЛ коде - это возможность добавить свой собственный код со своими собственно задаными анимациями. Это и есть то что называют кастомная анимация. По большому счету для хорошей модели практически все анимации должны быть кастомными. Это позволяет иметь полный контроль над ее анимациями, в т.ч. менять условия анимаций не трогая модель.
Именно поэтому я и назвал люки нестандартным именем door_cabin. Сейчас мы добавим в файл makemdl.parts.xml определение анимации для этих люков. На первых порах можно просто привязать люки к стандартному выходу, тому что открывается Shift+E. Добавляем строки:
<part>
<name>door_cabin</name>
<animation>
<parameter>
<code>
(A:EXIT OPEN:0, percent)
</code>
</parameter>
</animation>
</part>

здесь <part> задает блок, <name> - имя анимации. В тэгах <code> - значение стандартной переменной (A:EXIT OPEN:1, percent) которая выдает "открытость" двери номер один. Когда дверь закрыта, переменная равна нулю, когда открыта - стам. Следовательно нам надо анимировать люки подобным образом. Кадр 0 - закрыты, кадр 100 - открыты.

Сначала надо правильно поставить пивот. Каждому люку ставим пивот в ту точку вокруг которой он будет открываться
Оставим оба люка селекционироваными, выходим из регулировки пивотов и жмем синзу на кнопку AutoKey. Счетчик кадров снизу становится бордовым. Двигаем слайдер на кадр 100 и поворачиваем люки скажем на 60°. При этом на кадре 100 и на кадре 0 появляются зеленые метки (зеленая метка = ротация, красная = движение, если есть другие цвета то надо от них избавляться). Это значит что макс установил кадры - люки открытые на 60° в кадре 100 и закрытые (0°) - в кадре 0. Отжимаем AutoKey. Люки анимированы.


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 09:00 | Сообщение # 21
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Двигая слайдер туда-сюда видим как люки открываются и закрываются. Здорово.
Было бы еще здоровее если бы стекла люков двигались вместе с люками... Для этого их надо прилинковать. Сначала отсоединяем от детали "стекла" те стекла которые идут на передний люк (+ reset scale, reset pivot etc... больше не буду напоминать - должно стать инстинктом). Затем отсоединяем стекла для заднего люка.

Выбираем Link Tool на тулбаре. Селекционируем скажем стекла переднего люка. Drag-and-drop на передний люк, он мигнет. Готово. Запомните эту процедуру - она понадобится нам еще сотни раз. Та же самая операция с задними стеклами.

Прикрепления: 1059512.jpg (70.5 Kb)


Привет всем, кто из Ярославля!

Сообщение отредактировал Матрос - Четверг, 31.12.2009, 09:00
 
МатросДата: Четверг, 31.12.2009, 09:00 | Сообщение # 22
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Проверяем, двигаем слайдер туда-сюда. Супер - стекла теперь прикреплены к люкам.

Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 09:01 | Сообщение # 23
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Теперь осталось добавить оплетке кабины толщину.

Для этого используем Shell Modifier, который можно найти в списке модификаторов. Выбираем кабину, применяем шелл модификатор, подгоняем параметры (outer = 0, inner = 0.03, select inner faces, select border faces), получаем объемную кабину

Прикрепления: 6488545.jpg (82.2 Kb)


Привет всем, кто из Ярославля!

Сообщение отредактировал Матрос - Четверг, 31.12.2009, 09:01
 
МатросДата: Четверг, 31.12.2009, 09:02 | Сообщение # 24
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Разрушаем стек, переводим в Editable Poly, заходим в режим полигонов. Внутренность кабины и кромки уже селекционированы. Отделяем их от кабины. Многие полигоны на внутренней части не нужны. Я выделил на скрине все полигоны предназначенные к уничтожению
Проделываем ту же операцию с каждым люком. Линкуем внутренности люков к люкам. В фюзеляже прорезаем отверстие под кабину.
Пожалуй на сегодня все. Продолжение - в понедельник.


Привет всем, кто из Ярославля!
 
МатросДата: Четверг, 31.12.2009, 09:03 | Сообщение # 25
Генералиссимус
Группа: Персонал
Сообщений: 503
Награды: 0
Репутация: 287
Замечания: 0%
Статус: Не в сети
Сделаем теперь хвост, а потом возьмемся за текстуры

Делаем как всегда - вытягиванием граней.

Прикрепленное изображение

на закруглениях добавляем грани (Polygon - Cut) - причем только сам край. Таким образом контур получается закругленным, но количество полигонов удается сохранить в разумных пределах.

Прикрепленное изображение

Сглаживаем, симметрим. Любуемся


Привет всем, кто из Ярославля!
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:


Copyright MyCorp © 2024
Бесплатный конструктор сайтов - uCoz