Перейти к содержимому

Polygon mode что это

  • автор:

Программирование OpenGL: Рендеринг простых многоугольников

Это первая статья в серии, посвященной OpenGL, который стал промышленным стандартом в 2D/3D графике (смотрите так же Что такое OpenGL?). Мы предполагаем, что читатель знаком со своей платформой для разработки программ на языке С, и немного знаком с библиотекой GLUT (в противном случае, ознакомьтесь с серией статей посвященных программированию GLUT в нашем журнале). Под Линуксом мы рекомендуем пользоваться библиотекой Mesa, которая является великолепной бесплатной реализацией стандарта OpenGL. В настоящее время есть даже аппаратная поддержка Mesa (смотрите графические карты 3Dfx).

Каждая новая команда OpenGL будет сопровождаться примером, поясняющим ее работу; по крайней мере, мы постараемся придерживаться этого правила! К концу нашей серии статей мы представим Вашему вниманию исходный код игры-симулятора, полностью написанный на OpenGL.

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

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

Рисование точек

OpenGL имеет всего лишь несколько геометрических примитивов: точки, линии и многоугольники. Все они описываются в терминах их соответствующих вершин. Вершина характеризуется двумя или тремя числами в формате с плавающей запятой, которые представляют собой Декартовы координаты этой вершины, (x,y) в двух- и (x, y, z) в трехмерном пространстве. Хотя Декартовы координаты являются наиболее общеупотребимыми, в компьютерной графике зачастую используется Гомогенная система координат , в которой каждая точка описывается четырьмя числами в формате с плавающей запятой, (x, y, z, w). Мы вернемся к системам координат после того, как опишем некоторые элементарные понятия трехмерного рендеринга.

Поскольку все геометрические объекты в OpenGL в конечном счете описываются как упорядоченный набор вершин, есть целый набор функций для объявления вершин. Синтаксис функций таков:

void glVertex [v](TYPE coords);

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

void glVertex2s(1, 3);
void glVertex2i(23L, 43L);
void glVertex3f(1.0F, 1.0F, 5.87220972F);

float vector[3];
void glVertex3fv(vector);

Для простоты все приведенные функции имеют общее имя glVertex* .

Любая последовательность вершин интерпретируется OpenGL в соответствии с контекстом. Контекст объявляется парой функций glBegin(GLenum mode ) и glEnd() , любая функция glVertex* между приведенными выше функциями контекста интерпретируется в соответствии со значением режима — mode , например:
glBegin(GL_POINTS);
glVertex2f(0.0, 0.0);
glVertex2f(1.0, 0.0);
glVertex2f(0.0, 1.0);
glVertex2f(1.0, 1.0);
glVertex2f(0.5, 0.5);
glEnd();

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

Каждая точка рисуется цветом, хранящимся в переменной состоянии OpenGL, ассоциированной с буфером цветов. Чтобы изменить текущий цвет, используйте набор функций glColor* ; о выборе цвета и манипуляции с ним можно говорить долго (этому будет посвящена отдельная статья). Пока же мы будем использовать три числа в формате с плавающей точкой в диапазоне от 0,0 до 1,0 в кодировке RGB (Red-Green-Blue, Красный-Зеленый-Синий);
glColor3f(1.0, 1.0, 1.0); /* Белый */
glColor3f(1.0, 0.0, 0.0); /* Красный */
glColor3f(1.0, 1.0, 0.0); /* Сиреневый */
итд. Скачайте: ../../common/January1998/Makefile, ../../common/January1998/../../common/January1998/example1.c, ../../common/January1998/../../common/January1998/example2.c

У нас уже достаточно материала, чтобы написать два первых примера. Первый — простая программа OpenGL для рисования множества орбит в так называемой хаотической карте (стандартной карте). Если читатель не знаком с картами, и в особенности со стандартной картой , не волнуйтесь. Проще говоря, карта берет точку и генерирует новую, используя широко известную формулу:

y n+1 = y n + K sin(x n )
x n+1 = x n + y n+1

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

Перед вами код первого примера ../../common/January1998/../../common/January1998/example1.c :

 #include #include const double pi2 = 6.28318530718; void NonlinearMap(double *x, double *y)< static double K = 1.04295; *y += K * sin(*x); *x += *y; *x = fmod(*x, pi2); if (*x < 0.0) *x += pi2; >; void winInit()< /* Установка системных координат */ gluOrtho2D(0.0, pi2, 0.0, pi2); >; void display(void)< const int NumberSteps = 1000; const int NumberOrbits = 100; const double Delta_x = pi2/(NumberOrbits-1); int step, orbit; glColor3f(0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); for (orbit = 0; orbit < NumberOrbits; orbit++)< double x, y; y = 3.1415; x = Delta_x * orbit; glBegin(GL_POINTS); for (step = 0; step < NumberSteps; step++)< NonlinearMap(&x, &y); glVertex2f(x, y); >; glEnd(); >; for (orbit = 0; orbit < NumberOrbits; orbit++)< double x, y; x = 3.1415; y = Delta_x * orbit; glBegin(GL_POINTS); for (step = 0; step < NumberSteps; step++)< NonlinearMap(&x, &y); glVertex2f(x, y); >; glEnd(); >; >; int main(int argc, char **argv) 

Прочтите статью Программирование GLUT для понимания функций glut* , код в основном взят из той статьи. Графическое окно открывается в режиме одиночного буфера и RGB-палитры. Вызываемая функция с именем display() рисует карту: вначале мы выбираем черный цвет для фона; glClear(GL_COLOR_BUFFER_BIT) сбрасывает буфер цветов, устанавливая текущий цвет (черный), затем после выбора белого цвета с помощью glColor, запускает NonlinearMap() (Нелинейная Карта) множество раз и рисует точки функциями glVertex* в режиме GL_POINTS. Очень просто. 🙂

Заметьте, что функция инициализации окна winInit() содержит всего один вызов функции набора утилит OpenGL (GLUT), gluOrtho2D() . Эта функция устанавливает двухмерную прямоугольную систему координат. Параметрами функции являются «минимум x, максимум x, минимум y, максимум y».

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

По окончании работы примера вы увидите такое изображение:

Давайте перейдем ко второй программе, ../../common/January1998/../../common/January1998/example2.c :

 #include #include const double pi2 = 6.28318530718; const double K_max = 3.5; const double K_min = 0.1; static double Delta_K = 0.01; static double K = 0.1; void NonlinearMap(double *x, double *y)< /* Стандартная карта */ *y += K * sin(*x); *x += *y; /* Angle x is module 2Pi */ *x = fmod(*x, pi2); if (*x < 0.0) *x += pi2; >; /* Вызываемая функция: Что будет происходить в отсутствие действий пользователя */ void idle(void) < /* Увеличиваем хаотическую составляющую */ K += Delta_K; if(K >K_max) K = K_min; /* Перерисовываем экран */ glutPostRedisplay(); >; /* Инициализация графического окна */ void winInit(void)< gluOrtho2D(0.0, pi2, 0.0, pi2); >; /* Вызываемая функция: Что будет происходить, когда экран нуждается в перерисовке */ void display(void)< const int NumberSteps = 1000; const int NumberOrbits = 50; const double Delta_x = pi2/(NumberOrbits-1); int step, orbit; glColor3f(0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); for (orbit = 0; orbit < NumberOrbits; orbit++)< double x, y; y = 3.1415; x = Delta_x * orbit; glBegin(GL_POINTS); for (step = 0; step < NumberSteps; step++)< NonlinearMap(&x, &y); glVertex2f(x, y); >; glEnd(); >; for (orbit = 0; orbit < NumberOrbits; orbit++)< double x, y; x = 3.1415; y = Delta_x * orbit; glBegin(GL_POINTS); for (step = 0; step < NumberSteps; step++)< NonlinearMap(&x, &y); glVertex2f(x, y); >; glEnd(); >; glutSwapBuffers(); >; int main(int argc, char **argv) < /* Инициализация GLUT */ glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA); glutInitWindowPosition(5,5); glutInitWindowSize(300,300); /* Открываем окно */ glutCreateWindow("Order to Chaos"); /* Инициализируем окно */ winInit(); /* Регистрируем вызываемые вункции */ glutDisplayFunc(display); glutIdleFunc(idle); /* Запускаем обработчик событий */ glutMainLoop(); return 0; > 

Эта программа основана на первом примере, ../../common/January1998/../../common/January1998/example1.c , и главные отличия заключаются в том, что окно открывается в режиме двойного буфера, а параметр К меняется в течение работы программы. Есть так же новая вызываемая функция idle() , которая регистрируется в обработчике событий GLUT функцией glutIdleFunc() . У этой функции особое назначение — она вызывается каждый раз, как обработчик событий по завершению своего цикла не нашел никаких действий со стороны пользователя. Вызываемая функция idle() идеально подходит для создания анимации. Во втором примере, ../../common/January1998/example2, назначением функции является небольшое изменение параметра карты. В конце функции idle() присутствует вызов другой часто употребляемой функции, glutPostResDisplay() , которая перерисовывает окно, сохраняя предыдущую инициализацию. В общем, это более эффективно, чем простой повторный вызов функции display() .

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

Перед Вами некоторые из кадров, отображаемых во время анимации:

ВАЖНОЕ ЗАМЕЧАНИЕ: вызываемая функция display() всегда вызывается как минимум один раз перед функцией idle(). Принимайте этот факт во внимание при написании собственных анимационных программ, для того, чтобы решить, какие команды поместить в функцию display() а какие — в idle().

Рисование линий и многоугольников

  • GL_POINTS Точки. Рисует точку в каждой из n вершин
  • GL_LINES Линии. Рисует набор несоединенных друг с другом линий. Отрезки рисуются между парами вершин v 0 и v 1 , v 2 и v 3 . итд. Если n — нечетное число, то v n-1 игнорируется
  • GL_POLYGON Многоугольник. Рисует многоугольник, используя v 0 , v 1 . v n-1 как вершины. n должно быть равно минимум 3 чтобы что-либо было нарисовано, кроме того, многоугольник не может пересекаться сам с собой и должен быть выпуклым (из-за ограничений алгоритмов, реализованных аппаратно).
  • GL_TRIANGLES Треугольники. Рисует серию треугольников, используя тройки вершин v 0 , v 1 и v 2 , затем v 3 , v 4 и v 5 итд. Если n не кратно 3, оставшиеся точки игнорируются
  • GL_LINE_STRIP Ломанная или полоса. Рисует линию из v 0 в v 1 , затем из v 1 в v 2 итд. Наконец, из v n-2 в v n-1 , всего n-1 отрезков ломанной. Какие-либо ограничения на расположения вершин ломанной не накладываются, линии могут произвольно пересекаться
  • GL_LINE_LOOP Замкнутая ломанная. То же, что и ломанная GL_LINE_STRIP, за исключением того, что последний отрезок рисуется между v n-1 и v 0 , замыкая круг
  • GL_QUADS Четырехугольники. Рисует серию четырехугольников, используя по четыре вершины v 0 , v 1 , v 2 , v 3 затем v 4 , v 5 , v 6 , v 7 итд.
  • GL_QUAD_STRIP Полоса четырехугольников. Рисует серию четырехугольников, используя вершины v 0 , v 1 , v 3 , v 2 затем v 2 , v 3 , v 5 , v 4 итд.
  • GL_TRIANGLE_STRIP Полоса треугольников. Рисует серию треугольников, используя вершины в следующем порядке: v 0 , v 1 , v 2 , затем v 2 , v 1 , v 3 , затем v 2 , v 3 , v 4 , итд. Порядок вершин должен гарантировать, что треугольники имеют правильную ориентацию, и полоса может использоваться для формирования части поверхности.
  • GL_TRIANGLE_FAN Похоже на GL_TRIANGLE_STRIP, но треугольники используют вершины в таком порядке: v 0 , v 1 , v 2 , затем v 0 , v 2 , v 3 , затем v 0 , v 3 , v 4 , итд. Все треугольники имеют общую вершину v 0

Как и прежде, присутствует вызываемая функция idle() целью которой в данном случае является поддержание хода часов (изменением переменной time ). Функция display() рисует два объекта: отвес (шнурок) и диск (белым и красным цветами соответственно). Движение маятника сокрыто в формулах для xcenter и ycenter:

 void display(void)< static double radius = 0.05; const double delta_theta = pi2/20; double xcenter , ycenter; double x, y; double theta = 0.0; double current_angle = cos(omega * time); glColor3f(0.0, 0.0, 0.0); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); /* Рисуем отвес */ glColor3f(1.0, 1.0, 1.0); glBegin(GL_LINES); glVertex2f(0.0, 0.0); xcenter = -cord_length * sin(current_angle); ycenter = -cord_length * cos(current_angle); glVertex2f(xcenter, ycenter); glEnd(); /* Рисуем диск */ glColor3f(1.0, 0.0, 0.0); glBegin(GL_POLYGON); while (theta ; glEnd(); glutSwapBuffers(); >;  

Упражнения

  • В первом примере, ../../common/January1998/../../common/January1998/example1.c попробуйте другие карты. Возьмите в библиотеке любую книгу по Фракталам, в которой Вы несомненно найдете множество примеров. Поэкспериментируйте, изменяя параметры, систему координат, применяя последовательно несколько карт перед отрисовкой точек. Получите удовольствие от игры с примером. 🙂
  • Во втором примере, ../../common/January1998/../../common/January1998/example2.c , вы можете добавить цвет к каждой точке. Например, очень интересное цветовое кодирование может быть основано на присвоении каждой точке цвета в соответствии с локальной стабильностью орбиты. (Из обзора Physics Review Letters Vol 63, (1989) 1226) , когда траектория проходит через хаотический регион, она становится более красной. Например, вблизи островков стабильности орбита может становиться более синей. Если Вы воплотите этот эффект, фрактальная природа карты из нашего примера станет очевидной. Это немного сложно для тех из Вас, кто не имел дела с дифференциальными уравнениями, но заслуживает изучения, если Вы хотите использовать карты и фракталы в своей компьютерной графике.
  • В третьем примере, ../../common/January1998/../../common/January1998/example3.c , попробуйте изменить тип линий, используемых для рисования диска. Используйте GL_LINES, GL_TRIANGLES, итд.. Посмотрите, что получится. Попробуйте оптимизировать рисование диска, нет необходимости каждый раз вычислять синусы и косинусы для рисования одного и того же диска в каждом кадре, Вы можете сохранить значения в массиве. Используйте многоугольники, чтобы нарисовать коробку, алмаз, или что еще придет в голову вместо диска на конце маятника. Нарисуйте два маятника в кадре, качающихся независимо или даже бьющихся друг об друга.

В следующий раз.

На сегодня все. Есть еще много недосказанного о многоугольниках. В следующем выпуске (Март 1998) мы продолжим изучение многоугольников, моделирования и опишем более детально некоторые из команд, с которыми Вы уже успели познакомиться.

  • Прочтите Обзор железа: Графические карты 3Dfx.
  • Посетите http://www.opengl.org/.
  • Прочтите другие статьи этого же автора: Что такое OpenGL?, Программирование GLUT: Окна и анимация.

© 1998 Miguel Angel Sepúlveda
This website is mantained by Miguel A Sepulveda .

Polygon Tools. Инструменты Полигона. Возможности редактирования

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

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

Polygon Tools (Инструменты Полигона)

Для редактирования полигонов, вам необходимо зайти на вкладку Polygon в панели инструментов.

Pen Tool (Инструмент: Перо)

Инструмент позволяет создавать вершины в окне проекции мышкой. Щёлкайте LMB и создавайте вершины. Вы можете использовать Pen для создания полигонов, линий, вершин.

Type (Тип): меню позволяет выбирать между полигонами, линиями, вершинами, сплайн фрагментами или подразделенными поверхностями.

Type (Тип): меню позволяет выбирать между полигонами, линиями, вершинами, сплайн фрагментами или подразделенными поверхностями.

Polygon (Полигон) — каждый клик мышки создает новую вершину для полигона.

Lines (Линии) — создает полигон, у которого всего две вершины

Vertices (Вершины) — создает вершины

Spline patch (Заплата Сплайном) — принцип работы инструмента аналогичен Polygon mode, но создает полигон из четырех вершин.

Subdivs (Подразделение) — создает полигон с подразделенной поверхностью (Subdivision).

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

Position (Положение) X, Y, Z: это поле позволяет точно редактировать каждую вершину. Просто установите Current Point value на той вершине, которую хотите редактировать и введите числовые данные по осям X, Y, Z.

Flip Polygon (Вывернуть Полигон): опция позволяет менять направление поверхности полигона внутрь или наружу (выворачивает).

Close (Закрытый): автоматически проводит линию между первой и последней вершиной, делая замкнутую петлю.

Merge (Слияние): автоматически делает слияние или комбинирует вершины находящиеся в непосредственной близости друг от друга при их создании.

Make Quads (Сделать Квады): создавая полигон, эта опция позволяет вводить две вершины, после чего создается автоматически третья и четвертая вершины. Это помогает ускорить процесс создания геометрии.

Wall Mode—

Wall Mode (Режим Стены): опция позволяет создавать стены, по умолчанию отключена. Имеет четыре опции: Off (Отключено), Inner (Внутренний), Outer (Наружный), Both Sides (Обе стороны). Эти опции влияют на построении стены от вашей основной линии, другими словами стена будет строиться от основной линии справа или слева, или в обе стороны от середины.

Offset (Смещение): параметр отвечает за толщину стены.

Inset—

Inset (Вставка): эта опция позволяет каждую новую вершину помещать во множественные сегменты, к примеру, для выравнивания или закругления углов.

Segments (Сегментов): опция работает, когда Inset установлена не на нуле. Определяет, как много создать вершин для того, чтобы усилить функцию Inset, что помогает построить более сложные и закругленные углы.

На рисунке построен отрезок стены с параметрами Both Sides, Offset — 1m, Inset -571 mm, Segments — 5;

Show—

Show Angles (Отображать Углы): при активированной опции, над противоположными, активными гранями будут показываться значения углов в градусах.

Show Handles (Отображать Рукояти): переключает отображение рукояти для настройки положения вршины по осям.
Show Numbers (Отображать Числа): Переключает отображение значений порядка точек вершин в области отображения (проекции).

Select New (Выбрать Новый): Если активно, выбирает совсем недавно созданные полигоны в то время как инструмент ещё активен.

UVs—
Make UVs (Создавать UV’сы):
в активном режиме будет автоматически создавать проекции для геометрических объектов.

Project To (Проекция к):

Pen Snap (привязка пера)—

World Axis Snap (Привязка Оси Мира): когда данная опция активна, инструмент занимает положение вдоль общих XYZ осей, если вы уже создали более одной вершины.

Straight Line Snap (Привязка Прямыми Линиями): опция позволяет установить точку в такой позиции, в которой можно создать прямую линию между следующей и предыдущей вершинами в строящемся многоугольнике.

Right Angle Snap (Привязка Правильными Углами): опция повлияет на привязку инструмента, когда угол, созданный текущей, предыдущей и следующей вершинами, образует 90 градусов.

Raycast Handle Position (Положение Рукояти под Прямым Лучом): Если эта опция включена, вершины на заднем фоне сетки будет нельзя выделить. Это означает, что вершины скрытые за передними полигонами будут игнорироваться для привязки и редактирования.

Bevel (Скос)

Инструмент Bevel выполняет команды Shift (Сдвиг) и Inset (Вставку) на выбранных полигонах. Shift передвигает полигоны от своих первоначальных координат, а Inset масштабирует их. При использовании инструмента создаются новые полигоны, которые заполняют пропуски, оставшиеся после передвижения выделенных полигонов с их первоначальных координат.

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

+/- : в данном поле вы можете установить произвольное значение для Inset и Shift. Если у вас в значении Shift установлен 1 метр и в поле +/- значение 0.5 метров, то в результате фаска будет от 0.5 до 1.5 метров. Это очень удобно при создании скоса разного размера для нескольких полигонов одновременно, как вы видите на рисунке.

Polygons_Tools_Bevel modo

Edges (Inner/Outer) Ребра (Внутренние/Внешние): Данная опция позволяет определить, где находятся новые созданные плоскости внутри оригинальных границ или снаружи. По умолчанию стоят внутренние настройки, они предпочтительны для многих случаев моделирования.
Опция Outer очень полезна при скашивании полигонов, которые не присоединены к другим плоскостям, например текст. В этом случае, вы можете сохранить масштаб оригинального текста, но сделать объемным край за пределами оригинальных плоскостей, для этого используйте опцию Outer.

Use Material (Использовать Материал): при включенной данной опции, вы можете выбрать любой ранее созданный материал в Shader Tree. Ниже в Material Name, вам необходимо выбрать нужный материал для вновь создаваемых полигонов.

Material Name (Имя Материала): обозначает выбранный материал для Use Material.

Group Polygons (Группировать Полигоны): эта опция очень полезна при скосе нескольких полигонов, которые вы бы хотели видеть как один целый полигон. Когда опция отключена, каждый выделенный полигон будет иметь свой скос, если же использовать опцию, то выбранные полигоны будут объединены в один. Посмотрите, как это выглядит на рисунке. Первый куб с отключенной опцией Group Polygons, второй с включенной.

Polygons_Tools_Bevel modoPolygons_Tools_Beve

Segments (Сегментов): определяет количество кромок вдоль направления скоса. Если значение равно 0 и выбран одномерный контур, то команда Bevel автоматически подбирает наилучший сегмент для данного контура.

Reverse Direction (Реверс Направления): если данная опция активна, то «Inset» (Вставка) переварачивается задом на перёд.

Reverse Inset (Реверс Вставки): если данная опция активна, то «Inset» (Вставка) становится обратной.

Keep Aspect (Сохранять Пропорции): автоматически задает значение «Inset» основанные на коэффициенте пропорциональности профиля.

Make UVs (Создать UV’сы): это всплывающая опция позволит вам выбрать один из трех UV методов. Первый, стоящий по умолчанию, None просто создает UVs для новых поверхностей, внутри существующих UV координат пытающихся скосить UV совместно с геометрией. Опции U и V создадут полностью новый блок UV данных в отрицательных UV координатах с новыми областями, развернутыми в выбранных пользователем осях (U или V). Эта опция может быть крайне важна при скашивании геометрических результатов в совмещенных UV массивах, так как это создаст более выгодную базовую точку для UV.

Smooth Shift (Сглаженное Смещение)

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

Возьмите подопытного из Presets Browser, выделите часть головы и груди, как на рисунке ниже, скопируйте выделенную геометрию и поместите в новый слой Mesh, предварительно создав этот слой.

Smooth_shif modo

Smooth_shif modo

Активируйте инструмент Smooth Shift. Скопируйте полученную геометрию и перенесите в слой с нашим подопытным.

Smooth_shif modo

Smooth_shif modo

Этот инструмент чем-то похож на инструмент Bevel. Однако его удобство заключено в том, что вы можете применять его к сглаженной поверхности Subdivide, при этом не используя дополнительных настроек, в отличии от Bevel.
Geometry menu > Polygon > Smooth Shift Tool.
Горячая клавиша: S

Thicken (Утолщение)

Инструмент Thicken позволяет быстро добавить объем плоской геометрии. Например, можно рассмотреть рулон бумаги или свиток, которому необходимо задать толщину. Создаем профиль свитка с помощью инструмента Curve. Применяем команду Freeze. (О данной команде вы можете узнать в конце этого урока), выдавливаем ребра и получаем свиток без толщины.

Thiken modoThiken modo

Используем инструмент Thicken. Стоит заметить, что этот инструмент тоже похож на инструмент Bevel. В modo инструменты устроены очень интуитивно, и, в конечном счете, вы используете разные инструменты в достижение одинаковых задач.

Наш свиток после использования инструмента Thicken.

Thiken modo

Thicken имеет две функции: Offset (Cдвиг) и Scale (Масштаб). Толщина для геометрии будет задаваться согласно положительным или отрицательным значениям. При положительных значениях толщина будет создаваться наружу от исходной геометрии, при отрицательных во внутрь.

Sketch Extrude (Вытеснение Наброска)

Sketch Extrude позволяет вам быстро выдавливать выделенные полигоны в произвольной форме. Смысл инструмента заключен в том, что вы просто перемещаете выделенный полигон в окне проекции по вашему усмотрению. Для начала создадим куб и выделим у него несколько полигонов. Затем активируем инструмент Sketch Extrude, и кликаем мышкой в окне проекции, активируя тем самым инструмент. Наводим курсор мышки на появившийся голубой квадрат выделенного полигона и тянем в окне проекции в любом направлении. Выделенный полигон будет перемещаться вслед за курсором мышки. Тоже проделываем и с другими выделенными полигонами.
Sketch_extrudeSketch_extrude modo

Sketch_extrude modo

Опции Sketch Extrude:

Mode (Режим): появившиеся панели предоставляют набор полезных опций для контроля за Sketch Extrude.

Sketch_extrude modo

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

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

Sketch_extrude modo

Delete Knot (Удалить Узел) опция позволяет удалить точки с созданного пути. Вам необходимо навести на точку, которую хотите удалить и кликнуть мышкой.

Sketch_extrude modo

Delete Path (Удалить Путь) эта опция удаляет весь созданный ранее путь, при нажатии мышкой на контрольную точку (голубой квадратик).

Sketch_extrude modo

Uniform Spans (Равномерный Интервал) эта опция равномерно распределяет контрольные точки созданного пути. После редактирования пути, вы можете использовать эту опцию, кликнув на контрольной точке

Sketch_extrude modo

Straight (Прямой) — опция позволяет быстро выпрямлять траекторию нажатием на контрольную точку.

Sketch_extrude modo

Move by Path (Перемещение по Пути): эта опция доступна только при использовании опции Edit Path.
При активации этой опции, перемещение любой контрольной точки повлечет за собой перемещение дополнительных точек, расположенных между выбранной контрольной точкой и концом траектории.

Uniform (Равномерный): опция заставляет всю вновь созданную геометрию распределиться равномерно между изначальной позицией плоскости и концом траектории.

Align to Path (Выровнить по Пути): при активации этой опции вся геометрия, созданная в соответствии с траекторией, будет перемещаться согласно выстраиванию кривых линий. Когда эта опция не активна, все новые плоскости будут перемещаться так же, как изначальная плоскость.

Precision (Точность): точный объем определяет частотность создания контрольных точек при создании траектории. Этот объем представляет количество пикселей экрана таким образом, что, если объем составляет 30 (значение объема по умолчанию), новый контрольный диапазон составит 30 пикселей каждый раз при движении мышки.

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

Sketch_extrude modoSketch_extrude modo

Spin (Вращение): перемещает каждый созданный участок по траектории создавая эффект изгиба вдоль кривой линии.

Make UVs (Создать UV‘сы): эти опции обеспечивают контроль за методом создания UV для новых полигонов. Опция по умолчанию создает UV внутри существующей UV карты. Выбор опций U или V Repeat покроет каждый новый сегмент вместе с осями U или V.

Горячие клавиши ALT + B.

Bridge (Мост)

Bridge объединяет выделенные полигоны или ребра между собой, добавляя при этом дополнительные полигоны и ребра. Инструмент удобен для создания изгибов труб. Что бы использовать инструмент рассмотрим пример, создадим два куба и выделим два полигона, для которых будет установлен «мост».

bridge modo

bridge modo

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

Segments (Сегментов): Опция позволяет установить количество сегментов для вновь созданной геометрии. Это количество может быть установлено интерактивно, путем перемещения нажатой LMB в окне проекции при активном инструменте Bridge или введите нужное число сегментов цифрами. На рисунке ниже введено количество сегментов 8.

bridge modo

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

bridge modo

Mode: Linear, Curve, Smooth (Режим: Линейный, Кривая, Сглаженный) — представляет собой простой метод установления вставок в плоскость созданного моста. Linear создаст мост по прямой линии между выделенными полигонами. Curve создаст арку, необходимо добавить нужное количество сегментов, при значении сегментов 0, работает, так же как и Linear. Smooth создаст сглаживание между изначально выбранными полигонами.

Remove Polygons (Удалить Полигоны): опция удаляет изначально выбранные полигоны, как не нужные. Установлена по умолчанию и наиболее предпочтительна.

Flip Polygons (Вывернуть Полигоны): в активном состоянии эта опция переворачивает перпендикуляры созданных полигонов моста.

Reverse Directions (Реверс Направления): опция меняет положение начального и конечного полигонов для создания моста, другими словами просто меняет вершины для создания моста.

Auto Connection (Автосоединение):

Continuous Bridge (Непрерывность Моста):

Use Guide Curve (Использовать Направляющие Кривых):

Tension (Напряжение): процентное значение, предоставляющее дополнительный контроль за траекторией моста. Используется при активном Curve mode. При увеличении этого значения, эффект Curve будет усиливаться, при его уменьшении будет усиливаться Linear mode.

Inset (Вставка): определяет величину смещения одномерной фигуры по оси Х.

Reverse Direction (Реверс Направления): если данная опция включена, то одномерная фигура оценивается сверху вниз.

Reverse Inset (Реверс Вставки): если эта опция будет включена, команда Inset фактически будет отменена, зеркально отображая профиль.

Keep Aspect (Сохранять Пропорции): автоматически устанавливает значение «Inset» (Вставки) на основе коэффициента пропорциональности профиля.

Profiles (Профили): заранее установленный мини браузер для просмотра различных профилей. Работает также как стандартный браузер.

Spikey (Заострение, Острый Выступ)

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

spikey modo

Shift (Смещение)

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

shift modo

Inset (Вставка)

inset modo

Inset – это инструмент создания плоскости, который берет выбранные плоскости и подразделяет их для создания новой геометрии внутри изначально выбранной. Вновь созданная плоскость образует дубликат изначальной. Например, выбираем одну плоскость в кубе, используем инструмент Inset, создастся более маленькая четырехугольная плоскость внутри изначальной.
Использование отрицательных значений для Inset приведет к тому, что дубликаты плоскости будут больше, чем начальная плоскость.

Reduction (Инструмент Cокращения)

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

Существует три опции Reduction:

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

Material Border Weight (Вес Границ Материала): определяет количество ударений, необходимых для использования полигонов, чтобы сохранить чистоту и детализировать геометрию.

Boundary Weight (Вес Границ): определяет количество ударений, которые необходимо предпринять для сохранения деталей вокруг границ полигонов.

Команды для Полигонов

Make (Создать)

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

Что бы создать полигон нам необходимо выделить вершины. Вершины следует выделять последовательно, одна за одной. В зависимости от того куда будет смотреть полигон, наружу или вовнутрь, выделяйте точки по часовой стрелке или против. Выделяем вершины. Выделим четыре вершины по часовой стрелке, выполним команду Make Poly нажав клавишу Р. Или в Menu Bar выберем команду Geometry > Polygon > Make.

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

Теперь выберем по часовой стрелке восемь вершин и выполним команду Make Poly. Горячая клавиша P.

У нас получился один полигон, состоящий из восьми вершин. «Правильный» полигон в modo, состоит из четырех вершин, это важно когда вы используете подразделенные поверхности (Subdivide). При моделировании не стоит это забывать.

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

Split (Расщепить)

Команда Split работает на выбранных полигонах и вершинах. Полигоны разделяются по выбранным вершинам. Если полигон не выбран, тогда все полигоны будут разъединены.
Чтобы разделить полигон, необходимо:
1) выбрать полигоны, которые нужно отделить;
2) перейти в режим выбора Vertices и выбрать вершины для новых границ;
3) нажать вкладку Polygon;
4) нажмите Split.

Быстрая клавиша: CTRL+L.

Triple (Троирование)

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

Быстрая клавиша: Shift+T.

Quadruple (Четвертовать)

Очень полезная функция при рептологии.

Работая с «Pen» (Пером), автоматически добавит рёбра, охватывая противоположные вершины, делая квадрополигоны.

Spin Quads (Вращение Квадов)

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

Быстрая клавиша: Alt+V.

Flip (Вывернуть)

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

Быстрая клавиша: F.

Align (Выравнивание)

Align Polygons автоматически поворачивает все полигоны в одно направление.
Align Polygons используется с полигонами, нормали которых направлены как во внутрь, так и наружу. Align Polygons использует первый выбранный полигон в качестве образца. Align Polygons попытается подобрать направление нормали полигона. Что бы использовать Align, необходимо:
1) Выбрать полигон, относительно которого будет происходить выравнивание.
2) Нажать CTRL и выбрать дополнительную плоскость, расположенную в неправильном направлении.
3) На вкладке Polygon нажмите команду Align
Нормали полигонов будут выстроены в одном направлении, ориентируясь на превый полигон.

Set Material (Задать Материал)

Set Material позволяет установить тег материала для выбранной геометрии.
Позже, вы можете редактировать свойства материала, используя Shader Tree.
При назначении материала Set Material позволяет быстро корректировать Diffuse Color, Specular Color. Чтобы добавить материал, выберите геометрию и нажмите букву «М». Затем выберите одно и трехзначных значений в цветовом блоке и корректируйте цвет, удерживая левую кнопку мыши двигая курсор влево и вправо. По-другому, вы можете кликнуть на цветовой блок, после чего появится Color Picker, в котором можно задать нужный цвет.

Быстрая клавиша: M.

Merge (Слияние)

Merge Polygons комбинирует выбранные плоскости в одну с n-ым количеством сторон. По существу, Merge Polygons перемещает все внутренние грани таким образом, что многоуровневые плоскости могут управляться как одна плоскость. Merge Polygons можно найти на ярлыке Polygon инструментальной линейки Tools входящей в группу Commands на выпадающем меню Reduce. Расширьте секцию Commands, чтобы увидеть Reduce, затем нажмите появившуюся стрелку и выберите Merge. > Polygon > Merge.
Более сложные секции будут соединять нужное количество плоскостей вместе, чтобы передвинуть нужные грани. Если удалены все грани, содержащие вершины, то вершины удаляются тоже.
Возможно, обозначить выборку, которая не может быть полностью удалена. В этом случае, операция делает все возможное, чтобы не потерять «острые выступы», которые граничат полностью внутри одной плоскости.

Remove (Убрать)

Remove Polygon Vertices объеденяет полигоны в один, которые содержат эти вершины. Удаление вершин приведет к удалению самих точек, при этом не удаляя сам полигон. Таким образом, удаление одной вершины четырехугольника приведет к образованию треугольника. В System menu > Preferences > Data > 3D Editing находится Vertex Deletion. Когда включен Remove Line Polygons (по умолчанию), удаление вершины в треугольнике приведет к удалению самого полигона автоматически. Если выбрать Keep All Polygons, тогда полигоны с одной вершиной и двумя вершинами останутся не тронутыми при удалении третьей вершины.
Remove Vertex находится на вкладке Vertex, или в меню Commands > Remove, или на Geometry menu > Remove. Remove Polygon Vertices – это часто используемая команда.

Горячая клавиша: Backspace

Unify (Унифицировать)

Unify (Унифицирование) позволяет слить два полигона в один, при условии, что эти полигоны находятся в одном и том же месте и у них общие вершины. Чтобы Unify стал доступным, кликните на вкладке Polygons, затем нажмите на стрелку рядом с Reduce и выберите Unify. Выбранные полигоны в окне будут объединены в один.

Collapse (Коллапсировать, Стягивание)

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

Freeze (Заморозка)

Freeze, находящаяся на палитре Curves (Палитра Кривых), преобразует все выбранные полигоны, которые не имеют нужного вида, в тот вид, который использует метод генерирования сетки для вида плоскости. Curves приобретают вид полигонов, и подразделение поверхностей становятся четырехугольниками в настоящем разрешение. Инструменты Bezier, Curve и Sketch работают также как импортер Illustrator.

Параметры для Freeze включают:

Freeze Curves as Faces (Замороженные дуги как образы): образы появляются, когда включен Freeze Curves.

Make Holes (Сделать Отверстия): внутренние сильно уплотненные дуги образуют отверстия при включенном Make Holes. Вы можете определить направление отверстия, используя Drill Axis.

Drill Axis (Ось Бурения): контролирует направление отверстия при включенном Make Holes (Сделать Отверстия).

Freeze Displacement (Заморозить Смещение): при активации данной опции, modo применяет команду Freeze ко всем текстурам с эффектами Displacement и Vector Displacement, приобразовывая изображение смещения в геометрию. После выполнения команды Freeze все текстуры с эффектами смещения могут быть удалены из Shader Tree. Когда данная опция отключена, modo будет игнорировать текстуры с эффектами Displacement и Vector Displacement, применяя команду Freeze только к геометрии SDS Subdivide и Catmull-Clark. Количество полигонов окончательно замороженной геометрии определяется опцией Subdivision Level в свойствах Mesh Item, или в свойствах Current Level при замораживании геометрии после лепки в Multiresolution.

Freeze Deformations (Заморозить Деформацию): при активации замораживает карты Vertex Map или MDD деформаторы применённые к геометрии в анимации. Для объектов с Morph деформаторами, modo заморозит сетку геометрии в ее текущем состоянии в окне проекции. Для этого деформаторы Morph должны быть выделенны перед выполнением команды Freeze.

Tessellation (Тесселяция):

Что такое Polygon Matic и в чем его преимущества?

Polygon (ранее Matic Network) — это платформа масштабирования Ethereum, которая позволяет разработчикам создавать децентрализованные приложения с низкой комиссией за транзакции. Polygon помогает решить такие проблемы Ethereum, как высокая стоимость газа и низкая производительность.

История создания Polygon Matic

В 2017 году Анураг Арджун, Михайло Бьелик, Джейнти Канани и Сандип Нэйлвал основали проект под названием Matic Network. Их целью было помочь увеличить масштабируемость в сети Ethereum, которая не справлялась с быстрым ростом числа приложений и операций.

В 2018 году вышла статья от команды Matic об их видении масштабирования сети Ethereum. Тогда впервые и было озвучено что Matic – это решение для масштабирования 2-го уровня. Реализовать эту цел планировалось за счет сайдчейнов.

IEO Matic в апреле 2019 стало одним из первых на платформе Binance Launchpad. Токенсейл был проведен в виде лотереи, в которой токены получили 16,7 тыс. участников. В ходе IEO команда привлекла порядка $5,6 млн.

Ребрендинг

В феврале 2021 года разработчики Matic Network изменили название проекта на Polygon. Ребрендинг был приурочен к переходу от решения второго уровня для блокчейна Ethereum к мультичейн-системе, похожей на Polkadot. Таким образом, Polygon стал «интернетом блокчейнов Ethereum»

Новое видение: интернет блокчейнов Ethereum

1. Polygon — часть экосистемы Ethereum и пользуется его сетевым эффектом Ethereum, в то время как вышеупомянутые проекты представляют собой конкурирующие экосистемы, созданные с нуля.

2. Polygon нативно поддерживает любое масштабируемое или инфраструктурное решение из экосистемы Ethereum.

Polygon Network представляет собой модульную платформу 2-го уровня типа Security-As-a-Service. Она позволяет создавать Ethereum-совместимые блокчейн-сетей, которые могут взаимодействовать друг с другом. Это помогает решить главные проблемы Ethereum, как перегруженность сети, низкая пропускная способность и высокая плата за газ, которые создают ограничения для блокчейн-разработчиков и препятствуют развитию экосистемы, а, следовательно, и широкому принятию людьми.

Хотя уже существуют решения, совместимые с Ethereum и Ethereum Virtual Machine (EVM), нет единого протокола, который обеспечил бы совместимость блокчейнов и обеспечил безопасное взаимодействие между ними. В этом плане может помочь Polygon Network, который нацелен на создание единой масштабируемой инфраструктуры для интернета блокчейнов.

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

Архитектура Polygon

Архитектура протокола состоит 4 слоев, которые могут использоваться для разного вида задач различными блокчейнами. Рассмотрим немного каждый из этих слоев:

1. Ethereum Layer — этот уровень задействован для таких операций, как финализация транзакций, стейкинг, урегулирование споров и обмен данными между Ethereum и Polygon. Слой носит вспомогательный характер, и сети на основе Polygon не обязаны его использовать.

2. Security Layer — позволяет системам на базе Polygon использовать услуги внешних валидаторов, которые могут частично проверять валидность любой из систем в обмен на вознаграждение. Может функционировать параллельно Ethereum (мета-блокчейн).

3. Polygon Networks Layer — это совокупность автономных блокчейнов, которые независимо друг от друга достигают консенсуса и производят блоки.

4. Execution Layer — слой, отвечающий за согласование и выполнение транзакций. Он, в свою очередь, состоит из двух подслоев: среда выполнения (EVM) и логика выполнения (смарт-контракты Ethereum).

Преимущества Polygon

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

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

Другой пример: разработчики игр на блокчейне могут разработать собственный механизм консенсуса с высокой скоростью создания блока и тем самым отказаться от Ethereum Layer и Security Layer, сфокусировавшись на Polygon Networks Layer.

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

В отличие от таких блокчейнов первого уровня, как Polkadot, Cosmos и Avalanche, в экосистеме Polygon блокчейн Ethereum является главным связующим хабом. Это позволяет проекту опираться на большое сообщество пользователей и разработчиков, популярный язык программирования Solidity и виртуальную машину EVM.

Экосистема и достижения Polygon

На Polygon уже создано более 100 млн адресов, а количество транзакций в день не падает ниже 2 млн. На основе собственного PoS-блокчейна проекта выпущено более 50 цифровых активов, включая MATIC, Tether USD (USDT), USD Coin (USDC), Quickswap (QUICK), Dai Stablecoin (DAI), Chain Games (CHAIN).

Многие проекты либо мигрировали с Ethereum на Matic PoS Chain, либо находятся в процессе миграции: Decentral Games, SportX, Easyfi, Neon District, 1inch Network, Quickswap, Uniswap, SushiSwap, Aavegotchi, Polymarket, Polkamarkets, Superfarm, The Graph и Chainlink и многие другие.

Недавно команда начала сотрудничество с браузером Opera: в новейшем обновлении была добавлена поддержка Polygon.

Не стоит забывать и о том, что Polygon получил новых инвестиций на $450 млн от таких фондов, как Sequoia Capital India, SoftBank, Galaxy, Tiger и Republic Capital.

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

Pontem

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

Чтобы быть в курсе нашей работы, подписывайтесь на Pontem в Twitter, Medium и общайтесь с нами в Telegram.

Roman Aleksandrov

Панель « Polygon Modeling » содержит инструменты, предназначенные для переключения между различными уровнями подобъектов, навигации по стеку модификаторов, а также конвертирования объектов в « Editable Poly » и « Edit Poly » и многое другое.

Поскольку эта панель является наиболее часто используемой, Вам возможно потребуется обращаться к ней отдельно от общей панели « Ribbon » (отсоединить её можно потянув за заголовок ), тем самым оставшаяся часть панели « Ribbon » будет занимать меньше места в окне проекции.

Рекомендуемая настройка: Панель « Ribbon » сокращается и минимизируется, а вкладка « Polygon Modeling » переходит в «плавающий» режим.

Interface

Вкладка « Polygon Modeling » в минимизированной раскладке панели « Ribbon »

Вкладка « Polygon Modeling » в развёрнутой раскладке панели « Ribbon » (расширенная).

Вкладка « Polygon Modeling » в развёрнутой раскладке панели « Ribbon »

Примечание Кнопки уровней подобъектов на панели « Polygon Modeling » работают по тому же принципу выделения-конвертации, как и их аналоги, расположенные в панели « Modify », смотрите тему : Конвертирование выделения . на подобъектном уровне .

Кроме того, если один выделенный объект не имеет формата « Editable Poly », клик на любую кнопку одного из уровней подобъектов на панели « Polygon Modeling » сперва назначит на него модифика тор Edit Poly . Если выделено несколько объектов, клик на эту кнопку, применит зависимый модификатор « Edit Poly ».

Vertex

Доступ к уровню подобъектов « Vertex ». Позволяет выделять вершину, на которую указывает курсор, выделение рамкой выделяет те вершины, которые попадают в эту рамку.

Edge

Доступ к уровню подобъектов « Edge ». Позволяет выделять ребро, на которое указывает курсор, выделение рамкой выделяет несколько рёбер, которые попадают в эту рамку.

Border

Данная кнопка предоставляет доступ к уровню подобъектов « Border », на котором можно выделять целую последовательность рёбер, которая по сути является окаймляющей границей образованных в геометрии пустот. « Border » – представляет собой линейный участок сетки, который в большинстве случаев можно рассматривать как « край отверстия » в сетке. Иными словами, такое расположение подобъектов сетки можно упростить до понятия « открытые рёбра ». Как правило « Border » включает в себя только связанные между собой рёбра, являющиеся частью только одного полигона . Такая последовательность рёбер всегда замкнута (« Loop »). Например, такой примитив как « Box » не имеет « открытых рёбер », а вот у примитива « TeaPot » найдётся парочка таких пустот: на крышке, корпусе, на носике и два пустотных отверстия на ручке. Если создать такой примитив как « Cylinder » и удалить у него торцевые полигоны, то смежный ряд рёбер образует « открытую границу ».

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

Выделенную « открытую границу » можно закрыть, используя для этого либо функцию Cap . , либо применить модификатор CapHoles . . Даже доступна такая возможность как соединение двух « открытых границ » между двумя объектами. Для реализации такой возможности воспользуйтесь инструментом Connect compound object .

Примечание Уровни подобъектов « Edge » и « Border » совместимы. Т.е. при переходе от одного уровня к другому текущее выделение сохраняется (наследуется).

Polygon

Доступ к уровню подобъектов « Polygon ». Позволяет выделять полигон, на который наведён курсор, выделение рамкой выделяет несколько полигонов, которые попадают в эту рамку.

Element

Доступ к уровню подобъектов « Element ». Позволяет выделить всё смежные полигоны в объекте. Выделение рамкой позволяет выбрать несколько элем е нтов.

Примечание Уровни подобъектов « Polygon » и « Element » совместимы. Т.е. при переходе от одного уровня к другому текущее выделение сохраняется (наследуется).

Modify Mode/[stack level]

Переключение на панель « Modify », или если панель « Modify » уже активна, отображает текущий уровень в стеке модификаторов.

Пример использования:

Если выделен какой-либо объект и активна одна из командных панелей (за исключением активной панели « Modify ») – на кнопке будет отображаться надпись « Modify Mode » ;

Для объекта без модификатора в стеке, при активной панели « Modify », а также если тип этого объекта не является « Editable Poly » или « Edit Poly » — кнопка будет недоступной. В ином случае кнопка будет отображать тип объекта, например, « Editable Poly » ;

Если панель « Modify » активна, а вместе с ней активен текущий уровень модификатора, кнопка отображает название этого модификатора.

Совет Если панель « Modify » активна, Вы можете перемещаться по стеку м/у модификаторами, используя кнопки « Next »/ « Previous » (см. ниже).

Toggle Command Panel

Вкл./Выкл. Видимости командной панели.
Примечание Клик по этой кнопке всегда делает панель « Modify » активной.

Pin Stack

Блокирует стек модификаторов и управляющих элементов панели « Ribbon » для текущего объекта, таким образом они остаются неизменными применительно к этому объекту, вне зависимости от последующих изменений в выделении.

Совет Кнопку « Pin Stack » полезно использовать для трансформации другого (клонированного) объекта, при этом сохраняя своё место в отредактированном стеке.

Show End Result (off/on)

Показывает выделенный объект с применённым к нему редактированием, выше по стеку, вне зависимости от текущего положения в стеке.

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

Next/Previous Modifier

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

Это равносильно перемещению ввер/вниз по стеку текущего модификатора.
Preview

  • Preview Off — предварительный просмотр недоступен.
  • Preview SubObject — Разрешает предварительный просмотр только на текущем уровне подобъектов. Как только курсор оказывается над указанным подобъектом, последний подсвечивается жёлтым цветом. Для выделения подсвеченного подобъекта, по нему необходимо кликнуть ЛКМ.

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

Предварительный просмотр выделенных при помощи зажатой клавиши «Ctrl» полигонов.

Для отмены выделения на текущем уровне подобъектов, необходимо зажать и удерживая сочетание клавиш « Ctrl+Alt » вести мышкой для подсветки большего количества подобъектов. Это действие отменит все ранее созданные выделения.

  • Preview Multi – Работает так же как и кнопка «Preview SubObject», но она также имеет возможность в процессе подсвечивания элементов переключаться м/у уровнями подобъектов « Vertex », « Edge » и « Polygon », подсвечивание происходит согласно положению курсора мышки. Например, если курсор разместить над ребром, то оно подсветится, а если кликнуть по нему, то активируется уровень подобъектов « Edge » и эта грань выделится. Для выделения нескольких подобъектов одного типа, необходимо зажать клавишу « Ctrl » и удерживая её после подсвечивания подобъекта, переместить мышку, чтобы подсветить больше подобъектов, а затем кликнуть ЛКМ чтобы активировать этот уровень подобъектов и выделить все подсвеченные элементы.

Для отмены выделения нескольких элементов в текущем уровне подобъектов, необходимо зажать и удерживая сочетание клавиш « Ctrl+Alt » вести мышкой для подсветки большего количества подобъектов, а затем кликнуть ЛКМ по выделенным подобъектам. Это действие отменит все ранее созданные выделения.

Примечание Стоит помнить, что эта методика не переключает уровни подобъектов.

Ignore Backfacing

Вкл./Выкл. функцию выделения подобъектов с обратной стороны объекта.

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

Use Soft Selection

Переключатели Soft Selection . и Soft Panel . , располагают инструментами для управления работой функции Soft Selection ». Доступны только чере уровни подобъектов.

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

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

Слева: Вершины смещены с отключенной функцией « Soft Selection »;
Справа: Вершины смещены с активной функцией « Soft Selection »;

Примечание Когда панель « Ribbon » находится в максимально развёрнутом виде, или когда вкладка « Polygon Modeling » отсоединена от неё, следующие элементы управления отображаются во вкладке « Polygon Modeling » (расширенной её версии).

Collapse Stack

Тоже самое, что и Collapse All : Сворачивает весь стек выделенного объекта к состоянию « Editable Poly », которое сохраняет совокупный результат действия всех свёрнутых модификаторов на базовый объект. см. раздел Collapsing the Stack .

К объекту, являющемуся результатом сворачивания стека применимы все инструменты палитры « Graphite Modeling Tools », только при условии, что он является объектом типа « Editable Poly ».

Convert to Poly

Преобразует объект в формат « Editable Poly » и переключается в режим « Modify ».
Этот способ является наиболее быстрым для применения к объекту инструментов « Graphite Modeling ».

Apply Edit Poly Mod

Применяет к объекту модмфикатор Edit Poly и переключается в режим « Modify ».

Generate Topology

Открывает диалоговое окно Topology . , располагающее инструментами для редактирования структуры геометрии объекта.

Symmetry Tools

Full Interactivity

Переключатель, обеспечивающий взаимодействие с такими инструментами как « QuickSlice » и « Cut » так же, как это происходит для всех настроек, диалоговых окон и управляющих элементов « Caddy ». Доступно только с объектами типа « Editable Poly », но не с модификатором « Edit Poly ».

Если кнопка активна (по умолчанию), 3ds Max обновляет окно проекции в режиме реального времени, Это происходит и в момент, когда мышкой осуществляются различные манипуляции с инструментами и когда вводятся числовые значения. С инструментами « Cut » и « QuickSlice » при отключенной кнопке « Full Interactivity », после первого клика, в окне проекции отображается так называемая « резиновая нить», это происходит до тех пор, пока Вы не произведёте второй клик. Тоже самое происходит с вводом числовых параметров в « Caddy », окончательный результат будет виден только тогда, когда после ввода значений, кнопка мыши будет отпущена.

Независимо от того, включена ли функция « Full Interactivity » или выключена, она не влияет на ввод числовых значений с клавиатуры. Вне зависимости от состояния, изменения вступает в силу только тогда, когда Вы выходите из поля ввода через нажатие клавиш « Tab » или « Enter », либо кликнув в другом числовом поле диалогового окна.

Смотрите также:
Темы в этом разделе:
Soft Panel .

« Soft Panel » открывается тогда, когда кнопка « Use Soft Selection » — активна. Этот инструмент предоставляет управляющие элементы для управления работой параметра « Soft Selection ». Для более подробной информации смотрите раздел Soft Selection . .

Topo logy Dialog .

Инструменты вкладки « Topology » служат для перестроения сетки модели типа « Subdivision » в процедурно сгенерированный шаблон. Шаблон топологии можно применять как ко всей поверхности объекта, так и к отдельным её частям.

Symmetry Too ls Dialog .

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *