Содержание

Пишем программу 3D-моделирования в 500 строках кода / Хабр


Введение

Люди от природы креативны. Мы постоянно проектируем и создаём новые, полезные и интересные вещи. Сегодня мы пишем ПО, помогающее процессу проектирования и творчества. Программы САПР (Computer-aided design, CAD) позволяют творцам проектировать здания, мосты, графику видеоигр, чудовищ для фильмов, объектов для 3D-печати и множество других вещей перед созданием физической версии проекта.

По своей сути, инструменты CAD являются способом абстрагирования трёхмерного проекта в нечто, что можно просматривать и редактировать на двухмерном экране. Чтобы справляться со своей задачей, инструменты CAD должны обеспечивать три основных элемента функциональности. Во-первых, они должны иметь структуру данных, описывающую проектируемый объект: это то, как компьютер понимает создаваемый пользователем трёхмерный мир. Во-вторых, инструмент CAD должен обеспечивать отображение проекта на экране пользователя. Пользователь проектирует физический объект с тремя измерениями, но экран компьютера имеет всего два измерения. Инструмент CAD должен моделировать способ восприятия нами объектов и отрисовывать их на экране так, чтобы пользователь смог понять все три измерения объекта. В-третьих, CAD должен предоставлять возможность взаимодействия с проектируемым объектом. Пользователь должен быть способен дополнять или модифицировать проект, чтобы создать нужный результат. Кроме того, все инструменты должны иметь возможность сохранения и загрузки проектов с диска, чтобы пользователи могли сотрудничать, обмениваться своей работой и сохранять её.


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

Однако во всех инструментах CAD должны присутствовать по крайней мере три описанных выше элемента: структура данных, описывающая проект, возможность отображения на экране и способ взаимодействия с проектом.

Давайте теперь узнаем, как можно описать 3D-проект, отобразить его на экране и взаимодействовать с ним всего в 500 строках на Python.

Рендеринг как ориентир

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

Управление интерфейсами и основным циклом

Прежде чем мы приступим к рендерингу, нам нужно подготовить некоторые аспекты.

Во-первых, нам требуется создать окно для отображения проекта. Во-вторых, мы хотим обмениваться данными с графическими драйверами для рендеринга на экране. Мы бы не хотели обмениваться данными напрямую, поэтому для управления окном воспользуемся кроссплатформенным слоем абстракции под названием OpenGL и библиотекой под названием GLUT (OpenGL Utility Toolkit).

Примечание о OpenGL

OpenGL — это интерфейс программирования графических приложений (API) для кроссплатформенной разработки. Это стандартный API для разработки графических приложений для множества платформ. OpenGL имеет два основных варианта: Legacy OpenGL и Modern OpenGL.

Рендеринг в OpenGL основан на полигонах, задаваемых вершинами и нормалями. Например, для рендеринга одной стороны куба мы задаём 4 вершины и нормаль к стороне.

Legacy OpenGL имеет конвейер с фиксированными функциями (fixed function pipeline). Задавая глобальные переменные, программист может включать и отключать автоматизированные реализации таких функций, как освещение, раскраска, усечение граней и т. д. После чего OpenGL автоматически рендерит сцену со включенной функциональностью. Такая система является устаревшей.

В Modern OpenGL используется программируемый конвейер рендеринга (programmable rendering pipeline), при котором программист пишет небольшие программы, называемые «шейдерами»; они выполняются на специализированном графическом оборудовании (GPU). Программируемый конвейер Modern OpenGL заменил устаревший Legacy OpenGL.

В своём проекте мы будем использовать Legacy OpenGL. Фиксированная функциональность, предоставляемая Legacy OpenGL, очень полезна для обеспечения небольшого размера кода. Она уменьшает количество необходимых знаний линейной алгебры и упрощает наш код.

Что такое GLUT

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

Средство просмотра

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

Viewer мы создадим окно GUI и инициализируем OpenGL.

Функция init_interface создаёт окно, в которое будет рендериться редактор, и задаёт функцию, котороая должна вызываться для рендеринга проекта. Функция init_opengl задаёт нужное для программы состояние OpenGL. Она задаёт матрицы, включает отсечение задних граней, регистрирует источник света для освещения сцены и сообщает OpenGL, что объекты нужно раскрашивать. Функция init_scene создаёт объекты Scene и располагает начальные узлы, чтобы пользователь мог начать работу. Чуть ниже мы узнаем больше о структуре данных

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

После инициализации Viewer мы вызываем glutMainLoop, чтобы перенести исполнение программы в GLUT. Эта функция никогда не выполняет возврат. Обратные вызовы функций, зарегистрированные нами для событий GLUT, будут вызываться при выполнении этих событий.

class Viewer(object):
    def __init__(self):
        """ Initialize the viewer. """
        self.init_interface()
        self.init_opengl()
        self.init_scene()
        self.init_interaction()
        init_primitives()
    def init_interface(self):
        """ initialize the window and register the render function """
        glutInit()
        glutInitWindowSize(640, 480)
        glutCreateWindow("3D Modeller")
        glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
        glutDisplayFunc(self.render)
    def init_opengl(self):
        """ initialize the opengl settings to render the scene """
        self.
inverseModelView = numpy.identity(4) self.modelView = numpy.identity(4) glEnable(GL_CULL_FACE) glCullFace(GL_BACK) glEnable(GL_DEPTH_TEST) glDepthFunc(GL_LESS) glEnable(GL_LIGHT0) glLightfv(GL_LIGHT0, GL_POSITION, GLfloat_4(0, 0, 1, 0)) glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, GLfloat_3(0, 0, -1)) glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE) glEnable(GL_COLOR_MATERIAL) glClearColor(0.4, 0.4, 0.4, 0.0) def init_scene(self): """ initialize the scene object and initial scene """ self.scene = Scene() self.create_sample_scene() def create_sample_scene(self): cube_node = Cube() cube_node.translate(2, 0, 2) cube_node.color_index = 2 self.scene.add_node(cube_node) sphere_node = Sphere() sphere_node.translate(-2, 0, 2) sphere_node.color_index = 3 self.scene.add_node(sphere_node) hierarchical_node = SnowFigure() hierarchical_node.
translate(-2, 0, -2) self.scene.add_node(hierarchical_node) def init_interaction(self): """ init user interaction and callbacks """ self.interaction = Interaction() self.interaction.register_callback('pick', self.pick) self.interaction.register_callback('move', self.move) self.interaction.register_callback('place', self.place) self.interaction.register_callback('rotate_color', self.rotate_color) self.interaction.register_callback('scale', self.scale) def main_loop(self): glutMainLoop() if __name__ == "__main__": viewer = Viewer() viewer.main_loop()

Прежде чем разбирать функцию render, мы должны немного поговорить о линейной алгебре.

Координатное пространство

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

Точка

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

Вектор

Вектор — это значение из , и , определяющее разницу между двумя точками по осям , и .

Матрица преобразований

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

Координатные пространства модели, мира, окна просмотра и проецирования


Рисунок 1 — Конвейер преобразований

Для отрисовки на экране элемента нам нужно выполнить преобразование между несколькими координатными пространствами.

Все преобразования, показанные в правой части Рисунка 1, в том числе все преобразования из пространства камеры (Eye Space) в пространство окна просмотра (Viewport Space) будет выполнять за нас OpenGL.

Преобразование из пространства камеры в однородное пространство усечения (clip space) выполняется функцией gluPerspective, а преобразование в нормализованное пространство устройства и пространство окна обзора — функцией glViewport. Эти матрицы перемножаются и хранятся как матрица GL_PROJECTION. Для нашего проекта не обязательно знать терминологию или подробности работы этих матриц.

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

Чтобы узнать больше о полном конвейере рендеринга графики и используемых координатных пространствах, прочитайте главу 2 книги Real Time Rendering или другую книгу о компьютерной графике для начинающих.

Рендеринг при помощи Viewer

Функция render начинается с подготовки любого состояния OpenGL, что необходимо выполнять во время рендеринга. Она инициализирует матрицу проецирования при помощи init_view и использует данные из функции взаимодействия с пользователем для инициализации матрицы ModelView с матрицей преобразований, выполняющей переход из пространства сцены в мировое пространство. Подробнее о классе Interaction будет написано ниже. Она очищает экран при помощи glClear, приказывает сцене отрендериться, а затем рисует сетку единичных квадратов.

Перед рендерингом сетки мы отключаем освещение OpenGL. При отключении освещения OpenGL рендерит объекты сплошным цветом, а не симулирует источники освещения. Благодаря этому сетка визуально отличается от сцены. Далее glFlush подаёт сигнал графическому драйверу, что мы готовы к очистке буфера и отображению на экран.

    # class Viewer
    def render(self):
        """ The render pass for the scene """
        self.init_view()
        glEnable(GL_LIGHTING)
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
        # Load the modelview matrix from the current state of the trackball
        glMatrixMode(GL_MODELVIEW)
        glPushMatrix()
        glLoadIdentity()
        loc = self.interaction.translation
        glTranslated(loc[0], loc[1], loc[2])
        glMultMatrixf(self.interaction.trackball.matrix)
        # store the inverse of the current modelview.
        currentModelView = numpy.array(glGetFloatv(GL_MODELVIEW_MATRIX))
        self.modelView = numpy. transpose(currentModelView)
        self.inverseModelView = inv(numpy.transpose(currentModelView))
        # render the scene. This will call the render function for each object
        # in the scene
        self.scene.render()
        # draw the grid
        glDisable(GL_LIGHTING)
        glCallList(G_OBJ_PLANE)
        glPopMatrix()
        # flush the buffers so that the scene can be drawn
        glFlush()
    def init_view(self):
        """ initialize the projection matrix """
        xSize, ySize = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
        aspect_ratio = float(xSize) / float(ySize)
        # load the projection matrix. Always the same
        glMatrixMode(GL_PROJECTION)
        glLoadIdentity()
        glViewport(0, 0, xSize, ySize)
        gluPerspective(70, aspect_ratio, 0.1, 1000.0)
        glTranslated(0, 0, -15)

Что рендерить: сцена

После того, как мы инициализировали конвейер рендеринга для выполнения отрисовки в координатном пространстве мира, что мы будем рендерить? Вспомним, что наша цель — создание проекта, состоящего из 3D-моделей. Нам нужна структура данных для хранения этого проекта. а также структура данных для его рендеринга. Обратите внимание на вызов self.scene.render() в цикле рендеринга viewer. Что такое scene?

Класс Scene — это интерфейс со структурой данных, которую мы используем для описания проекта. Он абстрагирует подробности структуры данных и предоставляет функции интерфейса, необходимые для взаимодействия с проектом, в том числе функции для рендеринга, добавления элементов и манипулирования элементами. Существует один объект Scene, которым владеет viewer. Экземпляр Scene хранит список всех элементов сцены, называемый node_list. Также он отслеживает выбранный элемент. Функция render сцены просто вызывает render для каждого пункта списка node_list.

class Scene(object):
    # the default depth from the camera to place an object at
    PLACE_DEPTH = 15.0
    def __init__(self):
        # The scene keeps a list of nodes that are displayed
        self. node_list = list()
        # Keep track of the currently selected node.
        # Actions may depend on whether or not something is selected
        self.selected_node = None
    def add_node(self, node):
        """ Add a new node to the scene """
        self.node_list.append(node)
    def render(self):
        """ Render the scene. """
        for node in self.node_list:
            node.render()

Узлы

В функции render класса Scene мы вызываем render для каждого элемента node_list класса Scene. Но что за элементы находятся в этом списке? Мы называем их узлами. Узел может быть всем, что можно поместить в сцену. В объектно-ориентированном ПО мы пишем Node как абстрактный базовый класс. Любые классы, представляющие объекты, размещаемые в Scene, будут наследовать от Node. Этот базовый класс позволяет нам рассуждать о сцене абстрактно. Остальная часть кодовой базы не обязана знать подробностей об отображаемом ею объекте; ей достаточно знать, что они принадлежат к классу Node.

Каждый тип Node определяет собственное поведение для рендеринга самого себя и для любых других взаимодействий. Node отслеживает важные данные о самом себе: матрицу преобразований, матрицу масштабирования, цвет, и т.п. При умножении матрицы преобразований узла на его матрицу масштабирования, мы получаем матрицу преобразований из координатного пространства модели узла в координатное пространство мира. Кроме того, узел также хранит в себе параллельный осям ограничивающий параллелепипед (axis-aligned bounding box, AABB). Подробнее об AABB мы поговорим ниже.

Простейшей конкретной реализацией Node является примитив. Примитив — это единая фигура, которую можно добавить в сцену. В нашей программе примитивами будут куб (Cube) и сфера (Sphere).

class Node(object):
    """ Base class for scene elements """
    def __init__(self):
        self.color_index = random.randint(color.MIN_COLOR, color.MAX_COLOR)
        self. aabb = AABB([0.0, 0.0, 0.0], [0.5, 0.5, 0.5])
        self.translation_matrix = numpy.identity(4)
        self.scaling_matrix = numpy.identity(4)
        self.selected = False
    def render(self):
        """ renders the item to the screen """
        glPushMatrix()
        glMultMatrixf(numpy.transpose(self.translation_matrix))
        glMultMatrixf(self.scaling_matrix)
        cur_color = color.COLORS[self.color_index]
        glColor3f(cur_color[0], cur_color[1], cur_color[2])
        if self.selected:  # emit light if the node is selected
            glMaterialfv(GL_FRONT, GL_EMISSION, [0.3, 0.3, 0.3])
        self.render_self()
        if self.selected:
            glMaterialfv(GL_FRONT, GL_EMISSION, [0.0, 0.0, 0.0])
        glPopMatrix()
    def render_self(self):
        raise NotImplementedError(
            "The Abstract Node Class doesn't define 'render_self'")
class Primitive(Node):
    def __init__(self):
        super(Primitive, self).__init__()
        self.call_list = None
    def render_self(self):
        glCallList(self. call_list)
class Sphere(Primitive):
    """ Sphere primitive """
    def __init__(self):
        super(Sphere, self).__init__()
        self.call_list = G_OBJ_SPHERE
class Cube(Primitive):
    """ Cube primitive """
    def __init__(self):
        super(Cube, self).__init__()
        self.call_list = G_OBJ_CUBE

Рендеринг узлов основан на матрицах преобразований, хранящихся в каждом из узлов. Матрица преобразований узла — это сочетание его матрицы масштабирования и матрицы перемещения. Вне зависимости от типа узла, первым этапом рендеринга является задание матрице ModelView интерфейса OpenGL матрицы преобразований, чтобы выполнить переход от координатного пространства модели к координатному пространству окна просмотра. После обновления матриц OpenGL мы вызываем render_self, чтобы приказать узлу выполнить необходимые вызовы OpenGL для отрисовки себя. Затем мы отменяем все изменения, внесённые в состояние OpenGL этого конкретного узла. Мы используем функции OpenGL glPushMatrix и glPopMatrix для сохранения и восстановления состояния матрицы ModelView до и после рендеринга узла. Обратите внимание, что узел хранит свой цвет, расположение и масштаб, применяя их к состоянию OpenGL перед рендерингом.

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

Для рендеринга примитивов мы используем функцию OpenGL списков вызовов. Список вызовов OpenGL — это набор вызовов OpenGL, заданных и объединённых под одним названием. Вызовы могут выполняться с помощью glCallList(LIST_NAME). Каждый примитив (Sphere и Cube) определяет список вызовов, необходимый для его рендеринга (не показан).

Например, список вызовов куба отрисовывает 6 граней куба с центром в точке начала координат и с рёбрами длиной ровно 1 единицу.

# Pseudocode Cube definition
# Left face
((-0.5, -0.5, -0.5), (-0. 5, -0.5, 0.5), (-0.5, 0.5, 0.5), (-0.5, 0.5, -0.5)),
# Back face
((-0.5, -0.5, -0.5), (-0.5, 0.5, -0.5), (0.5, 0.5, -0.5), (0.5, -0.5, -0.5)),
# Right face
((0.5, -0.5, -0.5), (0.5, 0.5, -0.5), (0.5, 0.5, 0.5), (0.5, -0.5, 0.5)),
# Front face
((-0.5, -0.5, 0.5), (0.5, -0.5, 0.5), (0.5, 0.5, 0.5), (-0.5, 0.5, 0.5)),
# Bottom face
((-0.5, -0.5, 0.5), (-0.5, -0.5, -0.5), (0.5, -0.5, -0.5), (0.5, -0.5, 0.5)),
# Top face
((-0.5, 0.5, -0.5), (-0.5, 0.5, 0.5), (0.5, 0.5, 0.5), (0.5, 0.5, -0.5))

Использование исключительно примитивов сильно ограничивает возможности моделирования. 3D-модели обычно состоят из множества примитивов (или треугольных мешей, которые мы здесь рассматривать не будем). К счастью, структура класса Node упрощает создание узлов Scene, составленных из множественных примитивов. На самом деле, мы можем обеспечить поддержку произвольной группировки узлов без повышения сложности кода.

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

Мы создадим класс HierarchicalNode, то есть Node, содержащий другие узлы. Он управляет списком «дочерних узлов». Функция render_self для иерархических узлов просто вызывает render_self для каждого из дочерних узлов. При помощи класса HierarchicalNode очень легко добавлять в сцену фигуры. Теперь для задания снеговика достаточно указать составляющие его фигуры, а также их относительные позиции и размеры.

Рисунок 2 — Иерархия подклассов Node

class HierarchicalNode(Node):
    def __init__(self):
        super(HierarchicalNode, self).__init__()
        self.child_nodes = []
    def render_self(self):
        for child in self.child_nodes:
            child.render()
class SnowFigure(HierarchicalNode):
    def __init__(self):
        super(SnowFigure, self). __init__()
        self.child_nodes = [Sphere(), Sphere(), Sphere()]
        self.child_nodes[0].translate(0, -0.6, 0) # scale 1.0
        self.child_nodes[1].translate(0, 0.1, 0)
        self.child_nodes[1].scaling_matrix = numpy.dot(
            self.scaling_matrix, scaling([0.8, 0.8, 0.8]))
        self.child_nodes[2].translate(0, 0.75, 0)
        self.child_nodes[2].scaling_matrix = numpy.dot(
            self.scaling_matrix, scaling([0.7, 0.7, 0.7]))
        for child_node in self.child_nodes:
            child_node.color_index = color.MIN_COLOR
        self.aabb = AABB([0.0, 0.0, 0.0], [0.5, 1.1, 0.5])

Вы могли заметить, что объекты Node образуют древовидную структуру данных. Функция render, проходящая иерархические узлы, выполняет обход в глубину по дереву. При обходе она хранит стек матриц ModelView, используемых для преобразования в мировое пространство. На каждом шаге она записывает в стек текущую матрицу ModelView, а когда завершает рендеринг всех дочерних узлов, она извлекает матрицу из стека, оставляя на вершине стека матрицу ModelView родительского узла.

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

Взаимодействие с пользователем

Теперь, когда наша программа моделирования способна хранить и отображать сцену, нам нужен способ взаимодействия с ней. Нам нужно упростить два вида взаимодействий. Во-первых, нам нужна возможность изменения перспективы обзора сцены. Мы хотим иметь возможность двигать глаз (камеру) по сцене. Во-вторых, нам нужна возможность добавления новых узлов и изменения узлов в сцене.

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

Логика прослушивания событий операционной системы и интерпретации их значения находится в классе Interaction. Написанный нами ранее класс Viewer владеет единственным экземпляром Interaction. Мы используем механизм функций обратного вызова GLUT для регистрации функций, вызываемых при нажатии клавиши мыши (glutMouseFunc), при перемещении мыши (glutMotionFunc), при нажатии клавиши клавиатуры (glutKeyboardFunc) и при нажатии клавиш со стрелками (glutSpecialFunc). Чуть ниже вы увидите функции, обрабатывающие события ввода.

class Interaction(object):
    def __init__(self):
        """ Handles user interaction """
        # currently pressed mouse button
        self.pressed = None
        # the current location of the camera
        self.translation = [0, 0, 0, 0]
        # the trackball to calculate rotation
        self.trackball = trackball.Trackball(theta = -25, distance=15)
        # the current mouse location
        self.mouse_loc = None
        # Unsophisticated callback mechanism
        self.callbacks = defaultdict(list)
        self.register()
    def register(self):
        """ register callbacks with glut """
        glutMouseFunc(self.handle_mouse_button)
        glutMotionFunc(self.handle_mouse_move)
        glutKeyboardFunc(self.handle_keystroke)
        glutSpecialFunc(self.handle_keystroke)

Функции обратного вызова операционной системы

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

    # class Interaction 
    def translate(self, x, y, z):
        """ translate the camera """
        self.translation[0] += x
        self.translation[1] += y
        self.translation[2] += z
    def handle_mouse_button(self, button, mode, x, y):
        """ Called when the mouse button is pressed or released """
        xSize, ySize = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
        y = ySize - y  # invert the y coordinate because OpenGL is inverted
        self.mouse_loc = (x, y)
        if mode == GLUT_DOWN:
            self.pressed = button
            if button == GLUT_RIGHT_BUTTON:
                pass
            elif button == GLUT_LEFT_BUTTON:  # pick
                self. trigger('pick', x, y)
            elif button == 3:  # scroll up
                self.translate(0, 0, 1.0)
            elif button == 4:  # scroll up
                self.translate(0, 0, -1.0)
        else:  # mouse button release
            self.pressed = None
        glutPostRedisplay()
    def handle_mouse_move(self, x, screen_y):
        """ Called when the mouse is moved """
        xSize, ySize = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
        y = ySize - screen_y  # invert the y coordinate because OpenGL is inverted
        if self.pressed is not None:
            dx = x - self.mouse_loc[0]
            dy = y - self.mouse_loc[1]
            if self.pressed == GLUT_RIGHT_BUTTON and self.trackball is not None:
                # ignore the updated camera loc because we want to always
                # rotate around the origin
                self.trackball.drag_to(self.mouse_loc[0], self.mouse_loc[1], dx, dy)
            elif self.pressed == GLUT_LEFT_BUTTON:
                self. trigger('move', x, y)
            elif self.pressed == GLUT_MIDDLE_BUTTON:
                self.translate(dx/60.0, dy/60.0, 0)
            else:
                pass
            glutPostRedisplay()
        self.mouse_loc = (x, y)
    def handle_keystroke(self, key, x, screen_y):
        """ Called on keyboard input from the user """
        xSize, ySize = glutGet(GLUT_WINDOW_WIDTH), glutGet(GLUT_WINDOW_HEIGHT)
        y = ySize - screen_y
        if key == 's':
            self.trigger('place', 'sphere', x, y)
        elif key == 'c':
            self.trigger('place', 'cube', x, y)
        elif key == GLUT_KEY_UP:
            self.trigger('scale', up=True)
        elif key == GLUT_KEY_DOWN:
            self.trigger('scale', up=False)
        elif key == GLUT_KEY_LEFT:
            self.trigger('rotate_color', forward=True)
        elif key == GLUT_KEY_RIGHT:
            self.trigger('rotate_color', forward=False)
        glutPostRedisplay()

Внутренние функции обратного вызова

В показанном выше фрагменте кода можно заметить, что когда экземпляр Interaction интерпретирует действие пользователя, он вызывает self. trigger со строкой, описывающей тип действия. Функция trigger в классе Interaction — это часть простой системы обратных вызовов, которую мы будем использовать для обработки событий на уровне приложения. Вспомним, что функция init_interaction в классе Viewer регистрирует обратные вызовы в экземпляре Interaction, вызывая register_callback.

    # class Interaction
    def register_callback(self, name, func):
        self.callbacks[name].append(func)

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

    # class Interaction
    def trigger(self, name, *args, **kwargs):
        for func in self.callbacks[name]:
            func(*args, **kwargs)

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

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

Взаимодействие со сценой

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

Перемещение сцены

В этой программе мы выполняем движение камеры преобразованием сцены. Другими словами, камера находится на одном месте, а пользовательский ввод двигает сцену, а не камеру. Камера расположена в точке [0, 0, -15] и направлена на точку начала координат мира. (Или же мы можем изменить матрицу перспективы так, чтобы она двигала камеру вместо сцены. Это архитектурное решение очень слабо повлияет на остальную часть программы.) Вернувшись к функции render в Viewer, мы видим, что состояние Interaction используется для преобразования состояния матрицы OpenGL перед рендерингом Scene. Существует два типа взаимодействия со сценой: поворот и перемещение.

Поворот сцены с помощью трекбола

Мы реализуем поворот сцены с помощью алгоритма trackball. Трекбол — это интуитивно-понятный интерфейс для манипуляций со сценой в трёх измерениях. Интерфейс трекбола работает так, как будто сцена находится внутри прозрачного шара. Если положить руку на поверхность шара и толкнуть его, шар повернётся. Аналогично, при зажимании правой клавиши мыши и перемещении курсора по экрану вращает сцену. Подробнее о теории трекбола можно прочитать в OpenGL Wiki. В нашей программе мы используем реализацию трекбола, являющуюся частью Glumpy.

Мы взаимодействуем с трекболом с помощью функции drag_to: текущее положение мыши является начальной точкой, а изменение положения мыши — параметрами функции.

self.trackball.drag_to(self.mouse_loc[0], self.mouse_loc[1], dx, dy)

Получившаяся матрица поворота — это trackball.matrix в окне просмотра при рендеринге сцены.

Примечание: кватернионы

Традиционно повороты описываются одним из двух способов. Первый — это значения поворота вокруг каждой из осей; можно хранить их как кортеж из трёх членов, представляющих собой числа с плавающей запятой. Другим распространённым способом задания поворотов является кватернион — элемент, состоящий из вектора с координатами , и , а также поворота . Использование кватернионов имеет множество преимуществ по сравнению с поворотом по осям; в частности, они более стабильны численно. Благодаря использованию кватернионов можно избежать таких проблем, как «шарнирный замок» (gimbal lock). Недостаток кватернионов в том, что они менее интуитивно-понятны в работе. Если вы не боитесь и хотите узнать больше о кватернионах, то можете изучить это объяснение.

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

Перемещение сцены

Перемещение сцены (например, сдвиг) гораздо проще, чем её поворот. Перемещения сцены выполняются колесом и левой клавишей мыши. Левая клавиша мыши перемещает сцену по координатам и . Прокрутка колеса мыши перемещает сцену по координате (ближе или дальше от камеры). Класс Interaction хранит текущее перемещение сцены и модифицирует его при помощи функции translate. Окно просмотра получает расположение камеры класса Interaction при рендеринге и использует его в вызове glTranslated.

Выбор объектов сцены

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

Чтобы пользователь мог манипулировать объектами сцены, он должен иметь возможность выбора элементов.

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

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

Для сохранения компактности кода и достаточной производительности мы используем простую и быструю аппроксимацию теста пересечения луча с объектом. В нашей реализации каждый узел хранит параллельный осям ограничивающий параллелепипед (axis-aligned bounding box, AABB), который является аппроксимацией занимаемого узлом пространства. Чтобы проверить, пересекается ли луч с узлом, мы проверим, пересекается ли луч с AABB узла. Такая реализация означает, что все узлы используют один код для тестов пересечения, а вычислительные затраты остаются постоянными и небольшими для всех типов узлов.

    # class Viewer
    def get_ray(self, x, y):
        """ 
        Generate a ray beginning at the near plane, in the direction that
        the x, y coordinates are facing 
        Consumes: x, y coordinates of mouse on screen 
        Return: start, direction of the ray 
        """
        self.init_view()
        glMatrixMode(GL_MODELVIEW)
        glLoadIdentity()
        # get two points on the line.
        start = numpy.array(gluUnProject(x, y, 0.001))
        end = numpy.array(gluUnProject(x, y, 0.999))
        # convert those points into a ray
        direction = end - start
        direction = direction / norm(direction)
        return (start, direction)
    def pick(self, x, y):
        """ Execute pick of an object. Selects an object in the scene. """
        start, direction = self.get_ray(x, y)
        self.scene.pick(start, direction, self.modelView)

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

    # class Scene
    def pick(self, start, direction, mat):
        """ 
        Execute selection.
            
        start, direction describe a Ray. 
        mat is the inverse of the current modelview matrix for the scene.
        """
        if self.selected_node is not None:
            self.selected_node.select(False)
            self.selected_node = None
        # Keep track of the closest hit.
        mindist = sys.maxint
        closest_node = None
        for node in self.node_list:
            hit, distance = node.pick(start, direction, mat)
            if hit and distance < mindist:
                mindist, closest_node = distance, node
        # If we hit something, keep track of it.
        if closest_node is not None:
            closest_node.select()
            closest_node.depth = mindist
            closest_node.selected_loc = start + direction * mindist
            self. selected_node = closest_node

В классе Node функция pick проверяет, пересекается ли луч с AABB Node. Если узел выбран, то функция select переключает состояние выбора узла. Обратите внимание, что в качестве третьего параметра функция ray_hit AABB получает матрицу преобразований между координатным пространством параллелепипеда и координатным пространством луча. Перед вызовом функции ray_hit каждый узел вносит собственные преобразования в матрицу.

    # class Node
    def pick(self, start, direction, mat):
        """ 
        Return whether or not the ray hits the object
        Consume:  
        start, direction form the ray to check
        mat is the modelview matrix to transform the ray by 
        """
        # transform the modelview matrix by the current translation
        newmat = numpy.dot(
            numpy.dot(mat, self.translation_matrix), 
            numpy. linalg.inv(self.scaling_matrix)
        )
        results = self.aabb.ray_hit(start, direction, newmat)
        return results
    def select(self, select=None):
       """ Toggles or sets selected state """
       if select is not None:
           self.selected = select
       else:
           self.selected = not self.selected

Схему выбора на основе пересечения луча и AABB очень легко понять и реализовать. Однако в некоторых ситуациях результаты оказываются ошибочными.

Рисунок 3 — Ошибка AABB

Например, в случае примитива Sphere, сама сфера касается AABB только в центре каждой из граней AABB. Однако если пользователь нажмёт на угол AABB сферы, будет обнаружена коллизия со сферой, даже если пользователь хотел нажать на что-то за ней (Рисунок 3).

Такой компромисс между сложностью, производительностью и точностью очень распространён в компьютерной графике и во многих областях проектирования ПО.

Изменение объектов сцены

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

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

    # class Viewer
    def move(self, x, y):
        """ Execute a move command on the scene. """
        start, direction = self.get_ray(x, y)
        self.scene.move_selected(start, direction, self.inverseModelView)
    def rotate_color(self, forward):
        """ 
        Rotate the color of the selected Node. 
        Boolean 'forward' indicates direction of rotation.  
        """
        self.scene.rotate_selected_color(forward)
    def scale(self, up):
        """ Scale the selected Node. Boolean up indicates scaling larger."""
        self.scene.scale_selected(up)

Смена цвета

Манипуляция цветом выполняется через список возможных цветов. Пользователь может перемещаться по списку клавишами со стрелками. Сцена отдаёт команду смены цвета текущему выбранному узлу.

    # class Scene
    def rotate_selected_color(self, forwards):
        """ Rotate the color of the currently selected node """
        if self.selected_node is None: return
        self.selected_node.rotate_color(forwards)

Каждый цвет хранит свой текущий цвет. Функция rotate_color просто изменяет текущий цвет узла. Цвет передаётся OpenGL с помощью glColor при рендеринге узла.

    # class Node
    def rotate_color(self, forwards):
        self.color_index += 1 if forwards else -1
        if self. color_index > color.MAX_COLOR:
            self.color_index = color.MIN_COLOR
        if self.color_index < color.MIN_COLOR:
            self.color_index = color.MAX_COLOR

Масштабирование узлов

Как и в случае с цветом, сцена отдаёт команды изменения масштаба выбранному узлу, если он есть.

    # class Scene
    def scale_selected(self, up):
        """ Scale the current selection """
        if self.selected_node is None: return
        self.selected_node.scale(up)

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

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

    # class Node
    def scale(self, up):
        s =  1.1 if up else 0.9
        self. scaling_matrix = numpy.dot(self.scaling_matrix, scaling([s, s, s]))
        self.aabb.scale(s)

Функция scaling возвращает матрицу, соответствующую коэффициентам масштабирования , и .

def scaling(scale):
    s = numpy.identity(4)
    s[0, 0] = scale[0]
    s[1, 1] = scale[1]
    s[2, 2] = scale[2]
    s[3, 3] = 1
    return s

Перемещение узлов

Для перемещения узла мы используем то же вычисление луча, что и для выбора. Мы передаём луч, представляющий текущую позицию мыши, в функцию move сцены. Новое местоположение узла должно находится на луче. Чтобы определить, куда луч должен поместить узел, нам нужно знать, расстояние узла от камеры. Так как мы сохранили местоположение узла и расстояние до камеры при его выборе (в функции pick), можно использовать здесь эти данные. Мы находим точку, находящуюся на том же расстоянии от камеры вдоль луча и вычисляем разность векторов между новым и старым местоположением. Затем мы перемещаем узел на получившийся вектор.

    # class Scene
    def move_selected(self, start, direction, inv_modelview):
        """ 
        Move the selected node, if there is one.
            
        Consume: 
        start, direction describes the Ray to move to
        mat is the modelview matrix for the scene 
        """
        if self.selected_node is None: return
        # Find the current depth and location of the selected node
        node = self.selected_node
        depth = node.depth
        oldloc = node.selected_loc
        # The new location of the node is the same depth along the new ray
        newloc = (start + direction * depth)
        # transform the translation with the modelview matrix
        translation = newloc - oldloc
        pre_tran = numpy.array([translation[0], translation[1], translation[2], 0])
        translation = inv_modelview.dot(pre_tran)
        # translate the node and track its location
        node.translate(translation[0], translation[1], translation[2])
        node. selected_loc = newloc

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

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

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

    # class Node
    def translate(self, x, y, z):
        self.translation_matrix = numpy.dot(
            self.translation_matrix, 
            translation([x, y, z]))

Функция translation возвращает матрицу перемещения, соответствующую списку расстояний перемещения по , и .

def translation(displacement):
    t = numpy.identity(4)
    t[0, 3] = displacement[0]
    t[1, 3] = displacement[1]
    t[2, 3] = displacement[2]
    return t

Размещение новых узлов

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

    # class Viewer
    def place(self, shape, x, y):
        """ Execute a placement of a new primitive into the scene. """
        start, direction = self.get_ray(x, y)
        self.scene.place(shape, start, direction, self.inverseModelView)

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

    # class Scene
    def place(self, shape, start, direction, inv_modelview):
        """ 
        Place a new node.
            
        Consume:  
        shape the shape to add
        start, direction describes the Ray to move to
        inv_modelview is the inverse modelview matrix for the scene 
        """
        new_node = None
        if shape == 'sphere': new_node = Sphere()
        elif shape == 'cube': new_node = Cube()
        elif shape == 'figure': new_node = SnowFigure()
        self.add_node(new_node)
        # place the node at the cursor in camera-space
        translation = (start + direction * self.PLACE_DEPTH)
        # convert the translation to world-space
        pre_tran = numpy.array([translation[0], translation[1], translation[2], 1])
        translation = inv_modelview.dot(pre_tran)
        new_node.translate(translation[0], translation[1], translation[2])

Итог

Поздравляю! Мы успешно реализовали небольшой 3D-редактор!

Рисунок 4 — Пример сцены

Мы узнали, как разработать расширяемую структуру данных, описывающую модели в сцене. Также мы поняли, что использование шаблона проектирования «Компоновщик» и древовидных структур данных упрощает обход сцены для рендеринга и позволяет добавлять новые типы узлов без повышения сложности кода. Мы использовали эту структуру данных для рендеринга проекта на экран и манипулировали матрицами OpenGL при обходе графа сцены. Мы создали очень простую систему обратных вызовов для событий уровня приложения, и использовали её для инкапсуляции обработки событий операционной системы. Далее мы рассмотрели возможные реализации обнаружения коллизий луча с объектом и компромиссы между точностью, сложностью и производительностью. В конце мы реализовали методы манипуляций с содержимым сцены.

При разработке полнофункционального 3D-приложения вы столкнётесь с этими же базовыми строительными блоками. Структура графа сцены и относительные координатные пространства используются во многих видах приложений для работы с 3D-графикой, от САПР до игровых движков. Сильным упрощением в этом проекте стал интерфейс пользователя. Готовый 3D-редактор должен иметь полный интерфейс пользователя, которому потребуется гораздо более сложная система событий, чем наша простая система обратных вызовов.

Вы можете экспериментировать дальше и попробовать добавить в проект новые функции. Попробуйте реализовать что-нибудь из этого списка:

  • Добавить тип Node для поддержки мешей треугольников произвольной формы.
  • Добавить стек отмены действий, чтобы можно было отменять/повторять действия пользователя.
  • Сохранение/загрузка проекта в трёхмерный формат файлов, например, в DXF.
  • Интеграция движка рендеринга: экспорт проекта для использования в фотореалистичном рендерере.
  • Улучшить распознавание коллизий точным пересечением луча с объектом.

Дальнейшее исследование

Для дальнейшего изучения реального ПО 3D-моделирования интересно рассмотреть проекты с открытым исходным кодом.

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

OpenSCAD — это инструмент для 3D-моделирования с открытым исходным кодом. Он не интерактивен — программа считывает скрипт, определяющий, как генерировать сцену. Это даёт проектировщику «полный контроль над процессом моделирования».

Подробнее об алгоритмах и техниках компьютерной графики можно узнать из замечательного ресурса Graphics Gems.

Об авторе

Эрик — разработчик ПО и фанат двухмерной и трёхмерной компьютерной графики. Он занимался разработкой видеоигр, ПО для трёхмерных спецэффектов и инструментов САПР. Если дело касается симулирования реальности, то есть вероятность, что ему захочется об этом узнать. Найти его онлайн можно на сайте erickdransch.com.

Проектирование и 3D графика — курсы в Санкт-Петербурге

  • О курсах
  • Правила приёма
  • Учебный процесс
  • Документы
  • Расписание
О курсах Правила приёма Учебный процесс

Расписание


  • Каталог курсов
  • Онлайн курсы
  • Продукты и технологии
  • Производители
  • Поиск курса

Используйте символы русского и английского языка и цифры Используйте символы русского и английского языка и цифры

Компьютерный дизайн Проектирование и 3D графика САПР Autodesk Autodesk 3ds Max Autodesk AutoCAD Autodesk Revit Architecture Autodesk Maya 3D-моделирование

Компьютерное проектирование в системе AutoCAD (базовый курс)

Курс дает полное представление о двумерном проектирования в среде AutoCAD. Курс рассматривает основные инструменты создания и редактирования чертежей в соотвествии с ГОСТ, а также подготовку их к печати.

Уровень сложности:

Длительность курса: 40 ак.ч. очно

График обучения: 5 дней по 8 ак.ч. или 10 дней по 4 ак.ч.

10.10.2022
10:00
Записаться

3ds MAX. Основы трёхмерного моделирования

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

Уровень сложности:

Длительность курса: 40 ак.ч. очно

График обучения: 5 дней по 8 ак.ч. или 10 дней по 4 ак.ч.

Оставить заявку

Разработка концепт-арт персонажа

Разработка яркого и привлекательного концепта персонажа занимает важное место в индустрии игр и анимации. Работа будет происходить в программе Adobe Photoshop с использованием графического планшета, что является стандартом отрасли.

Уровень сложности:

Длительность курса: 40 ак.ч. очно

График обучения: 10 занятий по 4 ак.часа

Оставить заявку

AutoCAD для интерьеров

Курс рассчитан на изучение основ работы AutoCAD, необходимых навыков и знаний для подготовки пакета рабочих чертежей: обмерный чертеж; планы: перепланировки помещения, расстановки мебели, оборудования, электрики, раскладки полов и т.д.

Уровень сложности:

Длительность курса: 40 ак.ч. очно

График обучения: 10 дней по 4 ак.ч.

Оставить заявку

Анимация трехмерного персонажа в Autodesk Maya

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

Уровень сложности:

Длительность курса: 24 ак.ч. очно

График обучения: 6 занятий по 4 ак.часа

Оставить заявку

Визуализация интерьеров

Курс посвящен принципам создания фотореалистичной архитектурной визуализации в 3ds MAX с применением дополнительных возможностей, предлагаемых плагином Corona.

Уровень сложности:

Длительность курса: 60 ак.ч. очно

График обучения: 9 занятий по 4 ак.ч.

Оставить заявку

Основы моделирования в Autodesk Maya

Программа посвящена освоению пакета Autodesk Maya, общей философии работы с 3D графикой, базовым принципам моделирования, текстурирования и рендера сцен. Слушатели получат практические знания о полигональном и сплайновом моделировании, о процедурном и растровом текстурировании объектов, об освещении сцены и использовании и настройках рендера Arnold.

Уровень сложности:

Длительность курса: 36 ак.ч. очно

График обучения: 9 занятий по 4 ак.часа

Оставить заявку

Создание трехмерного персонажа в Autodesk Maya

Цель курса — создание собственного, технически готового к анимации персонажа. Слушатели узнают о пайплане, необходимом для создания оптимизированного игрового/анимационного персонажа. Освоят на практике все технические этапы, создадут модель человека, затекстурируют её и подготовят к анимации.

Уровень сложности:

Длительность курса: 44 ак.ч. очно

График обучения: 11 занятий по 4 ак.часа

Оставить заявку

Трехмерное моделирование в дизайне интерьеров

Курс об интерьерном моделировании и архитектурной визуализации. Вы получите практические навыки использования инструментов, освещения, подготовки материалов и рендеринга в Autodesk 3ds Max.

Уровень сложности:

Длительность курса: 76 ак.ч. очно

График обучения: 11 занятий по 4 ак.ч.

Оставить заявку

Компьютерное проектирование в системе AutoCAD (профессиональный курс)

По окончании курса слушатели получат теоретические знания о различных типах моделирования, о средствах визуализации и анимации. Слушатели получат практические навыки: создание трехмерных моделей различных типов — каркасных, поверхностных, твердотельных; просмотр и преобразование моделей в трехмерном пространстве. 

Уровень сложности:

Длительность курса: 40 ак.ч. очно

График обучения: 5 дней по 8 ак.ч. или 10 дней по 4 ак.ч.

Оставить заявку

Архитектурное проектирование в Autodesk Revit Architecture

Revit Architecture — система проектирования и подготовки конструкторской документации. Все данные проекта взаимосвязаны и координируется с другими представлениями проекта, обеспечивая автоматическое согласование изменений в любых компонентах проекта: виды, разрезы, спецификации и т.п.

Уровень сложности:

Длительность курса: 40 ак.ч. очно

График обучения: 5 дней по 8 ак.ч. или 10 дней по 4 ак.ч.

Оставить заявку

СРАВНЕНИЕ ПРОГРАММ ТРЁХМЕРНОЙ ГРАФИКИ. 3D ПРОЕКТИРОВАНИЕ.

  • Авторы
  • Файлы работы
  • Наградные документы

Инкулец А.А. 1


1МБОУ СШ№3

Автор работы награжден дипломом победителя II степени

Диплом школьника

Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке «Файлы работы» в формате PDF

Оглавление

Введение…………………………………………………………………. ……..3

Глава I. Понятие компьютерной графики……………………………….……4 1.1.Определение компьютерной графики………………………….……4 Глава II. Практическая часть………………………………………….……..5

2.1. Паспорт исследования………………………………………………………5

2.2.Исследование…………………………………………………………….……62.3.Савнительный анализ……………………………………….…………..……9

Вывод…………………………………………………………………….…….10

Заключение……………………………………………………………………11

Списки источников и литературы……………………………………………12

Приложение 1…………………………………………………………………13

Приложение 2…………………………………………………………………16

Приложение 3…………………………………………………………………18

Введение

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

Без компьютерной графики невозможно представить себе не только компьютерный, но и обычный, вполне материальный мир. На сегодняшний день компьютеры и компьютерная графика неотъемлемая часть жизни современного общества. Для примера назовём медицину (компьютерная томография), научные исследования (визуализация строения вещества, векторных полей и других данных), моделирование тканей и одежды, опытно-конструкторские разработки, рекламные щиты, цветные журналы, спецэффекты в фильмах — всё это в той или иной мере имеет отношение к компьютерной графике. Поэтому созданы программы для создания и редактирования изображений, то есть графические редакторы.

Компьютерной графикой в последнее время занимаются многие, что обусловлено высокими темпами развития вычислительной техники. Более 90% информации здоровый человек получает через зрение или ассоциирует с геометрическими пространственными представлениями. Компьютерная графика имеет огромный потенциал для облегченияпроцесса познания и творчества.

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

Глава I. Понятие компьютерной графики

1.1. Определение компьютерной графики

Графические программы — это раздел информатики, изучающий способы и средства обработки и создания графического изображения с помощью техники. Различают четыре вида компьютерной графики, несмотря на то, что для обработки картинки с помощью компьютера существует огромное количество различных программ. Это растровая, векторная, фрактальная и 3-D графика. Базовым элементом растрового изображения или иллюстрации является точка. Основная проблема растрового изображения – это большие объемы данных. Второй недостаток растровой графики – необходимость увеличить картинку для того, чтобы рассмотреть детали. Кроме того, при сильном увеличении происходит пикселизация изображения, то есть разделение его на пиксели, что в значительной степени искажает иллюстрацию. Элементарной составляющей векторной графики является линия. Естественно, что в растровой графике тоже присутствуют линии, однако они рассматриваются как совокупность точек. А в векторной графике все, что нарисовано, является совокупностью линий. Этот тип компьютерной графики идеален для того, чтобы хранить высокоточные изображения, такие как, например, чертежи и схемы. Информация в файле хранится не как графическое изображение, а в виде координат точек, с помощью которых программа воссоздает рисунок. Фракталом называется рисунок, состоящий из одинаковых элементов. Большое количество изображений являются фракталами. К примеру, снежинка Коха, множество Мандельброта, треугольник Серпинского, а также «дракон» Хартера-Хейтчея. Фрактальный рисунок можно построить либо с помощью какого-либо алгоритма, либо путем автоматического создания изображения, которое осуществляется путем вычислений по заданным формулам. Главным преимуществом фрактальной графики является то, что в файле изображения сохраняются только формулы и алгоритмы. 3D-графика, или трехмерная графика, изучает методы и приемы создания объемных моделей объектов, максимально соответствующие реальным. Подобные изображения можно рассмотреть со всех сторон. 3D-моделирование — это процесс создания трехмерной модели объекта. Задача 3D-моделирования — разработать визуальный объемный образ желаемого объекта. С помощью трехмерной графики можно и создать точную копию конкретного предмета, и разработать новое, даже нереальное представление до сего момента, не существовавшего объекта.

Глава II. Практическая часть

2.1. Паспорт исследования

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

Проблема: Я столкнулся с проблемой выбора графического редактора для 3D моделирования.

Целью этой работы является выяснить, какой из графических редакторов подходит в той или иной профессии.

Объектом исследования являются графические редакторы, такие как SketchUp, Sweet Home 3D, Wings 3D и Autodesk Maya.

Задачи:

  1. Освоение графических редакторов.

  2. Получение моделей 3D проектирования.

  3. Сравнение графических редакторов.

Методы исследования: работа в графических редакторах SketchUp, Sweet Home 3D, Wings 3D и Autodesk Maya.

Основные понятия: графические программы, компьютерная графика,3D моделирование.

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

2.2. Исследование

Описание

1.SketchUp — программа для моделирования относительно простых трёхмерных объектов — строений, мебели, интерьера.

Возможные варианты использования: эскизное моделирование в архитектуре, дизайн интерьера, ландшафтный дизайн, дизайн наружной рекламы, инженерное проектирование

Ссылка на скачивание http://www.sketchup.com/#get-good-fast

На сайте есть видео уроки для подробного изучения программы.

Чтобы разобраться как же в ней работать я решил смоделировать дом. И вот что у меня получилось. Подробное описание создания модели смотрите в [Приложение 1].

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

Возможные варианты использования: Двумерные и трёхмерные планы, Создание демонстрационных графических и видео файлов проекта интерьера, импорт трёхмерных моделей в форматах: OBJ, DAE, 3DS и LWS.

Ссылка на скачивание http://www.sweethome3d.com/ru/userGuide.jsp

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

3. Wings 3D — это бесплатная программа 3D-моделирования с открытым исходным кодом, на которую повлияли программы Nendo и Mirai от компании Izware. Wings 3D обладает интуитивно понятным интерфейсом.

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

Подробное описание работы вы можете посмотреть в [Приложение 3].

4.AutodeskMaya —это мощный профессиональный редактор 3-мерной графики. Сегодня он с успехом используется в различных сферах: телевидении, кинематографе, при разработке компьютерных игр. Avtodesk Maya является кроссплатформенным приложением. Пакет позволяет добиться более реалистичного графического представления/визуализации за небольшой срок.

Возможные варианты использования: моделирование, анимация, композинг и рендеринг.

Ссылка на скачивание http://www.autodesk.ru/products/maya/overview

Изучав эту программу, я смог смоделировать вот такой стул.

2.3. Сравнительный анализ

Интуитивный интерфейс — можно без особых знаний работать в программе.

Чертёжник – функция для наглядного изображения предмета.

3D моделирование игр – способность создавать трёхмерные игры.

Русский язык – наличие русского языка.

Рендеринг — создание плоского изображения (картинки) по разработанной 3D сцене.

Анимация — движение модели объекта.

Полигон – чем больше полигонов, тем глаженей будет фигура.

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

 

SketchUp

Sweet Home 3D

Wings 3D

Autodesk Maya

Интуитивный интерфейс

да

да

нет

нет

Чертёжник

есть

есть

нет

есть

3D Моделирование игр

нет

нет

нет

да

Русский язык

нет

да

да

нет

Рендеринг

нет

да

да

да

Анимация

нет

нет

нет

да

Полигоны

да

нет

да

да

Добавление

текстуры

да

да

да

да

Вывод

Я проводил опрос среди учащихся моей школы. Мои одноклассники оценивали по реалистичности выполненных моделей объектов. Из результатов опроса мы видим, что с явным преимуществом победила программа Avtodesk Maya. А из моего сравнения также видно, что победила программа Avtodesk Maya.Поэтому у нас один и тот же победитель.

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

Заключение

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

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

Я выполнил задачи, которые были поставлены мною, такие как освоение графических редакторов, получение 3D моделей.

В исследовании были использованы программы, такие как SketchUp, Sweet Home 3D, Wings 3D и Avtodesk Maya. Проведенное исследование показало, что если я хочу идти на дизайнера, то мне нужна программа SketchUp. Если я хочу работать инженером, то мне подойдёт программа Wings 3D.А если захочу идти на архитектора, то мне бы подошла программа Sweet Home 3D. Если мне захочется создавать анимацию для мультиков или игр, то мне подойдёт программа Avtodesk Maya.

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

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

Списки источников и литературы.

  1. Компьютерная графика

URL:http://fb.ru/article/190005/kompyuternaya-grafika-chto-takoe-vidyi-kompyuternoy-grafiki

  1. трёхмерная графикаURL: https://ru.wikipedia.org/wiki/Трёхмерная_графика

  2. картинкаURL: http://yandex.ru/images/search?text=применение%20компьютерной%20графики&img_url=http%3A%2F%2Fwww.adaladova.icnn.ru%2Fphoto%2F19.jpg&pos=15&rpt=simage&uinfo=sw-1280-sh-800-ww-1263-wh-685-pd-1-wp-16x10_1280x800

  3. Системные требования SketchUp

URL: http://progline.net/SketchUp

  1. Системные требования Wings 3D

URL: http://kluchitut. com/index.php?topic=2922.0

  1. Области примененияURL: http://cpu3d.com/grapplicat%20/oblasti-primeneniya-kompyuternoy-grafiki/

URL: http://dolinin-infografika.narod.ru/p0005.htm

  1. остальная информация о программах была взята из википедии.

  2. некоторые картинки были взяты из личного архива.

  3. Петров М.Н. Компьютерная графика. — СПб: Питер, 2007. — 478 с.

  4. Описание Avtodesk Maya

URL: http://chem-otkrit.ru/soft/Autodesk_Maya

Приложение 1

SketchUp

Изображение. 1. Сначала я открываю программу SketchUp и создаю с помощью карандаша (line) или с помощью прямоугольника (rectangle) создаю произвольную фигуру.

Изображение.1.

 

 

Изображение.2.

 

Изображение.2. Потом с помощью кнопки тянуть (push/pull) поднимаю эту поверхность (изображение.1.) на любую высоту.

 

Изображение.3.

 

Изображение.3. Затем я должен нарисовать с помощью

карандаша внизу нашего объекта что-то вроде фундамента.

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

Изображение.4.

Рис.4.

 

 

Изображение.5.

 

Изображение.5. С помощью команды push/pull я выдавливаю наружу основание нашего будущего домика.

 

Изображение.6.

 

Иображение.6. Затем я провожу перпендикуляры моей крыши. Потом я провожу отрезки к вершине перпендикуляра.

Изображение.7. После того как я соединил отрезки, у меня получилось что-то похожее на крышу. А чтобы моя крыша была похожа на крышу, я изменяю её цвет с помощью заливки (paint bucket). Остальные фрагменты моего дома я тоже закрашиваю под нужный мне цвет.

Изображение.7.

Рис.6.

 

Изображение.8. Последнее что мне осталась это добавить дверь и окна. Их можно сделать благодаря тем командам, которые были описаны ранее.

Изображение.8.

 

Приложение 2

SweetHome 3D

Изображение.9. Чертежник находится вверху посередине и вверху справа. Модель, которую я рисую в чертежнике, будет автоматически отображаться ниже самого чертежника.

Для начала я рисую в чертёжнике линию, то есть это будет стена.

 

Изображение. 9.

 

Изображение.10. Достраиваю остальные стены нашей будущей комнаты.

 

Изображение.10.

 

Изображение.11. После того как я достроил остальные стены моей комнаты мне нужно украсить эту комнату элементами декора. Для этого с левой стороны есть меню где написано комнаты, которые нам нужны и предметы этой комнаты. Чтобы задать размеры выбираемого объекта надо посмотреть пониже этого меню.

Изображение.11.

 

Изображение.12. Обставляю мою комнату мебелью.

 

Изображение.12.

 

Изображение. 13. Когда я закончил обустраивать мою комнату я могу посмотреть на неё изнутри. Для этого надо зайти вверху в меню→ 3D вид → виртуальный посетитель. Поместить его можно где угодно. Сохранить эту комнату можно и в пропорциях 3D.

Комната готова.

 

Изображение.13.

 

Приложение 3

Wings 3D

Изображение.14. Для начала откроем программу Wings 3D. Как только вы откроете эту программу вы увидите это изображение. Первый раз, когда вы зайдёте в эту программу она будет на английском языке. Если захотите поменять, то зайдите в меню Edit→ Preferences…→User Interface и там выбираете язык, который вам нужно.

Изображение.14.

 

Изображение. 15. С языком разобрались теперь перейдём к делу. Нажимаю правой кнопкой мыши, выходит меню, выбираю сферу (sphere). Можно задать параметры сферы. Для этого надо нажать правую кнопку мыши, навожу курсор на название сфера и рядом с ней, будет небольшой прямоугольник. Нажимаю на него и задаю размеры. Чтобы вращать выбранный предмет нажимаю на колёсико мыши и потом верчу. Чтобы выйти из этого режима нажму левую кнопку мыши. А если понадобится отменить изменение нажимаю правую кнопку мыши.

Изображение.15.

 

 

Изображение.16.

 

Изображение.16. Нажимая на кнопки на клавиатуре x, y, z, я могу увидеть нашу сферу с разных сторон. Мне нужна пока только одна сторона. Нажимаем на X. После того как я нажал можно увидеть вот такую картинку. После того как я всё это выполнил выделяю половину сферы нажимаю правую кнопку мыши и нажимаю на Flatten. Получается вот это (Изображение.17.)

Изображение.16.

 

 

Изображение.17.

 

Изображение.18. Дальше я поворачиваю камеру и оставляю в таком виде как на рисунке. Выделяю мою верхушку как на изображении 18. Символ на клавиатуре + значит добавление ещё полигонов (граней) к выделенному. Не трудно догадаться что символ означает противоположное. Дальше я нажимаю на клавишу -.

Изображение.18.

 

Изображение.19. После того как я всё это выполнил у нас получилось изображение 19.

Изображение.19.

 

Изображение. 20. Чтобы у меня получилось, так же, как и на картинке, я нажимаю на правую кнопку мыши, выбираю самую верхнюю команду двигать (move). После этого появится ещё одно окно где написаны оси. Мне нужно выбрать ось относительно которой я буду двигать – это ось Y.

Изображение.20.

 

 

Изображение.21.

 

Изображение.21. Чтобы получить такой каркас нажимаю на клавишу w на клавиатуре.

Изображение.22. Возвращаюсь в знакомый мне вид (X на клавиатуре).

Изображение.22.

 

 

Изображение.23.

 

Изображение. 23. Чтобы опустить выделенную часть нажимаю правую кнопку мыши двигать (move) относительно Y. А потом это выравниваю относительно боковых линий. Затем опять нажимаю правую кнопку мыши, выбираю увеличить радиально (Scale Radial). Когда выровнял, нажимаю опять (минус) и циклично повторяю то, что описано выше, до тех пор, пока я не опущу все круги, (Изображения 24 – 25).

 

Изображение.25.

 

 

Изображение.26.

 

Изображения 24 – 26 – выполнение цикла.

Изображение.24.

 

 

Изображение.25.

 

 

Изображение. 26.

 

Изображения.27 –29. На этих изображениях показано, что я возвращаюсь к прежнему виду (клавиша w на клавиатуре) и переворачиваю камеру так, чтобы было видно низ моей чашки.

Изображение.27.

 

 

Изображение.28.

 

 

Изображение.29.

 

Изображение.30. Как видно на рисунке я выделяю низ нашей чашки. Затем я нажимаю на правую кнопку мыши, выбираю функцию увеличить равномерно (scale uniform) или можно это сделать другим способом. Нажимаю на правую кнопку мыши, выбираю функцию выдавить (extrude) и выбираю относительно, какой оси (ось Y).

Изображение. 30.

 

 

Изображение.31.

 

Изображение.31. Я переворачиваю камеру и вижу, что дно у меня неровное. Для этого нажимаю правую кнопку мыши, выбираю функцию расплющить (flatten).

Изображение.32. Я перевернул чашку. Осталось только сделать её ровной.

Изображение.32.

 

Изображение.33. Чтобы сгладить поверхность я выбираю функцию сгладить (smooth).

Изображение.33.

 

 

Изображение.34.

 

Иображение.34. После сглаживания получилась вот такая ровная чашечка.

Просмотров работы: 1733

3D-моделирование. С чего начать, как сделать карьеру в 3D и не перегореть.

Блог xyz school

Художник Евгений Пак, а также левел-дизайнер Денис Куандыков, делятся советами и историями о том, как сделать карьеру в 3D, и как не допустить на этом пути ошибок.

Работа из портфолио Евгения Пака

Как прийти в 3D-моделирование

Все приходят в 3D по-разному. Одни вдохновились играми в детстве и стремились попасть в игровую индустрию. Другие начинали с motion-design и 3D-анимации, а затем добавили моделирование в свой список навыков. А некоторые просто делали модели «для души», набивая руку.

Работа из портфолио нашего преподавателя

Иногда к изучению 3D подталкивает создание модификаций. Например, модер понимает, что нужной ему модели нигде нет, и выход один: сделать её самому.

Денис Куандыков, левел-дизайнер VOID Interactive:

Для меня 3D не было самоцелью. Изначально я делал модификации для игр, потому что жил в деревне и мне не во что было играть — сам себя так развлекал. В основном делал моды для Far Cry, там был клёвый редактор уровней. Когда подрос скилл в создании уровней, я начал набирать авторитет в сообществе моддеров и понял, что мне не хватает моделей, которые уже были в движке. Поначалу я моделировал не обстановку, а геймплей, на базовых формах, прямо внутри движка. А потом я пришёл к тому, что хочу использовать не тот кирпич, что есть, например, в Crysis, а свой кирпич. Мне нужен был новый инструмент, чтобы делать что-то круче и интереснее. Получается, я пришёл в 3D, чтобы стать сильнее в левел-дизайне.

Источник

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

Евгений Пак, художник по окружению в People Can Fly

Если вы в самом-самом начале, то наиболее эффективный способ найти себя в 3D — это пропустить через себя много информации и попробовать разные программы. Я не призываю полностью изучать — но попробовать всегда стоит. Ведь 3D — это не просто одна какая-то ниша, оно делится на очень много уровней. Тут есть motion-design, есть продакшн для фильмов, реклама, геймдев, интерьерка. Всё сразу не изучить.

Работа из портфолио Евгения Пака

Когда 3D-художник уже освоил базовый набор инструментов, он сталкивается с вопросом: как продолжить развиваться.

Каждый моделер рано или поздно закрепляется на какой-то позиции: например, в должности вечного аутсорсера. Или становится известен как человек, который быстро и красиво рисует, к примеру, автомобили. Это нормальный, даже важный этап карьеры, но, в определённый момент от него нужно отказываться.

Преподаватель XYZ School

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

Постоянная миграция из проекта в проект не даёт навыкам 3D-художника «застояться». В одной компании он может моделировать интерьеры, в другой — создавать персонажей, в третьей — прорабатывать реалистичные ткани.

Кругозор расширяется, но постепенно у моделера всё равно может сложиться впечатление, что он занимается примерно одним и тем же. Чтобы выйти из такого состояния, нужно осознать, что 3D-моделирование — это ещё и творчество.

Работа из портфолио преподавателя XYZ School

Как стать творцом

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

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

Например, моделер может просто любить больших боевых роботов и научиться моделировать их в совершенстве. Так случилось, например, с художником Виталием Булгаровым, который в итоге создавал роботов для Starcraft 2: Heart Of The Swarm и четвёртых «Трансформеров» Майкла Бэя.

Источник

Преподаватель XYZ School:

На самом деле, я никогда не хотел быть трёхмерщиком, а хотел делать мультфильмы и снимать кино. И я снял несколько фильмов и мультфильмов! Правда они все отстойные, был молод и не умел ни черта. 3D было лишь инструментом в этой работе. Я никогда не целился в моделинг, просто начал за него довольно рано получать деньги, да и дело интересное. Хорошая комбинация.

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

Денис Куандыков, левел-дизайнер VOID Interactive

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

Работа из портфолио Дениса Куандыкова

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

Как сбежать от рутины

«Ящиками» в 3D-моделировании часто называют однотипные, скучные объекты, которые не дают художнику простора для фантазии, но всё равно необходимы в разработке. Это могут быть, собственно, ящики, камни, и так далее. Если работать над такими задачами постоянно, появляется усталость от работы — хроническое состояние, от которого трудно избавиться. Но несколько способов всё же есть.

Уставшему от одинаковых моделей художнику лучше сторониться проектов-блокбастеров — тех самых The Elder Scrolls, Call of Duty и Grand Theft Auto, над которыми многие так хотят работать. Облик AAA-игр определяют арт-директора и старшие художники, в то время как их подчинённые просто выполняют задачи, которые им выдают. Творческий процесс в таких условиях сводится к нулю.

Источник

Денис Куандыков, левел-дизайнер VOID Interactive

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

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

Subnautica. Работа из портфолио Евгения Пака

Как не заскучать от однообразия

Даже если 3D-художнику пришлось столкнуться с более «конвейерным» производством, у него в запасе остаётся несколько хитростей. Одна из них — kitbashing. В среде 3D-моделеров считается дурным тоном брать готовые модели, но на самом деле это нормальная практика. Ведь если нужно сделать десять моделей, из каждой из которых будет торчать гвоздь, то совсем не зазорно сделать один гвоздь и расставить его по десяти моделям. Ещё можно взять гвоздь из своей старой работы, или скачать готовый и слегка переделать.

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

Subnautica. Работа из портфолио Евгения Пака

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

Евгений Пак, художник по окружению в People Can Fly:

Все 3D-программы очень схожи по своей философии — когда знаешь много программ, начинаешь это понимать. Новичку кажется, что каждая программа уникальна и по-своему сложна, но я бы сказал, что стоит просто попробовать и убедиться, что полигоны везде одинаковые, да и многие инструменты тоже. Еще есть такая вещь как learning curve [кривая обучаемости]: когда начинаешь что-то новое, то учишься быстро, и твоё развитие поднимает боевой настрой. Это такой лёгкий лайфхак — начать заниматься 3D и сразу получить бонус к пониманию и к смелости. Можно поставить себе цель: замоделить стакан и карандаш во всех программах, какие получится найти. Ну и после такого сразу станет понятно, какой софт нравится больше.

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

Источник

Как не запутаться в инструментах

Некоторые 3D-художники в поисках чего-то нового начинают изучать все программы, до которых могут дотянуться. Грубо говоря, они вводят в поисковик запрос «top professional software for 3D modelling» и пытаются изучить всё.

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

Преподаватель XYZ School

Когда я начинал осваивать 3D-моделирвоание, я очень парился из-за кнопок и изучал вообще всё подряд — 3DMax, Maya, RealFlow, Mari и Quiexel, Nuke, After Effects. В общем, кучу программ пробовал и полное дерьмо делал. Прямо смотреть было невозможно, до сих пор стыдно. Поэтому я считаю, что решают не «кнопки», а арт-навыки — иначе работы не становятся лучше, а только технически усложняются.

Работа из портфолио преподавателя XYZ School

Все компании используют разные инструменты, а движки отличаются друг от друга. Поэтому 3D-художнику всё равно придётся выполнять задачи, используя незнакомые инструменты — и тогда это действительно будет необходимо. Но даже в такой ситуации нужно не просто «осваивать программу», а лишь учиться выполнять в ней конкретные задачи.

Евгений Пак, художник по окружению в People Can Fly

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

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

Денис Куандыков, левел-дизайнер VOID Interactive

Если у вас широкий кругозор — это хорошо, но расширяя его, вы тратите время. Например, мне нужно что-то затекстурить, и я вспоминаю, что многие хвалят 3D-Coat за текстуринг. И вот я сижу, изучаю текстуринг в новом софте и понимаю, что мне на изучение 3D-Coat потребуется гораздо больше времени, чем затекстурить прямо сейчас в Blender. Потому что у меня рука на нём набита. 3D-Cocat — нструмент хороший, но мне сейчас не подходит. Лучше изучать всё под себя.

Работа из портфолио преподавателя XYZ School

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

Преподаватель XYZ School, 3D-художник

Сесть просто так и что-то замоделировать — это не задача. Изучать кнопки — это уже задача, но довольно скучная и быстро надоедает. А вот создать, например, сферу дайсона, зомби-утку, магазинчик комиксов, любимого персонажа, оружие любимого персонажа — вот это прикольные задачи. За этими задачами очень легко учить кнопки. А есть задачи ещё интереснее. Рассказать историю в картинке? О да! Напугать своих друзей жутким кадром? Тоже классная цель! Сделать кадр, как из фильма? Отлично! В путь! В конце концов, арт — это способ невербального общения, а 3D — один из его языков. Просто так учить слова, буквы и правила скучно и сложно. А общаться на этом языке с другими людьми, в процессе во всём разбираясь — куда интереснее!

Работа из портфолио Евгения Пака

Автор: Юрий Кулагин

——

Читать отзывы о онлайн-школе XYZ School

Понравилась статья?

Хочешь получать лучшие статьи
от XyZ раз в неделю?

Подпишись на рассылку XyZ

Нажимая на кнопку, вы соглашаетесь с условиями обработки данных

Как создавали концепты Dragon Age: Inquisition. Главные референсы и идеи игры.

О процессе создания концепт-арта для игры и персонажей Dragon Age: Inquisition и главных источниках вдохновения. Рассказывает арт-директор Dragon Age — Нил Томпсон.

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

Чтобы создать в игре город или мир, разработчикам нужны сотни референсов. Рассказываем о разных способах сбора референсов на примерах разработчиков Far Cry 4 и GTA:…

3D моделирование объектов недвижимости в Москве: зданий, строений, сооружений.

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

Вопрос: Каким образом удается получить 3D-модель объекта, абсолютно точно передав его геометрические и пространственные характеристики?
Ответ: В основе создания 3х-мерной модели лежат точные данные 3D сканирования, полученные с помощью высокоточных приборов — лазерных  3D сканеров.

КОМУ И ЗАЧЕМ МОЖЕТ ПОНАДОБИТЬСЯ ТРЕХМЕРНАЯ МОДЕЛЬ ОБЪЕКТА НЕДВИЖИМОСТИ?

1. Проектировщикам
Создание трехмерной модели здания — незаменимый атрибут проектирования. На основании 3D-модели можно создать любой прототип здания, строения, жилого комплекса, дома или квартиры. 3D-моделирование позволяет оценить физические и технические особенности объекта еще до его постройки. Визуальная составляющая — безусловно, впечатлит Заказчика и вся информация по объекту будет понятна даже тому, кто ничего не смыслит в строительстве и проектировании (это же не чертежи разглядывать). По 3D макету можно «гулять», т.е. ещё до начала строительных работ клиенты смогут побывать на экскурсии по своему будущему дому.

2. Дизайнерам
Например, для создания 3d-модели будущего интерьера дома, офиса, торгового павильона или квартиры, конечно,  и для создания модели экстерьера. Заказчик сможет по достоинству оценить и/или внести свои «пожелания» по конечному результату еще на стадии планирования, а не в процессе  работ «на объекте» архитектора и дизайнера. «Прогулка» по своему будущему дому понравится любому клиенту.

3. Архитекторам
Архитекторам для их работы необходима точность и детальность в визуальных и геометрических параметрах реального объекта, над которым им предстоит трудиться. Наличие точного 3D макета здания или сооружения, созданного по данным лазерного 3d сканирования,  практически сводит к нулю неприятные сюрпризы при реализации проекта непосредственно на объекте, как для заказчика, так и для исполнителя.

4. Строителям
3D макеты оставляют глубокое впечатление, помогают строительной компании достичь полного взаимопонимания с клиентом, проектировщиком и подрядчиками. Моделирование в 3D дает четкое понимание размеров, объемов строительных материалов. Это важно при составлении сметы – так она получится наиболее точной. Строительным компаниям выгодна работа в таком формате, поскольку существенно экономит время и позволяет добиться взаимопонимания с клиентом, избежать доработок и недопонимания, споров и конфликтов.

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

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

ЭТАПЫ СОЗДАНИЯ 3D МОДЕЛИ ЗДАНИЯ ИЛИ СООРУЖЕНИЯ:

1. Сбор данных об объекте, оценка объема работ, обсуждение желаемого результата (детализации, степени точности),  составление технического задания на работы, подписание договора.

2. Выполнение обмерных работ. Лазерное 3D сканирование объекта. Либо же изучение предоставленных материалов для моделирования (чертежей, данных сканирования, архивных материалов).

3. Построение модели здания/сооружения/помещения в программе для 3D-моделирования на основе данных, полученных 3D сканером, либо «поднимая» данные из обмерных чертежей. Существуют разные технологии 3D-моделирования и разнообразные программы, в которых можно создать трехмерную модель. Выбор во многом зависит от конкретного объекта, который необходимо создать, и его предполагаемого применения. Параметрическое 3D-моделирование, CAD-среда или система автоматизированного проектирования (САПР) является основным способом, которым пользуются инженеры и дизайнеры для создания точных 3D моделей.

Чтобы получить максимально высокое качество текстуры и геометрии здания, рекомендуется использовать сразу две технологии: лазерное 3D-сканирование и фотограмметрическую съемку.

4. Как только ваша 3D-модель будет готова, ее можно будет использовать.

В случаях, когда необходимо создать что-то абсолютно новое (например, проектирование новых зданий и сооружений), удобнее сделать это в программе для 3D-моделирования. Если же нужно получить модель на основе существующего объекта, то стоит выбрать 3D-сканирование. Это позволит не только сэкономить время и силы, но еще и получить точные результаты, которых, вероятнее всего, не удалось бы добиться привычными инструментами для моделирования.

СТОИМОСТЬ РАБОТ ПО 3D МОДЕЛИРОВАНИЮ ЗДАНИЙ:

Цена на услуги 3D моделирования зависит от:

— Наличия исходных материалов
— Объема работ
— Уровня сложности объекта, его доступности
— Сроков выполнения

Услугу создания трехмерной модели здания, дома или сооружения, а также лазерное 3D сканирование  объектов недвижимости в Москве  выполняют опытные специалисты компании «МосСканПроект».

Свяжитесь с нами для обсуждения деталей, определения стоимости работ и заключения договора на
3D моделирование 🖊

📧 [email protected]
МОССКАНПРОЕКТ.РФ
📞 +7 (925) 514-60-82
📞 +7 (495) 763-40-00


Полученный из 3d модели здания коттеджа вид с поперечным разрезом.

3D-моделлер: что за профессия, чем занимается специалист по 3Д-моделированию

<<Лид>>

Где и зачем нужны трёхмерные модели

3D-моделирование — это создание трёхмерных объектов, придуманных или реальных. Например, никто никогда не видел вживую корабли из «Звёздных войн», но их модели для новых эпизодов создавались с помощью 3D-технологий. 3D-моделирование позволяет наглядно представить объект, существующий только в чертежах, например, копию будущего здания или инопланетного пейзажа.

3D-моделлер — специалист, который с помощью специальных программ создаёт цифровой трёхмерный контент.

Сферы, в которых используется 3D-моделирование:

  • кино,
  • телевидение (в том числе моушн-дизайн — создание заставок и фонов),
  • компьютерные игры,
  • анимация,
  • VR (виртуальная реальность),
  • реклама,
  • медицина (создание моделей внутренних органов и искусственных конечностей),
  • промышленный дизайн,
  • архитектура,
  • машиностроение (в том числе самолёто- и ракетостроение),
  • лёгкая промышленность (производство игрушек).

Как работает 3D-моделлер

Я работаю в индустрии развлечений и расскажу именно о ней. В кино 3D-моделлер — всегда часть большой команды. Художники разрабатывают концепт — то, как будет выглядеть мир, техника, персонажи в кино или игре. Специальный отдел занимается сканированием машин, зданий, предметов, людей. Но отсканированная копия или концепт художника — это ещё не 3D-модель, её нужно доработать, и тут за неё берутся 3D-моделлеры. Они придают трёхмерным объектам тот вид, который мы видим на экране. Также моделлер делает юви — «разворачивает» 3D-объект в плоскости, как разворачивают картонную коробку. Потом на этой развёртке, как на холсте, рисуют текстуры. Например, на модели дерева рисуют кору, а персонажу раскрашивают одежду. Этим занимаются художники по текстурам.

Мой путь в профессию

Я учился в военном училище в Иркутске, получил инженерное образование и собирался работать по специальности «авиационный инженер». Однако в 2001 году я увидел фильм «Властелин колец» и понял, что хочу работать в киноиндустрии, заниматься созданием визуальных эффектов.

После вуза я работал по контракту, потом уволился из армии и устроился в студию по производству рекламы. Там я освоил видеомонтаж и познакомился с компьютерной графикой. В 2009 году я устроился работать художником по компьютерной графике в Континентальную хоккейную лигу, в департамент телевидения.

Тогда же я пошёл учиться в школу компьютерной графики, на факультет визуальных эффектов и анимации. Школа дала мне многое: я познакомился с разными видами визуальных эффектов и понял, что больше всего мне нравится именно 3D-моделирование. После телевидения я работал в анимационной студии «Да», а потом перешёл в «Анимаккорд» , где участвовал в создании «Маши и медведя».

В 2018 году я стал моделлером в студии CGF, которая делает компьютерную графику для кино. Так спустя несколько лет сбылась моя мечта работать в киноиндустрии. Кроме работы, я преподаю в Animation Club: читаю лекции, проверяю домашние задания, отвечаю на вопросы.

Где учиться на 3D-моделлера

В кино, игровой индустрии или анимации никто не спрашивает диплом. Здесь смотрят на портфолио и навыки. Всё это можно получить, отучившись на очных или онлайн-курсах. Научиться основам 3D-моделирования можно и самому.

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

Художественные вузы и факультеты.

3D-моделлеру нужно разбираться в технике рисования и скульптуры, понимать, что такое размер, объёмы, форма и перспектива. Работе в специальных программах для 3D-моделирования можно научиться за 4–5 месяцев, а вот художественные навыки нарабатываются гораздо дольше.

Художественный вуз будет огромным преимуществом, когда вы придёте в эту профессию.

Факультеты дизайна и компьютерной графики

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

Технические и инженерные факультеты

Это направление для тех, кто хочет работать 3D-моделлером в промышленном дизайне: создавать модели машин и зданий.

Очные школы и курсы 3D-моделирования

Школ много, их легко найти в интернете. Преимущества очного обучения:

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

Недостатки очной школы — длительность обучения (2 года) и высокая стоимость.

Онлайн-курсы 3D-моделирования

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

Самостоятельное обучение

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

Знания и навыки

Профессия 3D-моделлера — одновременно техническая и творческая, и для успешной работы нужно развивать и то, и другое. Я бы рекомендовал вот что:

Рисование и лепка

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

Знание анатомии

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

Инженерное мышление и знание техники

Особенно важно для моделлеров, которые работают в сфере промышленного дизайна. Для кино и игр тоже создают 3D-модели техники, и надо знать, как она работает.

Креативность и аналитическое мышление

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

Знание программ

Моделлеры работают в специальных программах, которые позволяют воссоздать объект максимально точно: с соблюдением объёмов, размеров, пропорций.Например, я использую Maya, ZBrush, UVLayout, Houdini, SpeedTree, Mudbox.

Личные качества
Коммуникабельность

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

Терпение

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

Умение мотивировать себя

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

Карьера, зарплата, график
Карьера

Примерные ступеньки карьерной лестницы в кино, анимации, игровой индустрии или на телевидении:

  • стажер,
  • джуниор-моделлер,
  • моделлер (или мид-моделлер),
  • сеньор-моделлер,
  • лид-моделлер;
  • руководитель департамента.

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

Заработок 3D-моделлера зависит от индустрии. Больше всего платят в игровой индустрии, на втором месте — анимация, на третьем — кино.

Зарплаты моделлеров в кино

Стажеру часто не платят ничего, два месяца работает бесплатно.

Джуниор-моделлер, успешно прошедший стажировку, получает от 35 до 50 тысяч.

Просто моделлер — от 50 до 75 тысяч.

Старший модделлер — до 100 тысяч.

Лид моделлер или глава департамента — больше 100 тысяч в зависимости от функционала и договорённостей.

График работы

В студии моделлер работает по обычному офисному графику — 8 часов, 5 дней в неделю. Но на работу можно приходить не к 9:00–10:00, а позже. У нас в студии, например, все должны быть на работе до 12:00. Сотрудник может договориться об индивидуальном графике, например, есть такие, кто любит работать вечером. Я работаю с 10:00 до 19:00.

Но когда нужно сдать срочный проект, порой приходится трудиться по 10–12 часов. Как правило, в студиях это время оплачивается. Но такие периоды не длятся долго.

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

Работа и перспективы

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

Сфер, где используют 3D-моделирование, становится всё больше. Активно развиваются технологии виртуальной реальности с использованием 3D-моделей. Совершенствуются системы сканирования объектов. Уже сейчас можно сканировать не только сами объекты, но и эмоции людей — а потом перенести их в 3D. Так что 3D-моделлерам есть куда двигаться и развиваться.

С развитием цифровых технологий появилось много профессий, связанных с созданием визуального контента: компьютерной графики, спецэффектов, объектов виртуальной реальности. Одна из таких профессий — 3D-моделлер.

3D-графический дизайн: определение и принципы

Иллюстрация Лидии Лукьяновой

Трехмерный (3D) дизайн продолжает развиваться с момента своего появления в 1960-х годах под руководством Ивана Сазерленда, создателя первого в мире программного обеспечения для 3D-графики Sketchpad. .

Благодаря развитию 3D-дизайна дизайнеры теперь могут создавать компьютерные объекты или миры, делая их максимально реалистичными. В дополнение к улучшениям, внесенным в 3D-графику, компьютерное программное обеспечение, используемое для создания этих элементов, стало более эффективным и простым в использовании.

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

В мире 3D-дизайна так много всего происходит, что нужно многое понять. Итак, давайте начнем наше путешествие с изучения того, что это такое и как оно используется.

Что такое 3D-дизайн?

3D-дизайн — это процесс использования программного обеспечения для компьютерного моделирования для создания объекта в трехмерном пространстве. Это означает, что самому объекту присвоены три ключевых значения, чтобы понять, где он находится в пространстве.

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

Поскольку комната не плоская, а представляет собой трехмерное пространство, у шара есть три важных значения, которые определяют, где он находится в комнате: ось x, ось y и ось z.

Визуализация p-атомных орбитальных узлов (угловых узлов или узловых плоскостей). Изображение предоставлено Adobe Stock.

Ось X относится к горизонтальному расположению объекта. Чтобы лучше понять это, представьте ярко-зеленую линию, которая проходит по полу от левой стены к правой стене. Расположение мяча вдоль этой зеленой линии — это значение, которое представляет отношение мяча к тому месту, где он находится на оси x. Другими словами, он позволяет узнать, насколько близко мяч находится к левой стене по сравнению с правой стенкой или наоборот.

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

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

Проще говоря, создание объекта в трехмерном пространстве означает, что объект имеет три связанных с ним ключевых значения, которые определяют, где он расположен в пространстве. Этими значениями являются ось x (горизонтальная), ось y (вертикальная) и ось z (глубина). Понимание этих переменных дает дизайнеру возможность определить, где их трехмерный объект можно перемещать и вращать в пространстве, придавая ему перспективу, аналогичную той, которую вы привыкли видеть в реальном мире.

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

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

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

Зачем использовать 3D-дизайн?

Теперь, когда вы знаете немного больше об основах 3D-дизайна, давайте обсудим, зачем использовать его в своей работе.

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

3D-дизайн можно даже использовать вместе с дизайном голосового пользовательского интерфейса, чтобы добавить немного визуализации в преимущественно слуховой и типографский ландшафт. Для пользователей Apple это можно увидеть всякий раз, когда Siri активируется на их iPhone.

Фотография трехмерного значка Siri, используемого на смартфоне Apple. Изображение предоставлено Adobe Stock.

Инструменты для 3D-проектирования

Существует несколько доступных вариантов программного обеспечения для 3D-моделирования, но для простоты и простоты для начала рассмотрим четыре из них, изучив которые лучше всего подходят для вашей работы по проектированию:

  • Преобразование 3D: Эта функция доступна в Adobe XD как способ преобразования плоских значков и элементов в трехмерные объекты. Если у вас уже есть Adobe XD, это обязательная функция, которую вы можете начать изучать уже сегодня.
  • Blender : Бесплатный инструмент с открытым исходным кодом, отличная отправная точка для любого дизайнера, который хочет начать работу с 3D-дизайном без абонентской платы.
  • Autodesk Maya : Мощный инструмент Maya используется несколькими известными анимационными студиями, такими как Pixar Animation, и отлично подходит для тех, кто хочет вывести свой 3D-дизайн на новый уровень. Это программное обеспечение предлагает бесплатную пробную версию для тех, кто хочет попробовать его.
  • ZBrush : Эта 3D-программа стоит дешевле, чем Maya, и является отличным инструментом для начинающих дизайнеров и дизайнеров среднего уровня.

Тенденции в области 3D-дизайна, на которые стоит обратить внимание

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

Пример использования трехмерной типографики на плакате несколькими способами. Изображение предоставлено Adobe Stock.

3D-типографика

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

Пример использования 3D-персонажей, чтобы показать пару, переписывающуюся друг с другом с помощью смартфонов. Изображение предоставлено Adobe Stock.

3D-персонажи

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

Пример изометрического дизайна, который показывает различные сценарии в рабочей среде офиса. Изображение предоставлено Adobe Stock.

Изометрический дизайн

Прелесть изометрического дизайна в том, что вам вообще не нужны программы для 3D-моделирования! Просто настройте изометрическую сетку для монтажной области Adobe Illustrator и начните проектирование. Из всех тенденций 3D-дизайна изометрический дизайн пережил самый последний рост, который часто можно увидеть на веб-сайтах, в презентациях и т. д.

Советы и рекомендации по 3D-дизайну

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

  • Сочетание плоского и трехмерного дизайна: Часто трехмерный и плоский дизайн представляются отдельно. Однако они действительно оживают, когда используются вместе. Если все сделано правильно, сочетание плоского и трехмерного дизайна может иметь удивительный и визуально стимулирующий эффект, а также привносить единство в общий дизайн.
  • Выделение с использованием 3D-дизайна: Выделение — очень важный принцип дизайна, помогающий пользователям знать, где и что нажимать. Экономное внедрение 3D в приложения AR и VR — это мощный способ помочь человеку пройти через пользовательский процесс, не мешая его опыту.
  • Причина для 3D-дизайна: Если есть какой-то совет, который вы должны запомнить, так это: убедитесь, что у вас есть причина для добавления 3D в ваш текущий дизайн. Добавление 3D просто ради того, чтобы его добавить, может негативно сказаться на вашей работе, не говоря уже об использовании доступных ресурсов, поскольку это отнимает очень много времени. Поэтому, если возможно, определите ценность реализации 3D-проектов до их выполнения.

Изменчивость ведет к лучшему дизайну

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

Words by
Дэн Сильвейра

Дэн Сильвейра — UX-дизайнер и писатель. Он живет в Торонто, Канада, где работает в крупной технологической компании. Ему нравится открывать новый роман, писать художественную и научно-популярную литературу, а также экспериментировать с различными средствами дизайна.

Загляните внутрь 3D-дизайна: что в него входит и куда он направляется

Логотипы, веб-сайты и многое другое…

Логотипы, веб-сайты, обложки книг и многое другое…

Получить дизайн

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

Виа Виллем Стапель.

Сказать, что мы впечатлены работой Стапеля, было бы преуменьшением. Мы его большие поклонники, и когда у нас недавно появилась возможность узнать его мнение о 3D-дизайне и его творческом процессе, мы согласились.

Стапель начал заниматься 3D-дизайном, когда учился графическому дизайну в Hogeschool voor de Kunsten в Утрехте, Нидерланды. Он начал с того, что поиграл с программным обеспечением для 3D-моделирования, и говорит, что это все, что нужно сделать любому, кто интересуется 3D-дизайном, чтобы начать работу. Однако это не единственный способ научиться 3D-дизайну. Колледжи и университеты по всему миру предлагают курсы по этому типу дизайна, а для менее склонных к аттестату зрелости есть бесчисленные онлайн-уроки, которые объясняют методы для начинающих и продвинутых.

Так что же такое 3D-дизайн и куда он движется? Продолжайте читать, чтобы узнать.

Описание трехмерного дизайна

Через Виллема Стапеля.

Итак, мы пришли к единому мнению, вот краткое изложение 3D-дизайна:

Вы видели «Историю игрушек» и другие фильмы Pixar. Они были сделаны с помощью программного обеспечения для 3D-моделирования. Программное обеспечение для 3D-моделирования — это тип программы, который позволяет дизайнеру создавать сложные, детализированные трехмерные цифровые объекты и миры, в которых они обитают. Изображения, созданные с помощью этого типа программного обеспечения, могут быть настолько реалистичными или мультяшными, насколько пожелает дизайнер. Для более реалистичного примера 3D-моделирования в действии подумайте об Аватаре.

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

Различные программы 3D-моделирования предлагают разные инструменты, и некоторые из них лучше подходят для дизайнеров с определенными стилями и дизайнерскими приложениями, чем другие. По словам Стапеля, «САПР обычно используется для более промышленных вещей, таких как архитектурный или промышленный дизайн. 3D-сетки обычно имеют более свободную форму, но также могут быть чем-то очень техническим».

Некоторые популярные программы 3D-моделирования включают:

  • AutoCad
  • Блендер
  • SketchUp
  • Збраш

Программа Stapel по выбору — Cinema 4D, дополненная несколькими плагинами и дополнительными программами.

«3D-дизайн все еще находится в экспериментальном пространстве»

Через Виллема Стапеля.

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

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

«В конечном итоге он может заменить большую часть фотографии, которую он уже начинает делать», — говорит Стапель. «Если вы посмотрите на коммерческие и художественные сферы, вы увидите множество 3D-работ».

Вы заметите, что многие работы Стапеля связаны с дизайном мебели. Функциональность — одна из отличительных черт 3D-дизайна: вы можете использовать ее для рендеринга моделей разрабатываемых продуктов и обсуждения идей, чтобы увидеть, как элемент может работать в пространстве. Кроме того, одним из распространенных практических применений 3D-моделирования является изучение автомобильных аварий путем их воссоздания в цифровом мире.

Куда движется 3D-дизайн?

Виа Виллем Стапель.
Люди хотят реализовать гиперреалистичную эстетику. Чтобы создать невозможные декорации и воплотить их в реальность.

— Виллем Стапель

Stapel предсказывает грядущие большие перемены, поскольку все больше и больше людей узнают, что можно делать с помощью 3D-дизайна. «Первой тенденцией всех в арт-пространстве, казалось, были бесполезные «пост-интернетные» образы, но теперь вы видите, что люди хотят реализовать гиперреалистичную эстетику. Чтобы создать невозможные декорации и воплотить их в реальность. Тенденции, которые мне лично очень нравятся, — это экстремальный фотореализм, более сложная реализация методов 3D-сканирования и применение этих инновационных методов новыми способами и контекстами», — говорит он.

Существует огромный элемент функциональности, выходящий за рамки привлекательности «дизайна». 3D-дизайн можно использовать для реального создания вещей, для эффективного создания вещей, которые в прошлом было сложно создать.

3D-дизайн архитектуры от Mirko Andric Design. 3D-дизайн часов от Sele.

Вероятно, один из самых крутых способов, которыми люди используют 3D-дизайн, — это использовать его для создания вещей, например, как дизайнер и изобретатель Маркус Кайзер создал 3D-принтер на солнечной энергии, который может превращать песок пустыни в стеклянные предметы. Функциональный 3D-дизайн находит применение во многих различных областях, и, как говорит Стапель, «помимо места в искусстве, есть применение в секторе здравоохранения, промышленности и, надеюсь, в конечном итоге для экологических целей». Захватывающие вещи ждут впереди в мире 3D-дизайна.

В поисках вдохновения для 3D-дизайна

Через Виллема Стапеля.

Хотя формальное обучение дизайну никогда не помешает, Стапел объясняет, что не считает это необходимым для успешного 3D-дизайнера. Важно следовать вдохновению и развивать видение. «Некоторые люди уделяют большое внимание технике и чрезвычайно талантливы в этом аспекте, в то время как другие специализируются на создании картины как выражения своего мастерства. У меня есть опыт работы в области графического дизайна, и меня интересовала история искусств, которую я хотел объединить и воплотить с помощью современных технологий», — говорит он.

Лично Стапель черпает вдохновение в классическом дизайне для своих работ. «Мне нравятся используемые темы, поскольку это всегда древние истории, повествования и темы, которые действительно поддаются современному переосмыслению. На детальном уровне есть что-то в цветовых схемах, классических композициях, освещении, материалах».

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

— Виллем Стапель

«Я начал с 3D, создавая изображения, вдохновленные темами древнего искусства, переосмысленные с помощью 3D-сканирования и 3D-объектов. Это до сих пор оказывает большое влияние на мою работу. Мне нравится создавать пейзажи, которые выглядят так, будто кто-то только что был там. Чтобы также добавить вещи, которые делают что-то реальным, пятна на стекле или немного ржавчины на металле».

В последнее время Стэпель в своей работе использует постчеловеческую атмосферу. Сочетая модернистские здания с более классическими конструкциями и роботизированными объектами, он создает сюрреалистические образы.

В профессиональном плане он стремится к простоте. Вы увидите это на его веб-сайте — изображения определяют его бренд и позволяют сразу понять, что нужно зрителю. Как он резюмирует, «пусть эстетика работы говорит сама за себя и воплощается в визуальную идентичность».

Через ManvsMachine для Squarespace.

Даже у таких успешных дизайнеров, как Стапель, есть отраслевые герои, на которых они смотрят и на которых стремятся быть похожими. Когда мы спросили его, на кого он равняется, он ответил: «Есть несколько авторитетных компаний и агентств, которые создают красивые коммерческие вещи, такие как ManvsMachine (Лондон и Лос-Анджелес), Builder’s Club (Лондон) и CATK (Берлин). Я довольно большой поклонник творчества Фредерика Хеймана, чья работа — своего рода постапокалиптический ренессанс за счет анимации снимков, сделанных с помощью 3D-сканирования».

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

Как дизайнеры могут начать работу в этой области

Как сказал Стапель, все, что вам действительно нужно сделать, чтобы начать работу с 3D-дизайном, — это подключиться к компьютеру и начать играть с программным обеспечением для визуализации. Но игра вокруг вас только до сих пор. У 3D-дизайна довольно крутая кривая обучения, и тем, кто серьезно собирается стать 3D-дизайнером, Stapel рекомендует следующее:

Узнайте, как сделать это и многое другое с помощью GreyscaleGorilla.

«На Youtube можно найти многое, или если у вас есть определенная проблема, всегда есть Google, как бы очевидно это ни казалось. Думаю, я начал с уроков от greyscalegorilla, которые многому учат основам программы. Есть также потрясающие учебные пособия от ENTAGMA, но все они предназначены для Houdini, более продвинутого программного обеспечения для 3D».

Достижение профессионального успеха в качестве 3D-дизайнера

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

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

Виа Виллем Стапель. Виа Виллем Стапель.

Техника — это часть, но не все, создания сильного портфолио. «Я думаю, нужно выяснить, какая техника лучше всего работает для вас, не будучи рабом этой техники. Пусть техника работает на вас. Но это верно вне дизайна: рисование с идеальной техникой не обязательно делает вас хорошим художником».

Стоит ли выполнять неоплачиваемую работу ради рекламы — спорная тема среди креативщиков. Для Стапеля это окупилось. «Я начал получать коммерческую работу из-за неоплачиваемой или автономной работы, которую я уже выполнял. Коммерческая работа дала мне больше информации о методах и некоторых новых для меня аспектах создания чего-то прекрасного, что действительно расширило мой кругозор».

Жизнь и работа 3D-дизайнером

Стать внештатным 3D-дизайнером может быть непросто, но это открывает потрясающие возможности. «Мне нравится работать с самыми разными людьми, иметь возможность создавать вещи, которые мне нравятся, и быть самому себе начальником», — говорит Стапель, размышляя о свободе путешествовать и работать из любого места в качестве фрилансера, а также о разнообразии клиентов. он подвергается в этом положении. «Прекрасная жизнь, если честно».

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

Откройте для себя волшебство 3D-дизайна

Stapel хочет, чтобы люди больше понимали 3D-дизайн, так это то, насколько он может приносить удовлетворение творцу. «Честно говоря, это довольно волшебно», — говорит он. «Каждый раз, когда я нажимаю кнопку рендеринга, меня немного удивляет то, что получится. Очень приятно создавать что-то, что выглядит действительно реалистично, но полностью сфабриковано».

Мир 3D-дизайна таит в себе огромный потенциал как для дизайнеров, так и для брендов. Будь то гиперреалистичные объекты или сюрреалистические пейзажи, все возможно. Что будет ты при чем?

Хотите увидеть больше потрясающих 3D-дизайнов от профессиональных дизайнеров?
Сюда.

Пойдем!

Расцвет 3D. Чему графические дизайнеры могут научиться у… | Богдана Серебриян

Чему графические дизайнеры могут научиться благодаря последним достижениям в индустрии компьютерной графики

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

Источник: «Визуализация будущего», Burning Glass Technologies, 2019 г.

Поскольку 3D-технология становится доступной с точки зрения цены и удобства использования, клиенты ожидают, что мы будем знать, как интегрировать ее в наши проекты. В отчете о навыках «Визуализация будущего» показано, что навыки работы с 3D необходимы в таких различных областях карьеры, как ИТ, архитектура, дизайн и медиа.

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

Фотографии с Siggraph 2019, Конференц-центр Лос-Анджелеса

В этой статье я расскажу о некоторых отраслевых тенденциях и покажу, как мы интегрируем их в рабочий процесс в команде Acronis Brand & Event Design.

Blender

Самая горячая тема в отрасли — это Blender , бесплатное и мощное программное обеспечение для создания и рендеринга 3D-графики. Будучи когда-то инструментом для энтузиастов, Blender быстро становится отраслевым стандартом наряду с Maya и ZBrush с такими компаниями, как Nvidia , Epic Games , Ubisoft присоединение к Фонду развития Blender.

«Следующее поколение», оригинальный фильм Netflix, созданный с помощью Blender, демонстрирует, что технологии с открытым исходным кодом можно использовать в серьезных производственных конвейерах:

У Blender есть активное сообщество сторонников, которые обмениваются плагинами, исходными файлами проектов и учебными пособиями. . Есть много бесплатных вещей, таких как Blender 2.8. серия руководств для начинающих, где вы узнаете, как создать свой самый первый пончик.

Для дизайнеров брендов Blender становится полезным при работе с активами промышленного дизайна благодаря его способности работать с сумасшедшими форматами файлов САПР. Он хорош для автоматической генерации и исправления UV-карт — все их ненавидят, но без них 3D-модели не могут быть должным образом текстурированы. Blender оптимизирован даже для недорогих машин.

Прототип Local Cloud Appliance, созданный с помощью Blender

Cinema 4D

Для тех, кто не хочет слишком много знать о 3D-моделировании, Cinema 4D выделяется как самый удобный инструмент на рынке. Его легко освоить, даже если вы никогда раньше не работали с 3D, и он обеспечивает быстрое прототипирование активов в команде. Он поддерживает популярные отраслевые рендереры — Redshift, Octane, Corona.

В брендинге Acronis и дизайне мероприятий мы используем Cinema 4D для дизайна интерьеров (будки, офисы, карты расположения), визуализации упаковки и основных визуальных эффектов.

Примеры объектов, созданных с помощью Cinema 4D: макет офисного лифта Acronis, трехмерная иконка, упаковка вина Acronis

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

Стенд для Acronis Global Cyber ​​Summit 2019, Cinema 4D

Рост игровых движков как Единство , Unreal Engine и CryEngine раздвинули границы возможного для 3D-рендеринга в реальном времени. С 2009 года Siggraph проводит «Прямую трансляцию в реальном времени!» событие, , демонстрирующее последние достижения в области компьютерной графики в реальном времени:

Siggraph 2019, «Real-Time Live!»

Никто больше не хочет ждать:

  • Дизайнеры создают визуализацию архитектуры и автомобильных проектов в реальном времени с Unreal Studio
  • Режиссеры снимать компьютерную графику в реальном времени в Unity и захватывать игру актеров прямо в ролике с Unreal Engine
  • Даже программное обеспечение для 3D-моделирования переходит на более быстрые параметры рендеринга: в последнем выпуске Blender 2. 8 представлен EEVEE — реальный механизм рендеринга времени
Катсцена из видеоигры «Death Stranding», визуализированная в режиме реального времени внутри игрового движка. Kojima Productions, 2019

Это не просто прихоть творца — потребность исходит от рынка . Отчет о навыках показывает, что запросы на 3D-специалистов в реальном времени превышают фактическое количество специалистов на рынке. Что интересно, но не удивительно, так это растущий интерес со стороны продаж , Маркетинг , и PR сфер:

Источник: «Визуализация будущего», Burning Glass Technologies, 2019

В конкурентной среде продвижения продукции, скорость с качеством может изменить правила игры. 3D-технологии в реальном времени идеально подходят для крупных компаний, где требуется присутствие во многих уголках мира, «в режиме реального времени».

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

Прототип Acronis Cyber ​​Protection Operations Center в Unity, персональный проект

Физически обоснованный рендеринг (PBR) — современный подход к созданию и реалистичному рендерингу 3D активы. Adobe недавно заключила партнерское соглашение с Allegorithmic , компанией, которая специализируется на программном обеспечении для 3D-текстурирования. Substance от Adobe содержит набор инструментов , которые помогают художникам подготавливать насыщенные текстуры, готовые к PBR, и редактировать их в режиме реального времени.

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

Программное обеспечение Substance широко используется в играх, фильмах и анимации, дизайне и архитектуре.

DreamWorks Animation перешла на PBR для «Приручить дракона: Скрытый мир 9»0047″, Продолжаем использовать Substance Painter в рабочем процессе. В эпизоде ​​»Любовь, смерть, роботы» «Lucky 13», Sony Pictures Imageworks добилась фотореалистичного вида текстур с помощью Substance Designer. Ранее упомянутый художественный анимационный фильм Netflix «Следующее поколение» внедрил оба инструмента в рабочий процесс производства.

Скриншот из «Lucky 13», Sony Pictures Imageworks, 2019 г.

С помощью рабочего процесса PBR художников создают материал, определяя его реальные физические значения : если это диэлектрик или проводник, насколько шероховатая его поверхность, сколько света он отражает или излучает и какие цветовые волны поглощает. Для сложных материалов, таких как ржавый металл, вы можете настроить поведение отдельно для областей ржавчины и металла. Чтобы узнать, как работает PBR , прочтите руководство от Allegorithmic: Часть 1, Часть 2

В графическом дизайне , Текстурирование PBR помогает постоянно брендировать активы, которые существуют как на экране, так и в реальной жизни. Например, посмотрите на эти сувенирные мячи, созданные в партнерстве с футбольными клубами «Арсенал» и «Манчестер Сити»:

3D-рендеринг в сравнении с реальными фотографиями

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

Мяч «Арсенал» Процесс 3D-текстурирования

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

Три шага к созданию футбольного мяча: 1) пустой шаблон для печати; 2) окончательный макет печати; 2) 3D-модель с UV-картами, текстурированная

3D есть везде, однажды оно придет к вам, но работать с ним не сложнее, чем освоить Photoshop

Помимо профессионального программного обеспечения, есть множество забавных 3D-инструментов для дизайнеров играть с. Возьмите эти воксельные аватары, которые стажеры Acronis Design создали с помощью Magica Voxel.

Аватары, созданные с помощью MagicaVoxel, отрендеренные в Blender 2.8

Давайте заглянем в будущее до того, как оно наступит!

  • Как мы изготовили Acronis Cyber ​​Dragon Trophy
  • Из чего состоит хороший дизайн мероприятия?
  • Отчет о навыках «Визуализация будущего»
  • Blender 2.8. серия руководств для начинающих
  • Популярные игровые движки: Unity, Unreal Engine и CryEngine
  • Руководство по PBR от Allegorithmic: Часть 1, Часть 2 & Иллюстрация

    Education

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

    Роман Клчо

    Чтение: 4 мин.

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

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

    Сегодня, когда вы откроете домашнюю страницу Dribbble, вы увидите множество красивых 3D-дизайнов. 3D — это очень удобный способ для дизайнеров создавать иллюстрации и визуальный контент для своих макетов, веб-дизайна и цифровых продуктов. Но это еще не все. За последние несколько лет возникла целая индустрия, которая сильно зависит от использования 3D где-то в процессе разработки. Будь то интерфейсы новых цифровых продуктов, автомобильные дизайны для виртуальных приборных панелей, интерфейсы умного дома или виртуальная реальность и дополненная реальность, 3D всегда рядом.

    «Потребность в 3D-дизайнерах по-прежнему велика, и эта потребность только растет».

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

    Давайте быстро посмотрим, что на самом деле происходит под капотом в 3D-дизайне.

    Искусство от tubek

    Как работает 3D-дизайн и иллюстрация

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

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

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

    «Подобно фотографии, 3D-дизайн требует сцены для размещения объектов, виртуальной камеры, которая делает снимок, и правильного освещения».

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

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

    Трассировка лучей

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

    В реальном времени

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

    Искусство Джейка Уайтмана

    3D-отрасли для изучения

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

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

    3D-иллюстрация

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

    Art by Roman Klčo

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

    Рендеринг в реальном времени

    Может стать интереснее, если вы объедините рендеринг в реальном времени и взаимодействие. Даже если вы не мечтаете стать независимым разработчиком игр, помните, что многие из будущих и новых технологий, вероятно, будут использовать ту или иную версию 3D. Это отличный инструмент для создания прототипов интерактивных интерфейсов для автомобильного дизайна или следующего приложения дополненной реальности.

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

    3D-инструменты для изучения

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

    Вечнозеленые стандартные отраслевые инструменты, такие как 3dsmax и Maya, являются мощными рабочими лошадками, которые управляют большинством многомиллионных проектов, которые вы видите в фильмах и играх. Если вы хотите пойти по этому пути, вам, вероятно, потребуется изучить некоторые из этих программ. Важно отметить, что редко один программный пакет используется для всего производственного конвейера. Существуют мощные инструменты, такие как ZBrush для скульптинга, Houdini для сложных симуляций и процедурного моделирования, инструменты Substance для текстурирования и многие другие, которые исключительно хорошо справляются с определенными задачами.

    Cinema 4D

    Если вы дизайнер, желающий создавать 3D-персонажей, иллюстрации или простые анимации для своих клиентов, вам будет гораздо удобнее использовать одну программу, которая может удовлетворить все ваши потребности в одном пакете. Одним из инструментов, очень популярных среди иллюстраторов и дизайнеров моушн-графики, является Cinema 4D. Он может быть очень интуитивно понятным и простым в использовании, имеет множество мощных инструментов для анимации и анимированной графики, и вы можете выбирать из нескольких внешних механизмов рендеринга, таких как Redshift.

    Я не думаю, что вы ошибетесь с Cinema 4D, поэтому, если он уже включен в набор инструментов вашего работодателя, сделайте это. Ценовая ситуация с Cinema изменилась с введением ежемесячной подписки, но, тем не менее, она может быть немного завышена для одного инструмента.

    Искусство Питера Тарки

    Blender

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

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

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

    Искусство Романа Клчо

    Unity

    Для игр, рабочих интерактивных прототипов и XR (AR и VR) я бы рекомендовал использовать Unity, так как это, вероятно, самый популярный и доступный игровой движок, который предлагает широкую поддержку сообщества и тонны документации и руководств. Вам понадобится какой-нибудь инструмент моделирования под рукой, но Unity реализует множество вариантов моделирования и анимации прямо в своем пакете, поэтому для определенных проектов вам может сойти с рук просто использование Unity.

    Art by Sebastian Stapelfeldt

    Vectary

    Я упоминал ранее, что вы можете буквально создавать 3D-объекты прямо из веб-браузера. Чтобы быть верным своим словам, я хочу упомянуть веб-инструмент под названием Vectary. Vectary позволяет моделировать, компоновать и визуализировать ваши сцены онлайн, подобно Figma (для которого у него есть плагин). Это, вероятно, очень полезно, если вы хотите использовать 3D как способ макетирования своих проектов на 3D-устройствах, демонстрации 3D-моделей на веб-сайте или представления фирменных канцелярских принадлежностей.

    Искусство VECTARY

    С чего начать обучение 3D-дизайну и иллюстрации

    Итак, какой следующий шаг? Создать что-нибудь, конечно! Если какая-то область 3D, упомянутая в этой статье, привлекла ваше внимание, приобретите понравившуюся программу и приступайте к изучению.

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

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

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

    Внештатный

    5 навыков великого иллюстратора

    Развивайте свои навыки иллюстрирования на фрилансе и совершенствуйте свой процесс иллюстрации. ..

    23 ноября 2021 г. 3 минуты чтения

    Портфолио дизайна

    8 типов карьеры в области графического дизайна, которые стоит изучить

    Узнайте о самых популярных профессиях графических дизайнеров в 2022 году…

    06 декабря 2021 г. 12 минут чтения

    Портфолио дизайна

    7 генераторов дизайнерских подсказок, которые вдохновят вас на следующий проект

    Используйте эти генераторы дизайнерских подсказок, чтобы улучшить свои дизайнерские навыки, создать свой …

    10 декабря 2021 г. 3 минуты чтения

    Образование

    5 разных способов стать дизайнером

    Исследуйте различные пути, по которым вы можете стать графическим дизайнером. Получите вдохновение…

    05 января 2022 г. 5 минут чтения

    Изучайте дизайн онлайн с лидерами отрасли на Dribbble.

    Повышение квалификации сегодня

    • Еженедельное наставничество по дизайну

    • Курсы по требованию

    • Обучение на базе сообщества

    Что такое 3D-моделирование и дизайн? Руководство для начинающих по 3D

    Что нужно для начала работы с 3D-моделированием и проектированием

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

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

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

    Но сначала краткое объяснение того, что это такое, и некоторых потенциальных применений 3D-моделирования.

    Что такое 3D-моделирование?

    3D-моделирование — это создание трехмерного объекта внутри моделируемого программного обеспечения. Объект может быть создан от простых фигур до сложных моделей с большим количеством полигонов. Многоугольник — это один треугольник, и для создания круга или сложного объекта требуется много треугольников.

    Часто — и в зависимости от формата моделирования, которого вы пытаетесь добиться — объекты реального мира сканируются в программное обеспечение с помощью 3D-сканирующего устройства; затем эти объекты используются в качестве цифровой кальки для создания окончательной модели с использованием того же процесса, упомянутого выше. После создания эти объекты можно масштабировать и манипулировать ими по усмотрению пользователя.

    Использование для 3D-моделирования

    Некоторые отрасли, в которых широко используется 3D:

    • Кино/телевидение  – используется для создания компьютерных персонажей, объектов, окружения, анимации и титров для фильмов и рекламных роликов
    • Разработка видеоигр — используется для создания всего визуального 3D-компонента игры, при этом многие аспекты анимации представляют собой тот же процесс, что и в кино/телевидении.
    • Архитектура — Используется для создания интерактивных визуализаций зданий и сооружений; подавляющее большинство всех архитектурных элементов создается с помощью 3D-моделирования CAD для реального строительства.
    • Инжиниринг  – Создание моделей в масштабе для последующего производства в среде с ЧПУ и/или с использованием более ручного, практического метода изготовления.

    Хотя эти отрасли являются одними из самых распространенных пользователей 3D, применение 3D-моделирования можно найти практически в любой отрасли.

    Теперь о том, что вам нужно для начала.

    Компьютер с поддержкой 3D

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

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

    Конечно, компьютер, который вы выберете, будет зависеть от вашего конечного использования — можно запустить процесс и обнаружить ограничения своей системы, используя его. Если вы работаете с огромными файлами — и их много — вы можете подумать об обновлении. Только ты знаешь ответ. Однако, как минимум, ваш компьютер должен иметь следующие характеристики для эффективного выполнения задачи 3D-моделирования:

    Операционная система Windows 8/Windows 10 64-разрядная или более поздняя версия
    Процессор Многоядерный, Intel или AMD, минимум 64-разрядная версия
    ОЗУ минимум 16 ГБ
    Место на диске Минимум 500 ГБ — рекомендуется 1 ТБ
    ГП
    • NVIDIA GTX 1000 или выше  для обычных пользователей
    • Карта NVIDIA Quadro CAD  для профессиональных пользователей
    • См. список графических процессоров NVIDIA и производительность

    Выбор программного обеспечения для 3D-графики

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

    Расширенный

    Выбор вашего программного обеспечения зависит от конечного использования создаваемых вами файлов. Каждое программное обеспечение имеет различные основные функции и цели. Вообще говоря, 3D-программное обеспечение обычно относится к одной из двух категорий: инженерное или художественное. Мы выделим две распространенные 3D-программы, каждая из которых ориентирована на одну из этих двух категорий. Полный и исчерпывающий список программного обеспечения для 3D можно найти на сайте all3dp.com.

    Autodesk 3Ds Max — Художественный

    Это программное обеспечение для 3D-моделирования является отраслевым стандартом при создании фильмов, телепередач и видеоигр. 3Ds Max — это мощное программное обеспечение, предлагающее такие функции, как 3D-моделирование, текстурирование и эффекты, 3D-анимация и динамика, а также 3D-рендеринг. Планы на 3Ds Max начинаются примерно с 1500 долларов в год. А если вы студент или преподаватель, вы даже можете получить программное обеспечение бесплатно.

    SOLIDWORKS — Engineering

    SOLIDWORKS — это комплексное программное обеспечение для 3D-графики, которое помогает оптимизировать разработку и производство продуктов. Программное обеспечение является многогранным и дает пользователям из множества отраслей возможность проектировать целые проекты — от зданий до машин — и моделировать функциональность продукта внутри программного обеспечения. Цены на SOLIDWORKS начинаются с $3,9.95 за одну постоянную лицензию или 1295 долларов за годовую подписку.

    Новичок

    Tinkercad

    Облачное программное обеспечение, предоставляемое Autodesk и совершенно бесплатное для использования, Tinkercad предоставляет пользователям простой способ начать… ну, возиться с трехмерным пространством . Программное обеспечение Tinkercad позволяет создавать и комбинировать базовые объекты практически в любой конечной форме, которую вы можете себе представить, а также предлагает пользователям возможность 3D-печати своих творений. В целом, если вы новичок в 3D, Tinkercad — отличный инструмент, который поможет сократить время обучения.

    Blender

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

    Образование/Обучение

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

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

    Существует множество учебных материалов, которые можно просмотреть и использовать, чтобы начать процесс обучения и начать получать удовольствие от творческих аспектов 3D-моделирования.

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

    Transshield и 3D-моделирование

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

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

    Хотите узнать больше? Посетите их веб-сайт и нажмите Наши Решения , чтобы увидеть, как различные отрасли — морская, промышленная, ветровая энергетика, авиация, HVAC — объединяются с Transhield для защиты своих самых ценных активов.

    3D-графика от А до Я — Digital Polo, Inc.

    Были на сайте Audi A6 в последнее время? Или кока кола? Если нет, вы можете взглянуть на них прямо сейчас. Сделанный? Заметили что-нибудь отличное от обычного сайта, который вы посещаете? Подсказка: все дело в графике!

    Изображение предоставлено: https://bit.ly/2lseo3p

    Если вы посмотрите еще раз, то увидите, что графика на сайтах этих двух коммерческих гигантов далеко не плоская. Они динамичны. В них безумная глубина. Они 3D! 3D-графика действительно является следующей большой вещью в графическом дизайне. Такие дизайны мгновенно выделяются, независимо от фона, что дает вашему сайту преимущество перед плоскими дизайнами.

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

    В этом посте мы рассмотрим много вопросов, поэтому в конце вы станете более мудрыми и хорошо осведомленными о 3D-графическом дизайне . Итак, начнем!

    Содержание

    • Что такое трехмерный графический дизайн?
    • Чем он отличается от 2D?
    • Как создается 3D-графика?
    • Примеры трехмерного графического дизайна
    • Lovebox
    • Молочный коктейль Хабиба
    • Axe
    • Самые актуальные тренды трехмерного графического дизайна
    • 3D Humanoids
    • 3D Abstract
    • 3D Humanoids
    • 3D in AR
    • 3D Typography

    Что такое трехмерный графический дизайн?

    Изображение предоставлено: https://bit. ly/2HxvFnh

    Перейдем сразу к определению: 3D-графика — это трехмерное компьютеризированное представление рисунков и логотипов. Благодаря добавленному размеру 3D-графика выглядит более реалистично, что придает ей привлекательность.

    3D-графика ни в коем случае не нова. Впервые они появились в 1970-х годах и регулярно использовались с 90-х, когда дизайнеры начали использовать их как часть проектов иллюстраторов.

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

    Чем он отличается от 2D?

    Изображение предоставлено: https://bit.ly/2J8R9Lm

    До того, как 3D-дизайн начал шуметь, 2D-дизайн широко использовался в Интернете — от веб-сайтов до логотипов и многого другого. Они по-прежнему являются самой популярной формой дизайна и, как таковые, сильно отличаются от своего довольно развитого аналога — 3D-дизайна. Давайте посмотрим на их различия-

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

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

    Итак, если вам интересно, стоит ли вам выбирать 3D-графику вместо 2D-графики для своего веб-сайта, сначала подумайте о требованиях вашего веб-сайта. 2D-графика в наши дни может показаться скучной, в то время как 3D-дизайн привлекает внимание. Если вы хотите получить logo или редизайн веб-сайта , включение в них 3D-графики, безусловно, даст преимущество вашему сайту. И все мы знаем, какую роль играет красивый дизайн в привлечении и привлечении целевой аудитории, не так ли?

    Как создается трехмерная графика?

    Изображение предоставлено: https://bit.ly/309Db10

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

    Моделирование : первый шаг трехмерного графического проектирования , модель включает в себя процесс формирования формы объекта. На этом этапе дизайнер использует инструменты 3D-моделирования на своем компьютере для создания 3D-модели. Реальный объект также может быть отсканирован и представлен в виде 3D-модели. Не все такие проекты возникают в умах дизайнера. Фактически, физическое моделирование — это еще один способ создания 3D-моделей. На этапе моделирования к модели добавляются материалы и текстуры, чтобы она выглядела реалистично.

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

    Что касается анимации, то ее можно определить как временное описание или движение объекта во времени. Верстка и анимация часто выполняются одновременно. Тем не менее, как и анимация, физическое моделирование также несет в себе элемент движения.

    Рендеринг : Теперь наступает заключительный этап в разработке вечно увлекательной 3D-графики – рендеринг. Рендеринг — это процесс преобразования 3D-модели в изображение. Это делается одним из двух способов: один — имитировать перенос света, чтобы получить фотореалистичное многомерное изображение; второй делается путем применения художественных стилей, таких как нефотореалистичный рендеринг.

    Фотореалистичная визуализация осуществляется с помощью программного обеспечения для компьютерной 3D-графики или API. 3D-проекция также необходима для завершения процесса. Программное обеспечение, которое обычно используется для визуализации трехмерного графического дизайна, включает Blender, Autodesk 3ds Max, Программное обеспечение Adobe для 3D-графического дизайна и другие.

    Хотя вышеописанный процесс может показаться достаточно простым, только опытный графический дизайнер сможет его правильно выполнить. Поэтому, если вы планируете получить 3D-графику для своего собственного бренда, убедитесь, что вы наняли агентство графического дизайна, которое соответствует требованиям для этой работы.

    Примеры графического 3D-дизайна

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

    • Лавбокс

    Изображение предоставлено: https://bit.ly/2HjucSi

    Любитель музыки или нет, но когда вы посмотрите на эту трехмерную иллюстрацию Lovebox, ежегодного музыкального фестиваля, проводимого в парке Виктория в восточном Лондоне, вы не сможете помочь, но любить его! Эта работа, созданная Кевином Саммерсом из «Почти интересного» в сотрудничестве с внутренней командой мероприятия, является ярким примером магии, которую может создать 3D-графика.

    • Молочный коктейль Хабиба

    Изображение предоставлено: https://bit. ly/2VqYQTW

    Созданный Андре Капуто, графическим дизайнером из Бразилии, вы получаете сверхреалистичное 3D-представление продуктов питания на этом плакате Habib’s Milkshake. Капуто известен волшебством, которое он может создавать с помощью 3D-типографики еды, и этот постер, кажется, выводит его на совершенно новый гастрономический уровень, где не существует ничего, кроме вкусного!

    • Топор

    Изображение предоставлено: https://bit.ly/2Jwq6cn

    Когда Axe, имя, с которым приходится считаться в сфере ухода за мужчинами, попросило PB Creative создать маркетинговую кампанию для своей новой линейки The Matte Effect, произошло что-то волшебное. Творческая группа объединила свои усилия, чтобы придумать изображение, которое воплотило в жизнь весь ассортимент в суперразмерных, хотя и суперклассных 3D-рендерингах. Вы только посмотрите на это изображение сверху! Он резкий, мужественный и источает утонченность, которую олицетворяют пожилые мужчины, на что и был нацелен этот ассортимент.

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

    Самые горячие тенденции в графическом 3D-дизайне

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

    Вот основные тенденции 3D-графического дизайна 2019 года , которые вы должны попробовать использовать в кампаниях своего бренда —

    1. 3D Люди

    Изображение предоставлено: https://bit. ly/2E0lGqL

    Забудьте о двухмерных иллюстрированных персонажах. Пришло время превратить этих плоских персонажей в их трехмерные аватары! Ожидайте увидеть много 3D-талисманов и людей в рекламных кампаниях в этом году.

    1. 3D Абстрактный

    Изображение предоставлено: https://bit.ly/2LJAZKq

    Что вы получите, если объедините две самые большие тенденции в графическом дизайне, то есть 3D и абстракцию? Вы получаете органические 3D-абстракции, которые выглядят совершенно не от мира сего!

    1. 3D-гуманоиды

    Изображение предоставлено: https://bit.ly/2Hdd9Tj

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

    1. 3D в дополненной реальности

    Изображение предоставлено: https://apple. co/2LAD1Na

    Поскольку дополненная реальность набирает популярность, графические дизайнеры не могут не играть с 3D в AR. Эффект от этого действительно проявляется в играх и известных приложениях, таких как Facebook и Snapchat, которые используют 3D-фильтры для воссоздания реалистичных эффектов.

    1. 3D-типография

    Изображение предоставлено: https://bit.ly/2Hgxs0M

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

    Хотя это основные тенденции, стоит упомянуть и некоторые другие. Такие тенденции, как минималистичные цветовые палитры, сочетание 2D- и 3D-элементов, 3D-текстуры и 3D-машины, будут популярны в этом сезоне.

    Последнее слово – 3D никуда не денется!

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