Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXXI Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 28 апреля 2015 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Борода Н.П. ПРОБЛЕМА ВИЗУАЛЬНОГО ОТОБРАЖЕНИЯ 3D МОДЕЛЕЙ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. XXXI междунар. студ. науч.-практ. конф. № 4(30). URL: https://sibac.info/archive/technic/4(30).pdf (дата обращения: 04.07.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ПРОБЛЕМА  ВИЗУАЛЬНОГО  ОТОБРАЖЕНИЯ  3D   МОДЕЛЕЙ

Борода  Никита  Петрович

студент  4  курса  кафедры  «Автоматизированных  систем  управления»

Московского  государственного  университета  приборостроения  и

информатики,  филиал,  РФ,  г.  Ставрополь

Е-mail: 

Воротникова  Татьяна  Сергеевна

научный  руководитель,  канд.  тех.  наук,  доцент  кафедры  «Автоматизированных  систем  управления»  Московского  государственного  университета  приборостроения  и  информатики,  филиал,  РФ,  г.  Ставрополь

 

Blender  —  бесплатный  пакет  с  открытым  исходным  кодом  предназначенный  для  создания  трехмерной  компьютерной  графики,  который  включает  в  себя  средства  моделирования,  рендеринга,  анимации,  создания  игр,  а  также  обработки  видео.  В  настоящее  время  Blender  занимает  лидирующие  позиции  среди  бесплатных  3D  редакторов  благодаря  своим  обширным  возможностям  и  постоянному  развитию.

Одной  из  особенностей  Blender  является  его  относительно  небольшой  размер  (установочный  файл  —  60  мб)  по  сравнению  с  другими  программами  для  3D-моделирования.

Blender  имеет  большой  набор  функции  для  создания  и  работы  с  трехмерными  объектами.

Поддержка  большого  количества  геометрических  примитивов,  включая  систему  быстрого  моделирования  в  режиме  SubSurf  (subdivision  surface),  кривые  Безье,  векторные  шрифты,  скульптурное  моделирование,  плоскости  NURBS  и  metaballs  (метасферы).

Встроенные  механизмы  рендеринга  (Blender  render  и  Cycles  render)  и  интеграция  с  внешним  рендером,  например  LuxRender,  YafRay,  и  многие  другие.

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

Python  используется  как  средство  создания  прототипов  и  инструментов,  как  средство  импорта/экспорта  файлов  разных  форматов  и  системы  логики  в  играх.

Game  Blender  —  подпроект  Blender,  который  предоставляет  интерактивные  функции,  например  движок  динамики,  программируемая  логика  и  определение  коллизий  у  твердых/мягких  тел.

Приложение  Blender  имеет  ряд  достоинств  и  недостатков.

Достоинствами  системы  являются:

·     бесплатен;

·     открытый  исходный  код;

·     кроссплатформенность;

·     возможность  создания  игр;

·     огромное  количество  модификаторов;

·     возможность  создания  анимации;

·     работа  с  так  называемыми  «костями»;

·     настройка  фона;

Недостатки:

·     отсутствие  документации  в  базовой  поставке;

·     отсутствие  поддержки  HiDpi.

·     малое  количество  актуаторов,  контроллеров  и  сенсоров  [2].

Исходя  из  выше  сказанного,  для  создания  низкополигональных  3D  моделей  я  выбрал  Blender.

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

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

Так  же  проблемы  могут  возникнуть  из-за  спецификаций  пакета  Blender  (несовместимость  того  или  иного  модификатора,  проблемы  с  отображением  нормалей,  неправильная  сетка  объекта  с  точки  зрения  геометрии  после  применении  того  или  иного  модификатора). 

При  создании  игровой  3D  модели  автомобиля,  возникла  одна  из  проблем,  которая  появилась  после  применения  сглаживания.

Вот  так  модель  выглядит  до  сглаживания  (рисунок  1):

 

Рисунок  1.  Модель  без  сглаживания

 

А  вот  так  после  сглаживания  (рисунок  2).  После  сглаживания  объекта,  его  острые  углы  визуально  становятся  менее  выраженными,  и  распределение  теней  происходит  более  плавно.  Это  хорошо  заметно  по  капоту  и  передней  части  автомобиля.  Однако  вместе  с  этим,  появляется  небольшая  проблема:  артефакты  —  нежелательные  тени,  которые  хорошо  заметны  на  боковой  стороне  автомобиля  (рисунок  2):

 

Рисунок  2.  Модель  с  применением  сглаживания

 

Использовать  не  сглаженную  модель  —  слишком  тривиальное  решение,  да  и  сглаживание  все-таки  дает  свои  результаты:  модель  выглядит  менее  угловатой.

Что-бы  решить  данную  проблему,  нужно  разобраться,  откуда  берется  тень,  которой,  по  сути,  быть  не  должно?  Дело  в  том,  что  в  данной  модели,  бок  машины  —  это  один  полигон  с  27  вершинами  (рисунок  3):

 

Рисунок  3.  Проблемный  полигон

 

Оптимальное  число  вершин  у  1  полигона:  4,  но  будет  еще  лучше,  если  полигон  будет  содержать  только  3  вершины  [1].  В  случае  если  у  полигона  всего  3  вершины,  то,  как  бы  они  не  располагались,  они  образуют  между  собой  только  1  плоскость,  чем  не  может  похвастаться  полигон  из  4  вершин.  В  данном  случае  не  все  вершины  полигона  лежат  в  одной  плоскости,  что  способствует  «переламыванию»  полигона  в  том  месте,  где  нет  ребра.

Разделим  27  вершинный  полигон  на  полигоны  с  3  вершинами  (рисунок  4):

 

Рисунок  4.  Преобразование  полигона

 

После  чего  модель  приобретет  24  дополнительных  полигона,  которые  решают  проблему  нежелательных  теней  (рисунок  5):

 

Рисунок  5.  Готовая  модель

 

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

 

Список  литературы:

1.Blender  —  Википедия  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  https://ru.wikipedia.org/wiki/Blender   (дата  обращения  10.03.2015).

2.BlenderУкраина  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  http://blender3d.org.ua/   (дата  обращения  10.03.2015).

Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.