Автор статьи: Аверин Александр
Чаще всего человеческий глаз сам дорисовывает картину, т.е. иногда не обязательно создавать объекты высокой степени детализации. Рассмотрим это на примере микропроцессора.
>Рассмотрим первый случай: микропроцессор установлен на материнской плате.
Так как часть микропроцессора (его разъем) нам не видна, то можно отказаться от ее прорисовки, существенно сократив время разработки, уменьшив размер готового проекта и увеличив скорость воспроизведения сцены.
Второй случай: микропроцессор рассматривается отдельно, но степень увеличения заранее ограничена (т.е. зритель не может приблизиться на близкое расстояние к объекту).
Для упрощения процесса моделирования в данном случае мы можем активно использовать текстуры. Например, мы можем нанести большую часть деталей процессора при помощи текстуры. Кроме того, разъем мы выполняем либо как комбинацию текстуры и объекта либо с использованием простейших примитивов. Благодаря тому что современные 3D-ускорители поддерживают коррекцию текстур в зависимости от приближения — удаления объекта, а некоторые из них даже поддерживают bump mapping (возможность создания эффекта выпуклости-вогнутости части текстуры) эффект будет тот же что и в случае с детальной прорисовкой, а размер и сложность объекта (а значит и VRML-файла) значительно сократятся.
В третьем случае зритель ничем не ограничен, может приближаться к объекту на максимальное расстояние.
Во-первых, сразу же стоит отказаться от сложного environment-а (окружения). Во-вторых, использовать текстуры (хотя и более детализованные, чем во втором случае). Разъем придется выполнить более детально, так как реализовать его при помощи примитивов или текстур в данном случае невозможно.
Еще одним вариантом является применение так называемых пререндеренных ландшафтов.
В идеале это изображение высокого качества, которое не только является фоном для перемещений VRML — 3D объекта, но и, являясь многослойным изображением, позволяет имитировать наложение теней на объект, частичное или полное перекрытие объекта элементами фона. Подобный способ активно применяется в современных компьютерных играх, и позволяет значительно снизить размер файла и нагрузку на процессор. Примером может имитация окружающего пространства, в котором находится компьютер (комната или рабочее помещение). Эффект будет тот же, а может даже лучше (в силу уменьшения нагрузки на аппаратуру скорость вывода возрастет, а значит увеличится плавность отображения перемещения нашего объекта).
Проблемы создания человекоподобных моделей
При создании человека приходится учитывать массу вещей. Нужно знать, будут ли анимироватся движения лица, рук, ног. Будет ли объект одет (нужно ли будет, делать анимации его мышц или нет). Какова должна быть степень детализации и многое другое. Рисование человека само по себе не простое занятие, а в случае попытки создания трехмерной копии, да еще с соответствующим перемещением в пространстве вообще является одной из самых сложных и до конца не решенных задач.
Существует несколько подходов к реализации человека. Это реализация некоторого усредненного человеческого тела по введенным параметрам (вес, рост, возраст и т.д.). В некоторых случаях этого бывает достаточно. Но при создании именно копии применяются специальные аппаратные средства — трехмерные сканнеры. Они могут иметь самую разную конструкцию, но сам принцип один — перевод некоторых характерных точек человеческого тела в компьютер. Результатом могут являться очень детальные и действительно похожие копии.
Не стоит забывать про текстуры. Ведь отображение всех деталей лица человека не является идеальным решением, обычно просто накладывается соответствующим образом обработанная текстура, сделанная из нескольких снимков человека.
Но все это хорошо для варианта статического человека, человека неподвижного. А что же делать, если нам нужен движущийся человек? Наиболее революционным и качественным подходом является применение так называемого Motion Capture, т.е. снятия движений реального человека, с последующим переносом траектории движения в ЭВМ. Данный метод требует огромных аппаратных затрат, особенно если вся обработка производится в реальном времени.
Общий вывод
Как в случае с моделированием при помощи примитивов, так и в случае с моделированием при помощи описания вершин существуют свои плюсы и минусы. По этому идеальным решением было бы сочетание этих методов (т.е. использовать для отрисовки сложных крупных объектов и тот, и другой метод). Кроме того, в последнее время набирает силу применение так называемых NURBS кривых и поверхностей. Благодаря использованию данных кривых для описания, скажем сферы, не нужно описывать каждую вершину или ребро, достаточно описать лишь 3 окружности, которые как бы опоясывают данную сферу. В ближайшее время ожидается появление 3D-ускорителей позволяющих производить акселерацию вывода подобных кривых и поверхностей.