XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Sergey
Старейший
offline
Опыт: 44,363
Активность:
Обучение моделлингу
IceStorm:
--------------------------------------------------------------------------------
Вот братва, тут я выкладываю всё что Я знаю относительно 3д-модельирования, но офицально я им уже давно не занимаюсь, но всё же напишу что знаю....
-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Уровни детализации (LOD - Level Of Detail).


Что это такое.

Смысл LOD, вытекает из его названия. Это не что иное, как несколько вариантов одного объекта с различными степенями детализации, которые переключаются в зависимости от расстояния объекта до виртуальной камеры. Нет смысла обсчитывать сложнейший объект, если он будет виден на экране размером в два пиксела. Их применяют для того, чтобы уменьшить загрузку ресурсов компьютера, будь то рендеринг или реалтайм вывод на экран. Поэтому LOD'ы широко используются не только в кино/видео производстве, но и в компьютерных играх.

Как их делать.

Существуют несколько различных путей создания LOD'ов. Одними из наиболее продвинутых способов является моделирование с помощью нурбсов или патчей безье. С помощью них легко варьировать разрешение обьекта, но это пока удел кинопроизводства с очень сложными формами.

В game-индустрии основой производства трехмерных объектов является полигональное моделирование. И здесь возникает задача быстрого и эффективного создания полигональных LOD'ов с сохраниением общей формы и, что особенно важно, текстурных координат. Кому охота каждый раз перенатягивать текстуры на каждый новый LOD?

При создании игр рекомендуется, чтобы каждый последующий LOD имел в среднем в 1,5 - 2 раза меньшее количество полигонов.
Старый 02.06.2003, 09:18
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

Как их делать в MAX'е.


3DSMax - пожалуй самый широкоиспользуемый пакет для создания игровой графики. Для 3-й версии MAX'а существует неплохой плагин polychop. Это модификатор, который позволяет уменьшать детализацию без потери текстурных координат. Просто задайте уровень детализации в процентах. Также важным параметром является сохранение неизменного положения выделенных вершин(lockdown selected verts). Для этого нужно просто выделить нужные вершины до применения модификатора.



4-й MAX имеет встроенный модификатор Multires. Он схож по функциональности с Polychop'ом, но более продвинутый. В нем, кроме процентного отношения, уже можно задавать количество вершин.

Также Multires позволяет сваривать вершины(Vertex Merging), принадлежащие разным элементам обьекта, т.е. когда в сетке имеются разрывы. Polychop этого делать не умеет.



Неплохим средством в помощь гейм-моделеру является утилита Polygon Counter.

С ее помощью вы всегда будете знать сколько полигонов содержится в сцене или в выделенном обьекте.

Переключение LOD'ов.



Обычно для тестирования LOD'ы экспортируются в движок игры. Но для 3DSMAX'а существует полезный (слегка нами модифицированный) скрипт LOD_Tester (работает как в 3-й так и в 4-й версиях MAX'а). Он позволяет переключать LOD'ы непосредственно во вьюпорте. Это подходит для тех случаев, когда под рукой нет игрового движка.

Здесь все просто. Обьекты заносятся в список LOD List, для них указываются зоны видимости. Затем нужно создать и активизировать камеру. И все, теперь с помощью ползунка Cam Dist вы можете тестировать свое творение. В случае неудачи жмите кнопку Usage - это пошаговое руководство использования данного скрипта

-=-=-=-=-=-=-=-=-=-=-=

3D Studio MAX: Группы сглаживания


Моделер в 3D Studio MAX, особенно занимающийся низко-полигональным моделированием, должен чётко представлять себе, что такое группы сглаживания (Smoothing Groups). Понимание и использование групп сглаживания - есть большой шаг новичка моделера к профессионалу.

Группы сглаживания - это свойство, которое имеет каждый треугольник (face) любой полигональной модели в 3D Studio MAX. Знакомство с группами сглаживания лучше всего провести на примере Editable Mesh.

Создайте любой примитив, например, Box, и преобразуйте его в Editable Mesh. В закладке Modify выберите любой подобъект поверхности (Face, Polygon или Element), например, Face. При этом в свиток добавится дополнительная панель свойств поверхности (Surface Properties). Здесь нас интересует раздел, называющийся Smoothing Groups. Этот раздел как раз и работает с группами сглаживания.



С помощью кнопок с числами от 1 до 32 мы можем строить различные комбинации группы сглаживания для выделенных треугольников редактируемой полигональной модели.

Выделяя различные треугольники на сторонах Box'а, можно заметить, что каждая сторона имеет свою группу сглаживания. Кнопки на панели, соответствующие битам группы сглаживания, находятся в нажатом состоянии.

Почему именно из 32-х значений строятся группы сглаживания в 3D Studio MAX?

Ответ прост. Для хранения информации об одном совпадении группы сглаживания достаточно одного бита. Для комбинации таких совпадений используется одно 32-х битовое число (DWORD). Кнопка на панели, например, с номером 18 отвечает за 18-й бит этого числа. Больше никаких ритуальных соображений по этому поводу не существует.

Отсюда можно заметить, что сами числа на кнопках ничего конкретного для моделера не символизируют, используются они только для ориентира.
Старый 02.06.2003, 09:19
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

В чём же смысл групп сглаживания?



Рассмотрим изображение трёх сфер. Эти сферы различаются только группами сглаживания для своих треугольников, всё остальное, например, материал и количество полигонов, у них одинаковое. Как же можно достичь такого эффекта?

Рассмотрим два треугольника, не лежащих в одной плоскости, то есть нормали у этих треугольников не совпадают. Но во время просчёта нам часто необходимо, чтобы не было видно чёткой границы между этими двумя треугольниками. То есть во время закрашивания, произошло сглаживание. Так вот, это сглаживание происходит между треугольниками с общими вершинами, у которых хотя бы один бит в группах сглаживания совпадает.

Посмотрим ещё раз на рисунок с тремя сферами. Первая сфера здесь во всех полигонах имеет одинаковую группу сглаживания с выделенным общим (любым) битом, у второй - все полигоны имеют пустую группу сглаживания, то есть не выделен ни один бит, у третьей - треугольники в каждом слое имеют свою уникальную группу сглаживания, не совпадающую ни в одном бите с группами сглаживания в треугольниках соседних слоёв.



Иногда для моделера возникает задача, как бы сделать видимое разделение между частями полигональной модели на их стыке, то есть по рёбрам. Модель на рисунке является одной цельной замкнутой полигональной моделью. Все видимые разделения на подобъекты сделаны за счёт геометрии и групп сглаживания.

Работа с группами сглаживания.

С кнопками с числами в разделе Smoothing Groups немного разобрались. Можно добавить только, что если вы выделяете несколько полигонов, у одних из которых проставлены биты в группах, а у других соответствующие биты не проставлены, то кнопки с этими битами будут пустыми, без чисел.

Кнопка Select By SG позволяет выделять все треугольники, с указанными битами групп сглаживания.

Кнопка Clear All выключает все биты групп сглаживания для выделенных треугольников.

Кнопка Auto Smooth работает с выставляемым числом, находящимся справа от кнопки. Это число показывает отклонение нормалей треугольников в градусах. При нажатии на эту кнопку все выделенные треугольники, у которых отклонение нормалей меньше указанного числа, станут "сглаженными", за счёт выставления соответствующих групп сглаживания.

Где ещё встречаются группы сглаживания.

Модификатор Edit Mesh. Аналогично EditableMesh.

Модификатор MeshSmooth. В свитке Parameters есть раздел Surface Parameters.

Если выделить только Smooth Result, что происходит по умолчанию, то полученный объект полностью будет сглажен по группам сглаживания. Убрав этот флаг, мы можем оставить информацию о группах сглаживания с предыдущих уровней модификаторов, что скажется так же на гладкой закраске модели. Так же можно разделить сглаживание, выставив Smoothing Group, что повлияет на форму результирующей модели, при нескольких итерациях деления сглаживаемой модели.

Модификатор Smooth.

Работает для выделенных треугольников с предыдущих уровней модификаторов. То есть эти треугольники могут быть выделены, например, в модификаторе Edit Mesh или модификатором Mesh Select. Что делает этот модификатор, можно понять по аналогии с EditableMesh.

Что можно добавить для разработчиков игр.

Достичь аналогичного эффекта сглаживания можно другим способом, когда все треугольники имеют одинаковую группу сглаживания. Видимость границ достигается путём дублирования точек. То есть два соседних треугольника не имеют общих точек, просто соответствующие точки имеют одинаковые координаты. Кстати, именно такие дублированные точки должны попадать в игровой движок, различаясь только своими нормалями. Но поскольку моделеру неудобно самому разделять эти точки, этим должна заниматься программа экспорта из 3D Studio MAX, пользуясь данными из групп сглаживания.

-=-=-=-=-=-=-=-=-=-=-=-=
Старый 02.06.2003, 09:21
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

"Говорящие головы." лицевая анимация в проекте GETAWAY.



Часть 1

В этой статье я собираюсь описать Talking Heads (Говорящие головы) - нашу систему анимации лица, которая использует анализ речи и скелетную систему для того, чтобы уменьшить затраты труда, применяемые в таких больших игровых проектах. SCEE's Team Soho располагается в центре Лондона и окружена большим количеством постпродакшн-студий.

Getaway - один из самых значительных проектов SCEE. Этот проект впитал в себя темноту и мрачную атмосферу криминального Лондона. Игрок может почувствовать себя и в роли профессионального преступника и в шкуре озлобленного детектива полиции, побыть одним из двух совершенно разных персонажей.

В проекте Getaway присутствует одно из самых больших окружений, когда-либо встречающихся в видеоиграх. Мы старательно воссоздали более чем 50 квадратных километров центра Лондона в фотореалистичном качестве. Игрок имеет возможность проехать по столице от Кенигского Дворца до Тауэра. Но игра включает в себя гораздо больше чем просто гонки. Игрок должен покинуть транспортное средство и проникнуть в здание для совершения преступных действий, таких как ограбление банка или перестрелка.

Таким образом, для упрощения дальнейшей работы, было решено создать "Говорящие Головы" - систему, которая должна была значительно уменьшить количество человеко-часов потраченных на утомительную синхронизацию губ с речью.

Обзор

Сперва нужно было решить, использовать обычную blend-shape (морфинг форм) анимацию или скелетную анимацию. Когда вы подсчитываете число фонем и эмоций, необходимых для создания правдоподобной анимации лица, вы вскоре осознаете, что blend-shape метод становится непрактичным. Один персонаж должен иметь минимум 6 эмоций, 16 фонем, и кучу лицевых движений, таких как моргание, дыхание и движение бровями. Blend-shape требует гигантских объемов моделирования, а так же больших объемов данных на выбранной вами игровой платформе.

Скелетная анимация тоже могла преподнести трудности. Каждый сустав, входящий в иерархию скелета, должен отвечать за определенную группу мышц на лице.

Информация об этом в интернете слишком неопределенна или слишком специализирована. Я не нашел ничего, что объяснило бы мне, как на самом деле возникает улыбка на лице. Единственной дорогой вперед была работа с зеркалом в руках и изучение своих собственных эмоций и выражений. Я так же изучал эмоции моих друзей, родственников, коллег по работе и людей в повседневной жизни.

Лепка Вашей Головы.

Только часть лица используется в большинстве выражений. Полностью лицо не задействуется. Область вокруг глаз, бровей и рта содержит впечатляющее число мускульных групп. Большинство из этих областей используются при создании выражения лица. Сначала мы взглянем на эти две области и соберем информацию о них. Хотя другие части лица двигаются (например, щеки во время улыбки), 80 процентов всех эмоций изображаются именно этими двумя областями.

Нейтральная позиция. Мы можем заметить изменения в лице человека, потому что мы представляем, когда лицо полностью расслаблено. Мы воспринимаем положения бровей и рта, и как широко раскрыты глаза. Эти элементы похожи в разных лицах. Таким образом, мы запросто можем определить расслаблено лицо или нет.

Это изменило метод, по которому мы создавали наши модели, добавляя больше деталей вокруг глаз и рта. Благодаря имитации мускульных колец, почерпнутых в книгах по анатомии, стало возможным большое движение лица в этих точках.

Пропорции лица - это ключ к построению качественной головы. Уясните их для себя - и вы сможете создавать реалистичную анимацию лица. Нарушение симметрии - это другая цель, которой следует стремиться при моделировании вашей головы. Не делайте половинку головы с последующим зеркальным отображением. Человеческая голова небезупречна.




Изучение лицевых пропорций Леонардом да Винчи.

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


Ширина носа в основании равна ширине глаза
Расстояние от бровей до основания носа контролируется нижней и верхней точками уха
Ширина рта эквивалентна расстоянию между зрачками глаз
Угол между верхней и нижней губами равен 7.5 градусов
Низ скул находится на той же высоте что и кончик носа

Все модели голов для проекта Getaway были сделаны на основе одной модели. Эта модель содержала корректное число полигонов, систему анимации и веса. Мы сканировали актеров, используя систему, созданную компанией Eyetronics, очень мощную и эффективную для сканирования. Решетка проецировалась на лицо, которое мы хотели отсканировать, и делались снимки. Эти снимки обрабатывались программой и конвертировались в 3D-mesh. Эти "меши" программно сшивались вместе и в результате мы получали прекрасную 3D-модель, сканируемого лица. В то же время создавались текстуры для этой модели.

Затем, оригинальная модель головы, содержащая корректное число полигонов и анимацию, морфировалась в форму отсканированной головы. Кости скелета пропорционально перемещались, чтобы компенсировать изменения в голове. Законченной считалась модель, соответствующая in-game требованиям, но выглядящая как актер, которого мы хотели видеть в игре.




Полигональная модель для высокого разрешения (1.500 полигонов)

Модели голов для проекта Getaway имели невероятный уровень детализации. Мы использовали 1500 полигонов на модель включающую язык, зубы, ресницы и волосы.

Скелет также содержал уровни детализации. Мы удаляли кости, когда персонаж был на достаточном отдалении от камеры. В конечном счете, оставляли только 3 кости, необходимых для поворота головы, для открывания рта - использовались челюсти.
Старый 02.06.2003, 09:22
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

СОЗДАНИЕ СКЕЛЕТА.

Иерархия скелета была создана, базируясь на материалах, изложенных выше. Две главные кости были контрольными: шея и голова. "Шея" - была основной костью, прикрепленной в свою очередь к основному скелету персонажа. Эта кость могла управляться либо constraints - "ограничителями", либо motion-capture данными. Это давало нам возможность осуществлять бесшовное взаимодействие, между головой и телом. Кость "Голова" контролировала бы небольшие движения головы: покачивание и кивание, случайные шевеления головы и позиции, принимаемые головой в определенных выражениях лица. Голова наклонялась вперед при выражении гнева, и опускалась, когда лицо было печально. Эта кость была предком всех остальных костей. Куда бы она ни двигалась, остальные кости следовали за ней. Другие кости, связанные с определенными мускульными группами, это:


Шесть костей, контролирующие лоб и брови
Три, контролирующие каждый глаз, одна для века и одна для самого глаза.
Две кости, по одной с каждой стороны носа
Две кости на щеки
Две на каждую челюсть
Три на язык
Четыре на контроль губ




Фронтальный и боковой виды системы лицевой анимации, показывающие скелетную иерархию.

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

ВЕСА.

Как мы назначали произвольную модель головы к этому скелету? Исходный skinning персонажа занял два полных дня тщательной работы над весами. Мы использовали Maya и Paint Weight Tool для достижения нашей цели.

Мы не собирались тратить столько времени на каждую голову. Поэтому мы написали скрипт на языке MEL, который мог копировать "веса" с одной модели на другую. Скрипт по существу сохранял веса вершин, используя два основных принципа: направление нормали вершины, и UV-координаты. Это позволило нам экспортировать "веса" с одной головы, и затем импортировать их в другую.

Чтобы это работало, мы должны были быть уверены, что все текстуры нашей головы были согласованы с особым неизменным шаблоном. Это позволило нам назначать определенную текстуру на любые головы. Также шаблон значительно облегчил создание текстур для голов.

ЭМОЦИИ И ЛИЦО.

Исследования показали, что людям присущи шесть универсальных эмоций: грусть, гнев, радость, страх, отвращение и удивление. Выражения других эмоций более неоднозначны. Такие состояния как боль, сонливость, страсть и физическое напряжение бывает трудно опознать. Таким образом, если вы хотите, чтобы эмоция вашего персонажа была полностью идентифицирована, вы должны подкрепить ее положением тела или анимацией персонажа. Застенчивость, например, изображается легкой улыбкой и потупленным взглядом. Но это может быть ошибочно истолковано как растерянность или самодовольство.

Эмоции стоят впритык друг к другу. Волнение - это меньшая степень от испуга. Презрение - это средняя степень отвращения, а суровость - средняя степень гнева. В основном, смешивание шести универсальных эмоций, или даже менее, позволяют воспроизвести все нюансы человеческого лица.
Старый 02.06.2003, 09:23
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

Часть 2

Эмоции и Система

Следующий шаг - создание эмоций. Какие эмоции должна включать система? Мы используем шесть универсальных эмоций, несколько физических эмоций, набор фонем и множество (туеву хучу) лицевых и головных движений. Система внутри Maya работает на трех Локаторах. Каждый Локатор контролирует различные установки ключей Set Driven Keys. Локатор в Maya - это нулевой объект, которому можно любые добавлять атрибуты, отвечающие за что-либо.

Первый Локатор контролирует выражения. Следующее из перечисленного является атрибутом Локатора: грусть, злость, радость, страх, отвращение, удивление, шок, растерянность, сонливость, боль, физическое напряжение и крик. Каждый атрибут имеет ряд значений от 0 до 10.

Скелет устанавливается в нейтральную позу, которой присваивается нулевое значение во всех атрибутах. Затем кости масштабируются, вращаются и перемещаются в какое-то выражение, например, "печаль". Используя Set Driven Key, этой позиции присваивается значение 5 атрибута "печали". Затем значение 10 - соответствующее "рыданию с открытым ртом". Это дает нам полный эмоциональный диапазон уныния. Таким образом, Maya может переходить от "нейтральной позы" к "печальной", а затем и к "рыдающей".






Ключи атрибута печали в значениях 0, 10, 15

Для каждого атрибута эмоций присваиваются несколько различных ключей, так как это было сделано выше. Эти эмоциональные атрибуты могут смешиваться вместе для достижения особого эффекта.

Результатом смеси "радости" и "печали" получается грустная улыбка, а смесь "злости" и "радости" дает нам качественный Злой оскал. Этот процесс является аддитивным, что значит, что смешивание эмоций сверх определенного значения начинает просто разрывать лицо. Хорошим правилом является такое - нельзя чтобы вся сумма вкладов атрибутов не превышала максимального значения для одного атрибута. У нас диапазон значений лежит между 0 и 10, поэтому мы стараемся не превышать значение общей смеси более 10. Если вы смешиваете три атрибута имеющих одинаковое значение, то каждый из них не должен быть больше чем 3.3. Есть некоторые атрибуты, которые могут быть смешаны и в большем значении, но их можно определить только методом проб и ошибок.

Фонемы.

"Фонема - это минимальная единица языка, звук, который мы слышим. Из фонем складываются слоги и слова". - Билл Флемминг, Даррис Доббс, Методы Анимации Лица, Мимика и Артикуляция.
В слове foot две буквы - "oo" - образуют один звук. Поэтому это слово можно представить как "f-uh-t".

Визуальные фонемы (visemes) - это формы рта и позиции языка, которые имеют место при произношении звука во время речи. Распространенный миф - то, что существуют только девять визуальных фонем, однако фактически их 16. Хотя некоторые могут быть очень похожими с виду, но язык все равно меняет позицию.

Наш второй Локатор контролирует фонемы. Они присваиваются Локатору точно также, как и атрибуты эмоций. Преувеличенное значение фонемы равняется 10. При синхронизации губ мы обычно использовали только значение не более 3.

Показанный набор фонем англо-американский. Но он может быть заменен любым набором фонем, со всего мира. Вы можете заставить вашего персонажа говорить на любом языке, каком пожелаете.

Два правила для использования визуальных фонем:

Никогда не анимируйте не имея звуковой дорожки. Будет легче подогнать анимацию под существующий звук, чем наоборот. Однако вы можете создать 1-2-х кадровую анимацию перед диалогом.

Не преувеличивайте. Реальный диапазон движений рта довольно ограничен. Изучайте движения вашего собственного рта.

Система "Говорящие Головы" призвана быть реалистичной. Поэтому не переусердствуйте, не заставляйте персонажа открывать рот во время обычного разговора так, будто он на приеме у дантиста.

Особенности.

Третий Локатор контролирует такие аспекты лица, которые столь естественны, что мы даже не думаем о них. Но эти атрибуты необходимы для реалистичной лицевой анимации.

Моргание. Человек моргает каждые 4 секунды. Это время может меняться в зависимости от того, в каком эмоциональном состоянии он находится. При злости это время увеличивается до 6-ти секунд. Причина этого такова - при злости глаза широко раскрыты, а взгляд пристальный. Если ваш персонаж нервничает, то моргания учащаются до одного в 2 секунды. Эта реакция непреднамеренна. Моргание не только добавляет реализма вашему персонажу, но и подчеркивает его эмоционально состояние и настроение.

Содрогание лица и поднятие бровей. Эти атрибуты обычно используются, когда персонаж молчит, слушает беседу и т.п. Человеческое лицо не бывает статичным, оно постоянно в движении. Эти движения могут принимать множество форм. Легкие движения головы, движения бровей и моргание - прекрасная возможность вдохнуть жизнь в персонаж. Приподнимание брови и содрогание лица могут быть использованы в связке с атрибутами эмоций для добавления большей выразительности эмоциям.

Кивания и покачивания головой. Всякий раз, когда мы сталкиваемся с позитивным или негативным утверждением, мы либо киваем головой - соглашаясь, либо качаем, когда не согласны. Это непроизвольные действия и наискорейший путь выразить вашу точку зрения без открытия рта. Обратите внимание, что нейтральная позиция этих двух атрибутов устанавливается в значение 5. Это позволяет голове двигаться в различных направлениях - вверх, вниз, влево и вправо.

Случайные движения головой. Они всегда присутствуют, мы постоянно слегка двигаем головой. Атрибут "случайные движения" симулирует эти легкие перемещения головы.

Дыхание. Атрибут "дыхание" устанавливается в несколько различных позиций. Он имитирует как легкие вздохи, так и затрудненное дыхание.

Четвертый Локатор.

Это последний локатор, пока еще не описанный. Этот Локатор называется "Look at" и контролирует направление взгляда. Суставы, контролирующие глаза, ограничиваются "ограничителями цели" (aim constraints) в Maya. Это постоянно заставляет глаза нацеливаться на "Look at"-локатор. Вы можете использовать этот локатор для контроля точки взгляда персонажа. Вы можете анимировать этот локатор и давать возможность персонажу взглянуть в сторону во время беседы. Угол отклонения глаз связан через мат-выражение с головным суставом. Если локатор заставляет глаз повернуться больше чем на 20 градусов, то голова также вращается для компенсации угла. Мы нашли, что этот метод очень реалистичен для подражания движений головы.

Подсказки и трюки.

И вот, несколько дополнительных особенностей для лицевой анимации.

У вас должно быть не менее двух кадров анимации, чтобы ее стало видно. Когда вы создаете ключи при синхронизации, удостоверьтесь, что согласные звуки длятся не менее двух кадров при 24fps. Естественно, если у вас 60fps, то вы должны утроить число кадров. Для любых согласных фонем, таких как p, b,m,f или t, должны быть проставлены ключи таким образом. Этим правилом нельзя пренебрегать - рот в закрытом состоянии должен находиться 2 кадра. Иначе вы не сможете прочитать, что он говорит. Если вам не хватает времени для этих звуков, заимствуйте из предыдущего слова.

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

Утонченность! Я не могу не подчеркнуть как это важно. Человеческое лицо - это утонченная машина, сохраняйте движения в допустимых значениях, и ваша анимация будет намного реалистичнее.

Двигайте глазами. Если хотите чтобы персонаж сохранял жизнь, не забывайте о движениях глаз. Когда мы говорим с кем-то, примерно 80% времени мы следим за ртом и глазами собеседника, и 20% оглядываем руки и тело.

Движения головы также важны, как и движения рта. Каждое слово и пауза, должно сопровождаться своим положением головы. Мы используем случайные перемещения для достижения этого. Некоторые слова нуждаются в выделении и подчеркивании. Слушайте вашу звуковую дорожку и определяйте ударные слова - это то место где вы должны привнести дополнительные движения головы.

-=-=-=-=-=-=-=-=-=-=
Старый 02.06.2003, 09:24
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

РАЗНОЕ !!!!!



Итак, допустим что вы скачали классную текстуру. Допустим что это не простая текстура, а скажем фронтальная часть ну например стиральной машинки. Хм, а может быть это автомобиль? Допустим вы даже начали делать префаб, да только вот текстурки такие как правило имеют либо только фронтальный вид, если это различная бытовая техника. Чего не хватает, так это вида сбоку и если хотите - вида сзади. Если вы имеете дело с различными транспортными средствами, то как правило у вас есть только три текстуры -вид спереди, сзади и сбоку. Не хватает только вида сверху!

Итак, давайте попробуем сделать из имеющихся у вас на руках текстур необходимые вам дополнительные текстуры. Для этого я возьму графический редактор PhotoShop 7.0, английскую версию. Еще раз повторюсь, что версия не имеет никакого значения, впрочем как и название редактора - главное понять алгоритм.

Допустим у нас есть текстура стиральной машинки. Все что нам пока требуется - это сделать боковую стенку. Откройте необходимый графический файл. Далее при помощи инструмента Rectangular Marquee Tool (M) выделите область, которая является однородной по цвету и тону, и которая будучи вырезанной сможет представлять собой поверхность боковой стенки. Проще говоря вам надо выделить участок , который не включает в себя никаких рельефных участков. Далее скопируйте выделенный участок в буфер обмена при помощи комбинации горячих клавиш Ctrl+C или путем выбора в меню Edit пункта Copy.



Создайте новый слой при помощи комбинации горячих клавиш Shift+Ctrl+N или выбрав в меню Layer, в подменю New пункт Layer... В появившемся окне вы можете дать название вашему слою в поле Name, после чего вы должны нажать ОК. Теперь, после создания нового слоя, вам следует вернуть из буфера обмена скопированное туда выделение. Для этого нажмите Ctrl+V, или в меню Edit выберите пункт Paste. При помощи инструмента Move Tool (V) переместите вставленный участок текстуры в самый верхний угол текстуры. Повторяйте процедуру до тех пор, пока вы не покроете скопированными участками всю поверхность текстуры. Теперь вам необходимо склеить получившийся фон в один слой. Для этого в меню Layer выберите пункт Flatten Image, который склеит все слои в один.



Теперь, когда мы получили новый фон, следует немного подровнять его и сгладить все границы. Для этой операции воспользуйтесь инструментом Clone Stamp Tool (S) - работу с ним я описывал в двух предыдущих статьях по созданию текстур, но предется еще раз повториться. Удерживая клавишу Alt и выбирая область - вы тем самым заносите эту область в некий буфер, откуда потом, отпустив Alt, вы можете извлекать этот участок. Таким образом вы как бы воспроизводите скопированный участок некой кистью. Принцип работы получается примерно следующий: удерживая Alt выбираете область, потом отпустив Alt кликаете куда-нибудь подальше от области копирования, и повторяете эту операцию до тех пор - пока границы не исчезнут.

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

По поводу задника вы можете пофантазировать. Например у меня получилось вот так:



Конечно такой способ можно применить далеко не всегда, и когда простое копирование становится невозможным - приходится прибегать ко всяческим уловкам. Но наличие этих уловок как правило есть только у более или менее опытных людей, поэтому если создание дополнительной текстуры вызывает затруднения - есть смысл отказаться от текстуры данного типа и найти некую альтернативу. Например если вы пытаетесь сделать крышу для автомобиля, то вы должны использовать рисунок довольно малого размера, плюс вам придется сделать такую текстуру затайленой.

-=-=-=-=-=-=-=-=-=-=
Старый 02.06.2003, 09:26
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

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

Работать я буду в программе PhotoShop 6.0 Я не буду использовать более новую версию 7.0, так как нововедения там не существенны, но вы можете использовать любую версию, но при этом желательно не ниже пятой версии. Вы также можете использовать абсолютно любой графический редактор, начиная от Paint Shop Pro до Paint. Прочитав следующий матерьял, и поняв принцип создания бесшовных текстур, это будет не сложно осуществить.

1) Существует несколько способов создания бесшовных текстур. Давайте рассмотрим один из этих способов. Я взял фотографию какой то пещеры, так как она в принципе подходит для примера тайленья.



При помощи инструмента Rectangular Marquee Tool (горячая клавиша М) я выделил участок равный 284 х 284 пикселей и скопировал его в буфер обмена при помощи комбинации клавиш Ctrl + c. В принципе вы можете сделать текстуру любого размера, но обязательно кратного 16 + запас. Тоесть текстура должна быть 256 на 256 пикселей, но с запасом где то еще в 28 пикселей, тоесть в данный момент текстура должна быть размером в 284 на 284 пикселя. Также желательно создавать текстуру среднего или большого размера, чтобы она была максимально детализирована. Нажав в меню File пункт New (Ctrl + n) вызовем окно создания нового документа. Программа сама подгонит размеры под рисунок, хранящийся в буфере обмена. На всякий сучай проконтролируйте размеры файла, которые по выстое высоте (height) и ширине (width) должы быть равны 284 пикселям (pixels). Нажав ОК создадим новый документ, и вставим в него рисунок, хранящийся в буфере обмена. Вот мы и получили нашу, пока еще не затайленую, текстуру. Если вы попробуйте работать с такой текстурой в игре, то получите эффект криво наклееных обоев, о чем я писал в самом начале.

Для большего удобства установите показ линеек, выбрав в меню View пункт Show Rulers. Если у вас написанно Hide Rulers, то соответсвующий режим уже включен. Наша текстура будет занимать примерно девять сантиметров по горизонтали и столько же по горизонтали. При помощи инструмента Rectangular Marquee Tool (горячая клавиша М) выделим вертикальный участок, равный одному сантиметру по горизонтали и девяти по вертикали. Этот один сантиметр должен быть равен 28 пикселям.

На всякий случай сохраните выделение, в меню Select и выбрав в нем пункт Save Selection. В появившемся окне в поле Name введите название выделения и нажмите ОК. Для загрузки выделения используйте в меню Select пункт Load Selection. В появившемся окне выбирайте сохраненвый вами ранее канал, и выбирайте тип добавления вашего выделения - новое выделение, добавить в уже существующее и т.д.



Теперь скопируем в буфер обмена ту часть текстуры, которая находится в выделении, нажав комбинацию клавиш Ctrl + c. В меню Layer выберите пункт New и в нем подпункт Layer... или нажав Shift + Ctrl + n, тем самым вы создаете новый слой. Теперь в получившийся слой мы должны вставить только что скопированый участок текстуры, для этого нажмите Ctrl + V, и перетащите его к краю, противоположному тому, откуда его копировали.

Далее удалим ту часть, которую мы копировали, тоесть узкую 28 пиксельную полоску. Загрузив сохраненное вами ранее выделение, закрастье каким нибудь ярким цветом все что будет в нем находиться. Затем нажмите в меню Image выберите пункт Canvas Size. В появившемся окне в разделе Width (Ширина) установите метод счисления в пикселях (Pixels). Установите значение в 256 пикселей, и в разделе Anchor выберите самый правый квадратик среднего ряда. После обрезания холста, вы не должны увидеть остатков от полосы, закрашенной ярким цветом - тоесть вы не должны увидеть выделяющийся цвет.



Нам осталось только избавиться от получившейся границы, и наша текстура будет великолепно тайлиться по слева на право. Сначала склейте все слои выбрав в меню Layer пункт Flatten Image. Выбрав интсрумент Clone Stamp Tool (S) вы можете начинать стирать шов. Зажимая Alt выбирайте близ лижащий участок к шву, например лежащи слева от него. Далее отпустив Alt рисуйте на месте шва. Ваши действия должны как бы переносить рельефные участки с разных сторон от шва, на противоположные участки. Немного потренировавшись вы научитесь работать с этим инструментом.



Удалив границу, мы получили текстуру, у которой при тайленье отсутствует горизонтальный шов. Теперь осталось проделать всю операцию снова, только по отношению к вертикальному шву. И если с вертикальным тайленьем проблем не возникнет, то сущетсвует одна проблемная область - это участок на стыке вертикального и горизонтального швов. На картинке эта область расположена прямо в центре картинки. Правда у меня она почти не заметна, но при неправильном удалении швов, эта граница может стать довольно заметно, поэтому вседа следует быть крайне осторожным.



2) Следует заметить что также существует еще один способ тайленья, как мне кажется немного более удобный, нежели первый. Основан он на немного другом принципе, и предоставляет возможность избовляться сразу отовсех швов, причем на одном экране. Если в предидущем способе мы избавлялись от швов постпенно, шаг за шагом, то сейчас мы избавимся от них буквально в три шага. Единственное замечание, этот способ требует немного большего опыта владения инструментом Rectangular Marquee Tool (горячая клавиша М), и немного больших художественных способностей. Итак, перейдем к делу.

Как в предидущем примере создадим новый документ, и вставим в него рисунок - заготовку для тайленья. Теперь мысленно разобьем текстуру на 4 равные части. Теперь включив показ линеек, выбрав в меню View пункт Show Rulers, выделим один из квадратов, я начал с верхнего левого. Его размер надо расчитать очень точно. У меня текстура по высоте и ширине равнялась 9 сантиметров, при развернутом на весь экран документе. Следовательно стороны квадрата должны быть 4,5 сантиметров. Сделав выделение сохраните его, зайдя в меню Select и выбрав в нем пункт Save Selection. В появившемся окне в поле Name введите название выделения и нажмите ОК. Для загрузки выделения используйте в меню Select пункт Load Selection. В появившемся окне выбирайте сохраненвый вами ранее канал, и выбирайте тип добавления вашего выделения - новое выделение, добавить в уже существующее и т.д.

Теперь вырежте квадрат, зайдя в меню Edit и выбраd там пункт Cut (Ctrl + x). Теперь выберите сохраненное вами выделение, и переместите его при помощи инструмента Magic Wand Tool (W) по диагонале вниз. Тоесть если у меня был выбран верхний левый квадрат и я его вырезал, то выделение надо перенести в нижний правый квадрат. Выделив его, при помощи инструмента Move Tool (V) перетащите его на место вырезанного квадрата. Снимите выделение путем выбора в меню Select пункта Deselect (Ctrl + D). Теперь выберите в меню Edit пункт Paste (ctrl + v) и перетащите вставленный квадрат на место только что перемещенного квадрата.



Тоесть мы просто диагонально переместили два участка текстуры. Тоже самое следует проделать и с другими двумя квдаратами. Когда перемещение будет законченно мы увидим примерно следующую картину, в которой надо уничтожать сразу все швы. Конечно же делать это мы будем при помощи инструмента Clone Stamp Tool (S). Сначала склейте все слои выбрав в меню Layer пункт Flatten Image. Выбрав Clone Stamp Tool вы можете начинать стирать швы. Зажимая Alt выбирайте близ лижащий участок к шву, например лежащи слева от него. Далее отпустив Alt рисуйте на месте шва. Ваши действия должны как бы переносить рельефные участки с разных сторон от шва, на противоположные участки.



Вероятно что после такой операции некоторые участки окажутся довольно сильно размытыми или станут нечеткими. Вернуть былую четкость рельефа вам поможет инструмент Sharpen Tool (R). выбрать его можно, если вы будете удерживать нажатую мышь на инструменте Smudge Tool (R) некоторое время, слева появится меню дополнительного выбора инструментов. Там вы и сожете выбрать нужный нам инструмент. Теперь используя этот инструмент вы момжете добавить резкости там, где это нужно. Единственный совет - не передерживайте инструмент на одном месте. Также резкости можно добавить и для всей текстуры. Выберите в меню Filter пункт Sharpen и в нем вы сможете выбрать несколько подпунктов, которые добавят резкости сразу всей текстуре.

Если при тайлинге на вашей текстуре хорошо видно что какая то деталь очень сильно выделяется, и очень заметно как она повторяется, есть смысл или вообще избавиться от нее, при помощи инструмента Clone Stamp Tool, либо же немного изменить фактуру. Для этого просто добавляйте различные участки с того файла, откуда вы брали часть своей текстуры, либо же перетаскивайте элементы рельефа с похожего рисунка, и подгоняйте его под вашу цветовую гамму.
Старый 02.06.2003, 09:28
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm

3) Мы расмотрели тайленье одного типа текстур - скал. Но например вам надо затайлить текстуру камня, или стены из кирпичей. Нет ничего проще. Принцип остается таким же, только единственное отличее будет заключаться в том, что удаление швов будет проходить немного по другому принципу. Не склеиваете слои, тоесть не роизводите операцию Merrge Layer, есл вам придется работать со слоями. Например перетащив 28 пиксельный слой можно просто стирая границу и обводя камни мягким ластиком, можно как бы подтереть камни. И получится что из под нового слоя будет проглядывать старый. Таким образом можно добиться вполне подходящего нам эффекта. Итак, работать придется не инструментом Rectangular Marquee Tool, а простым ластиком - тоесть инструментом Eraser Tool (E).



Выбрав ластик, вам следует сделать его как можно более мягкими. Для этого или выберите на появившейся сверху панели тип кисти, или же установите настройки ластика вручную. Теперь вам предстоит удалять шов при помощи ластика. Просто аккуратно обводите границу ластиком, и там где вы стираете 28 пиксельную полоску будет просвечиваться основная текстура и ее рельеф.


Старайтесь работать не спеша, увеличив рисунок. В идеале должно получиться что то типа того, что изабраженно на нижней картинке. Правда там мне не пришлось особенно сильно мучаться, так как исходная картинка была довольно большой (1024х768), и при уменьшении границы соеденения кирпичей почти стерлись сами собой.



В дополнении я хотел бы привести для вас интересный пример использования фототекстур.



Существует множество методов тайлинга. Например если вы пытаетесь затайлить камуфляж, то достаточно будет воспользоваться просто кистью. Такую работу можно провести даже в Paint'е. На этом я хотел бы закончить этот урок. Мне кажется что я довольно подробно разобрал этот "сложнейший" аспект создания текстур, который оказался довольно легким. Я думаю что теперь вы сможете затайлить все что угодно, главное понять принцип. Будете ли вы пользоваться первым способом или вторым - это неважно. Главное найти правильный путь избавления от швов, я показал вам несколько путей - остальное придет с практикой, которая должна осуществляться или методом научного тыка, либо прочтением целой серии дорогих книжек по PhotoShop, я выбрал первое - чего и вам желаю........

-=-=-=-=-=-=-=-=-=
Старый 02.06.2003, 09:29
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm

В этой статье я раскажу о том, как создать текстуру из фотографии, скаченой из интернета или сделаной, например, при помощи цифрового фотоаппарата . Первоначальная обработка фотографий будет осуществляться из графического редактора PhotoShop шестой версии, что в общем то не существенно. Для работы с текстурами можно использовать любые редакторы, например PaintShop Pro или даже MS Paint. Хочу заметить, что PhotoShop является наиболее удобным и распространенным растровым редактором, и как нельзя лучше подходит для наших целей.

1) Создание текстур из фотографий транспортного средства.

Для начала вы должны определиться с тем, на какой объект будет наноситься текстура. Если это будет автомобиль, то вам придется сфотографировать автомобиль из четырех разных положений: вид сбоку, вид спереди, вид сзади и вид сверху. Если же вы будете создавать шкаф, то достаточно иметь фотографии только одного или двух видов: вид спереди и вид сбоку.

Расмотрим создание текстур из фотографий автомобиля. Я нашел фотографии нашего автомобиля из трех проекций - вид спереди, вид сверху и вид сзади. Вид сверху мы создадим сами. Для начала откройте фотографию в PhotoShop'е (ctrl+o), причем желательно начинать работать с главным видом - видом сбоку. При помощи инструмента Pen Tool (Ручка) вы должны выделять области, которые будут невидимыми на текстуре, например задний фон. Попробуйте приблизить рисунок почти максимально - и тогда точность выделения будет больше.



После того как вы обнесли весь рисунок точками, вы можете соеденить их, чтобы полчился замкнутый контур. После этого вызовите правой клавишей мыши меню, в котором выберите "Make Selection" и выбрав рункт "New Selection" нажмите ОК.



Теперь внешний контур объекта выделился мерцающей пунктирной линией, и если для ящика этого достаточно, то для машины придется еще немного поработать "Ручкой". Выделяйте все окна автомобиля или необходимые вам области в несколько замкнутых контуров (по количеству объектов) и затем снова вызывайте правой клавишей мыши меню в котором зайдите в "Make Selection", но на этот раз в появившемся окне выберите пункт "Subtract from selection". После этого у нас получилась некоторая область, ограниченная выделением. Вы можете подправить выделеные области при помощи все тойже "Ручки" или более удобного Lasso Tool (L) - лассо. Удерживая Shift вы добовляете очерчиваемую область в выделение, а зажав Alt вы будете удалять очерчиваемую область из выделения. Теперь сохраните выделение выбрав в меню "Select" пункт "Save selection" например введя имя "Car Selection".



Если вас не устраивает наклон объекта или его размер, то нажмите Ctrl + t и модифицируйте объект по вашему желанию.

Теперь мы закончили основные подготовительные работы и перейдем к непосредственному редактированию. Выберите в меню "Select" пункт "Inverse" (Shift+Ctrl+I) - инвертировать выделение. Теперь вы можете закрасить ненужный вам фон, который будет мешаться в работе над текстурой и даже картой. Можно закрасить текстуру нейтральным черным цветом, который не будет мешаться при наклеевании текстуры на браш неподходящей архитектуры, а можно закрасить фон "прозрачным" цветом RGB: 0 0 255. В редакторе надо будет присвоить брашу свойство, например, func_wall и прописать в его свойствах - Render Mode = Solid и FX Amount = 255. При работе с черным цветом можно сделать архитектуру машины более интересным способом.

Операцию, описаную выше, следует провести с каждым видом в отдельности, при этом не забывая сохранять выделения. Когда вы подготовите все наборы, то можете сохранять рисунки для последуещего конвертирования в текстуры к соответствующим играм. Но попробуем не просто "выдрать" текстуру, но и немного разнообразить ее. Попробуем нанести на автомобиль раскраску защитного цвета, дабы потом текстуры можно было использовать на какой либо карте военной тематики. Опять начнем работу с главного вида, создайте новый слой выбрав в меню Layer подменю New и там выбрав пункт Layer (Shift + Ctrl +N). Загрузите сохраненное вами ранее выделение - выбрав в меню "Select" пункт "Load selection" и в появившемся окне загрузите необходимый вам Channel (Канал). Теперь мы должны начать создавать текстуру защитного цвета, но для начала упростим себе эту задачу. В PhotoShop'е мы напишем Action Script, который по одному мановеню мыши будет создавать красивейшие фоны. Если у вас еще не открыто окно Action то запустите его, выбрав в меню "Window" пункт "Show Action", если там будет написано "Hide Action" то нужное нам окно уже открыто. В окне Action нажмите кнопку "Create New Action" для того чтобы создать новый скрипт, в появившемся окне введите название скрипта (Name), например War Color, выберите горячую клавишу для этого скрипта (Function Key) и по желанию обозначте дополнительную кнопку (Shift или Control). После этого нажмите Record - теперь началась запись ваших действий. Перед началом записи скрипта следует убедиться, что вы выбрали нужный вам канал и слой, по желанию вы можете модернизировать мой скрипт, добавив в него пункты загрузки выделения, выбора нужного слоя и даже сохранения в файл.



а) Выберите цвет RGB: 0 244 0 или #00F400, хотя это и не обязательно, так как в принципе вы можете выбирать зеленый цвет любой насыщености. б) В меню "Filter" зайдите в подменю "Render" и выберите пункт "Clouds", далее нажимайте комбинацию Ctrl + F до тех пор, пока рисунок не станет довольно насыщеным цветом и разнообразным по фактуре. Проще говоря получившийся рисунок не должен быть однотонны, не должен быть итли очень светлым, или очень темным. Идеальным вариантом станет рисунок, в котором совместятся примерно равные области темного и светлого. Экспереминтируйте до тех пор, пока вас не удовлетворит результат, но не забывайте что идет запись скрипта, куда заносятся все ваши действия, включая отмену действий и прочего. в) В меню "Image" зайдите в подменю "Adjust" и выберите пункт "Posterize", далее попробуйте поставить числа от 2 до 10 до тех пор, пока на рисунке не станет проступать более или менее четкий фон защитного цвета. г) В меню "Image" зайдите в подменю "Adjust" и выберите пункт "Variations", далее, работая с "Midtones", сделайте рисунок более темным (Darker) и попробуйте сделать цвет текстуры наиболее подходящим для защитного цвета. Помните, что защитный цвет бывает разного типа, например пустынный, лесной, арктический и пр. - следовательно подгоняйте цветовую гамму под нужную вам местность. д) Теперь сделаем наш слой прозрачным на 41 процент. В меню "Layer" выберите пункт "Layer Properties", и далее в появившемся окне установите прозрачность (Opacity) на 41 процент.



После того, как вы закончите работу, надо остановить запись скрипта, для этого нажмите кнопку "Stop". Теперь вы можете использовать записанный вами скрипт, задав область выделения и нажмая заданную вами комбинацию клавиш или нажимая конпку "Play".

Последний шаг заключается в том, что текстурой защитного цвета покрылись все части автомобиля. Нас это не устраивает, так как колеса, фары, различные хромированные части или дворики в принципе не должны быть защитного цвета. Поэтому, сняв выделение, начнем выделять все элементы, на которые не должна накладываться "защитная" текстура. Делайте это опять при помощи инструмента "Pen Tool". Когда вы добавите в выделение все необходимые нам части, просто сотрите ластиком все, что находится в выделении. Естественно убедитесь что у вас выбран слой с защитной текстурой.

Вы можете использовать совершенно другие фильтры или варианты создания нужного вам покрытия, можете наносить различные надписи. На этом в принципе можно закончить создание тестур для транспортных средств, нам осталось только сделать размер текстур кратным 16 и сохранить их в графический формат для последующего конвектирования в формат текстур игры.
Старый 02.06.2003, 09:29
Sergey
Старейший
offline
Опыт: 44,363
Активность:
IceStorm:

2) Создание текстур из фотографий различных предметов.

Мы уже поняли как создавать текстуры из фоторафий автомобилей, но допустим что у нас есть фоторафия шкафа, ящика или например кровати. Создать текстуру из фотографий такого рода преметов намного легче. В отличии от автомобиля нам надо только выделить контуры у объекта и немного выровнять его.



Допустим что у нас есть фотография ящика для инструментов, попробуем создать текстуру из этого объекта. Для этого при помощи инструмента "Pen Tool" выделим объект и сделаем выделение.



Если объект расположен немного криво или вас не удовлетворяют его размеры, то вы можете зайти в меню "Edit" и выбрать пункт "Free transform" или нажать ctrl + t. ТАк же можете попробовать модифицировать ваш объект при помощи инструментов из меню "Edit" в разделе "Transform". Теперь скопируем объект из выделения в буфер обмена зайдя в меню "Edit" выберем пункт "Copy" при помощи комбинации клавиш ctrl + c. Создадим новый документ зайдя в меню "File" выберем пункт "New" или при помощи комбинации клавиш ctrl + n. Оставьте размеры по умолчанию и нажмите ОК, так как размеры автоматически подгоняются под размеры объекта, скопированного в буфер. Зайдя в меню "Edit" выберете пункт "Paste" и скопированый в буфер рисунок будет вставлен в новый документ точно соответствующий его размеру. Вот и готова наша текстура.



Если у вас есть фотография только фида спереди, то в принципе можно сделать и боковой вид, хотя это зависит от типа объекта и фотографии. Попробуем сделать еще и боковой вид. Просто проследите как я создавал его и попробуйте сделать так же...
1) Как показанно на первой картинке, я выделил участок ящика пеоверхность которого может подойти для боковой стенки ящика и скопировал в буфер. Этот участок без затемнения и его в дальнейшем можно будет модернизировать по совему желанию.

2) Далее я выделил внутрению часть с ящиками и стер все, что там находилось. Этим я оставил каемку, которая как бы немного выступает. Все что находится внутри я буду заполнять фоном, для этого я вставляю из буфера участок ящика в новый слой.

3) Теперь я дублирую этот участок заходя в меню "Layer" и выбирая пункт "Duplicate Layer". Передвинув дублированный слой вниз стала заметна граница между старым и новым слоем. Чтобы стереть ее я воспользовался инструментом "Clone Stamp Tool". Переключившись на старый слой и зажимая Alt я выбираю близ лижащий к новому слою участок и кликаю левой клавишей мыши, далее переключившись на новый слой я просто рисую этим инструментом на границе слоев. Возможно вам придестя повторить эту операцию несколько раз до тех пор, пока граница не исчезнет.

4) Далее я дублировал новый слой и передвигал его вниз, причем граница состыковки слоев стала незаметной. Таким образом я у меня получился участок, который вполне можно считать боковой стенкой ящика. Если у вас осталось несколько заметных глазу границ, то уберите их при помощи инструмента "Clone Stamp Tool".



5) Теперь боковая стенка для ящика готова, но мне захотелось сделать ее немного более реальной. Для этого я выбрал старый слой и в меню "Layer" выбрал пункт "Merge Down". Эта операция склеивает слой со слоем, распологающимся ниже. После склеивания всех слоев (кроме фона и каймы) у меня получился один слой, с которым можно работать, в отличие от множества слоев которые я дублировал. В меню "Layer" я выбрал "Layer properties" и попал в панель свойства слоев, которая появилась только с шестой версии PhotoShop. Отметив два пункта, распологающиеся с левой стороны - "Bevel and Emboss" и "Contour". В пункте "Contour", а точнее в "Elements" я выбрал из списка "Rolling Slope" и установил "Range" на ноль процентов. После этого боковая стенка как бы стала вдавленной. Для большего реализма я затемнил низ при помощи инструмента "Burn Tool".



На этом я заканчиваю этот урок по работе с фототекстурами. Надеюсь что теперь люди имеющие цифровые фотоаппараты смогу порадовать нас кучей новых текстур. Ну а если у вас нету цифрового фотоаппарата, то у вас есть целый интернет в котором можно найти тысячи фотографий из которых получатся отменные текстуры.

=-=-=-=-=-=-=-=-=


Один из главных способов создания многообразных текстур с глубиной называется "разбиение на планы" или "слоение" ("layering"). Это понятие широко известно в мире традиционного искусства, но в игровой индустрии пока еще не особенно популярно, несмотря на то, что качественные текстуры - это важное условие успеха игрового проекта.

В традиционном искусстве разбиение идет на передний, средний и задний планы. При этом пересекающиеся элементы разных планов рождают визуальную сложность изображения. Даже если отдельные части довольно просты (Рис 1).


Количество пересекающихся элементов может существенно меняться. Но в основном, хорошая текстура должна иметь, по крайней мере, один из следующих слоев (планов):

Слой первый - Фон

В практически любой текстуре есть какое-либо подобие фона. Это может быть кирпичная стена, шкура, мрамор, штукатурка - что угодно. Вместо неравномерного узора лучше использовать что-то не очень броское, чтобы не отвлекать внимание от основных элементов текстуры (Рис 2). Элементы фона должны быть бесшовными. То есть они повторяются во всех 4 направлениях без видимых границ прерывания.


Второй слой - основные черты и детали

Основная черта - это центр внимания в текстуре. Например, для текстуры окружения или фона центрами внимания будут: двери, окна, рамы, колонны, углы, панели и так далее. Смотрите (Рис 3).


Для класной текстуры всегда нужно добавлять детали. Это могут быть просто уменьшенные элементы. Их задача - дополнять центр внимания текстуры. В роли деталей обычно выступают: углы, арматура, кнопки, дверные ручки и т.д. Важно чтобы и центры внимания и детали имели трехмерный вид. Иногда даже с тенями для отделения от фона. Хотя с этим важно знать меру, иначе в перспективе текстура будет выглядеть слишком фальшиво.

Третий слой - Края и границы перехода

В реальной жизни, когда два объекта соприкасаются под острым углом или просто соединяются, но у них разные материалы, то там всегда будет какой-нибудь край или граница. Такой границей может служить просто тонкая линия из пыли и грязи. А может даже декоративный ободок. Присутствие таких краев - это основа законченного вида текстуры (Рис 4).


Два случая использования краев - при переходе одного материала к другому (Рис 5) и периметр объекта - центра внимания. (Рис 6).


Важно: Переоценить важность краев и границ перехода невозможно. Они наверно самые важные из всех элементов, разложенных по слоям. Даже если вы не хотите, чтоб текстура выглядела сложной, или у вас просто нет времени; тогда, по крайней мере, повыделяйте немного границы. Это могут быть просто теньки, подрисованные аэрографом Фотошопа.

Четвертый слой - пыль, грязь, сажа

В текстуры всегда нужно добавлять определенный объем изношенности, грязи, сажи и т.д. Это помогает избавиться от компьютерного вида картинки. Грязь можно добавлять в разных местах: слегка пройтись тем же аэрографом по углам и краям улучшая только их. Или по всей картинке. Пример грязной и облупленной стены на (Рис 6).

Вывод

На рисунках 7 и 8 есть еще два примера использования данного метода. Важно помнить, что в текстуре может быть столько элементов, сколько вы захотите, пока сохраняется четкость их форм и окраски. Как только текстура покажется вам слишком запруженной - значит пора остановиться. Все примеры были созданы с использованием "Texture Kit Classic Ornament CD". Это уникальная библиотека текстур на CD. Там есть все необходимое для создания красивых текстур. Вы сможете научиться и повысить свои навыки в рисовании текстур используя этот сборник. На нем есть более 60 элементов, которые можно совмещать и пересекать, используя деление на слои. В результате чего вы можете получить сотни разных текстур.

-=-=-=-=-=-=-=-=-=-=-=-=-=

Вообще братва, ОЧЕНЬ РЕКОМЕНДУЮ И ДАЖЕ ГРУБО ГОВОРЯ ТРЕБУЮ что бы сюда заглянули www.gamedev.ru
Старый 02.06.2003, 09:38
ZYPER14
Greshnik
offline
Опыт: 375
Активность:
Пасиба, просто пасиба!
Старый 25.08.2006, 22:39
Sargeras
Лидер "Двух Королевств"
offline
Опыт: 22,163
Активность:
Да, такая огромная статья... Впрочем я не против того, чтобы она была размещена на сайте.
Sergey
Можешь ли ты размещать статьи на сайте? Или это сделать мне?
Старый 03.09.2006, 04:35

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:52.