Vertex color что это

Материалы: советы и трюки. Часть 1

Перевод: © Black Sphinx, Москва, 2008

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

Прежде чем мы начнем: если вы не знаете как создать хорошую детальность на вашем материале, используйте тот же самый битмап для Diffuse, Specular map, Specular color map и т.д.

1. Добавление деталей на диффузе

1.1 Карта Vertex color

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

Vertex color что это. tut15 1. Vertex color что это фото. Vertex color что это-tut15 1. картинка Vertex color что это. картинка tut15 1

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

Vertex color что это. tut15 2. Vertex color что это фото. Vertex color что это-tut15 2. картинка Vertex color что это. картинка tut15 2

Vertex color что это. tut15 3. Vertex color что это фото. Vertex color что это-tut15 3. картинка Vertex color что это. картинка tut15 3

Vertex color что это. tut15 4. Vertex color что это фото. Vertex color что это-tut15 4. картинка Vertex color что это. картинка tut15 4

Перейдите на уровень редактирования вертексов, выделите вертексы и поменяйте цвет вертексов с белого (по умолчанию) на темно-коричневый.

Vertex color что это. tut15 5. Vertex color что это фото. Vertex color что это-tut15 5. картинка Vertex color что это. картинка tut15 5

Теперь при визуализации шкаф выглядит более объемным.

1.2 Изменение цвета дерева посредством использования карты Mix

Vertex color что это. tut15 6. Vertex color что это фото. Vertex color что это-tut15 6. картинка Vertex color что это. картинка tut15 6

Vertex color что это. tut15 7. Vertex color что это фото. Vertex color что это-tut15 7. картинка Vertex color что это. картинка tut15 7

1.3 Карта Falloff на диффузе

Цитата из файла помощи 3ds Max: «Карта Falloff генерирует значение от белого до черного, основываясь на угловом затухании нормалей поверхности геометрии. Направление, используемое для определения затухания нормалей, может быть различно и зависит от выбранного вами метода. Однако, по умолчанию, карта генерирует белый цвет на фейсах, нормали которых направлены наружу, относительно текущего вида, и черный цвет для фейсов, нормали которых направлены параллельно текущему виду.»

Эта техника подходит для искривленных или волнообразных объектов.

Vertex color что это. tut15 8. Vertex color что это фото. Vertex color что это-tut15 8. картинка Vertex color что это. картинка tut15 8

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

Vertex color что это. tut15 9. Vertex color что это фото. Vertex color что это-tut15 9. картинка Vertex color что это. картинка tut15 9

Решим эту проблему использованием карты Falloff в качестве диффузной карты.

Vertex color что это. tut15 10. Vertex color что это фото. Vertex color что это-tut15 10. картинка Vertex color что это. картинка tut15 10

Теперь визуализированное изображение выглядит более объемным.

Наложение карты Brick (Tiles) на простой мрамор

Vertex color что это. tut15 11. Vertex color что это фото. Vertex color что это-tut15 11. картинка Vertex color что это. картинка tut15 11

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

Поместите то же изображение в кату Brick (Tiles) для изменения тона плиток мрамора.

Vertex color что это. tut15 12. Vertex color что это фото. Vertex color что это-tut15 12. картинка Vertex color что это. картинка tut15 12

Vertex color что это. tut15 13. Vertex color что это фото. Vertex color что это-tut15 13. картинка Vertex color что это. картинка tut15 13

Перевод © Black Sphinx, 2008. All rights reserved.

Источник

Рендеринг vertex color с aiUserColor

Узлы пользовательских данных позволяют нам подключить различные формы информации к сети узлов в Арнольде. В этом уроке мы будем использовать узел AI User Data color для карты цветов вершин (vertex colors) в канале diffuse для этого ландшафта. У меня есть материал, назначенный для ландшафта, но в данный момент к его каналу diffused ничего не подключено. Если я выберу этот ландшафт, я смогу в режиме меню modeling перейти в Mesh Display и открыть Color Set Editor.

Как видите, для сетки объекта уже установлен цвет вершин. По умолчанию он называется ColorSet1. Закрою это окно. Для удобства мы можем отображать цвета вершин в окне проекции независимо от того, будет или нет Арнольд рендерить цвета вершин. У меня выделена сетка объекта и открыт attribute editor. Если же у вас attribute editor закрыт, вы можете открыть его с помощью сочетания кнопок Ctrl и А. Перейдем на узел mesh shape и развернем рахдел Mesh Component Display. Внизу радела у нас имеется опция Display Colors. Мы можем её активировать, и теперь у нас есть отображение vertex colors (цветов вершин) в окне проекции.

Непосредственно под выключателем Display Colors расположен атрибут Display Color Channel с выпадающим списком. Нам нужно, чтобы в нем было установлено значение None. Другие варианты из этого списка позволяют вам конвертировать существующие процедурные или растровые текстуры в vertex colors. Если мы выберем прямо сейчас значение Diffuse, то это вернет нас к равномерному серому цвету, потому что у меня нет никаких диффузных компонентов. Непременным условием рендера vertex colors в Арнольд является экспорт цветов вершин.

Давайте перейдем в свиток Arnold. Я закрою mesh component display, перейду к свитку Arnold в узле mesh shape, и мне нужно активировать Export Vertex Colors. Поставим на нем галочку. И, наконец, мы должны назначить соответствующее изображение. И мы можем закрыть attribute editor. Откроем HyperShade. В разделе materials выберем terrainLoFi и перейдем в окно редактирования узлов.

Нажмем Input and Output Connections. Мы можем приблизиться с помощью колесика мышки и передвинуть узлы, используя Alt и среднюю кнопку мышки. Создадим узел Arnold User Data Color. Для этого найдем в свитке Arnold раздела create опцию Shader. Нажмем на него aiUserDataColor. Соединим выход Out Color с входом Color узла terrainLoFi. В property editor нам нужно присвоить имя для нашего цвета вертексов.

Здесь есть пустое поле, которое называется Color Attribute Name. Кликнем на этом поле и напечатаем colorSet1 с заглавной S, нажмем Enter. Теперь мы можем увидеть, что эти вершины рендерятся в Арнольде. Перейдем в меню Arnold и выберем Arnold RenderView. Вот как можно применять vertex color в сети узлов в Арнольде, используя узел user data color.

Источник

3ds Max

Vertex color что это. toc menu. Vertex color что это фото. Vertex color что это-toc menu. картинка Vertex color что это. картинка toc menu

Vertex color что это. ajax loader. Vertex color что это фото. Vertex color что это-ajax loader. картинка Vertex color что это. картинка ajax loader

Could not retrieve table of contents

Vertex Color Map

Vertex Color map makes any vertex coloring applied to an object available for rendering. You can assign vertex colors using the VertexPaint Modifier, the Assign Vertex Colors utility, or the vertex controls for an editable mesh, editable patch, or editable poly.

Vertex color что это. GUID C4CF75AF A402 4F80 A0AC 341673E82593. Vertex color что это фото. Vertex color что это-GUID C4CF75AF A402 4F80 A0AC 341673E82593. картинка Vertex color что это. картинка GUID C4CF75AF A402 4F80 A0AC 341673E82593

Using vertex colors as a map

While vertex color assignment is primarily used for special applications, such as game engines or radiosity renderers, you can also use it to create colorful, gradient surface effects. You can also use it in design visualization: Use the VertexPaint Modifier to paint your landscape different colors to represent grass, shrubbery, parking areas, etc., and then use Vertex Color map to use the vertex coloring in your rendered images. Incidentally, when you use the Terrain object’s Color By Elevation function, 3ds Max assigns a material that uses a Vertex Color map as the diffuse component.

Procedures

To use the Vertex Color map:

Interface

Vertex color что это. GUID B8153C0A 971A 48E5 B701 5C4FB32F1E49. Vertex color что это фото. Vertex color что это-GUID B8153C0A 971A 48E5 B701 5C4FB32F1E49. картинка Vertex color что это. картинка GUID B8153C0A 971A 48E5 B701 5C4FB32F1E49

These parameters let you define which map channel or sub-channel is to be rendered. One application is to support usage of the Vertex Color map in conjunction with the Channel Info Utility.

The settings are interlinked; changing one parameter will change the other two, as appropriate.

Lets you specify which map channel to use. Range=0 to 99. Default=0.

Notes regarding this setting:

Lets you can specify that the map will use either the Red, Green, or Blue sub-channel of the specified map channel, or all sub-channels.

After assigning the material with the Vertex Color map to an object with named map or vertex-color channels (see Channel Info Utility), you can click Update, and then, from this drop-down list, choose a named map channel from the object.

Refreshes the contents of the Channel Name drop-down list. Use Update after applying the material to an object, or after adding channels to the object.

Источник

What is a vertex color?

My question is what is written in title. This term «vertex color» appear a lot. I am having hard time to understand this.

Isn’t a vertex simple point on 3D space? If so, how can a point have a color? Or does this «color» mean something else?

There is a «Vertex Color» node in unreal engine’s material editor.

Can someone shed light on my question? I couldn’t find anything usefull when I googled «what is a vertex color» but the documentations that are too technical for me.

Vertex color что это. 58hoe. Vertex color что это фото. Vertex color что это-58hoe. картинка Vertex color что это. картинка 58hoe

4 Answers 4

Vertex colors aren’t that relevant when you have a fully textured 3d mesh. But it gets interesting when you have an untextured but colored mesh. In that case you assign a color to every vertex. The shader would then color each pixel of a polygon by interpolating between the colors of the three vertices.

Vertex colors can also sometimes be interesting in combination with textures. When you want to use a shading algorithm like Gouraud Shading, you just calculate the light intensity on each vertex, assign the light color to the vertex as a vertex color, and when you render the texture you multiply the color value of each texture pixel with the interpolated colors. This allows you to calculate light sources in the vertex shader instead of the pixel shader. This is usually far faster, because the vertex shader is usually executed far less frequently.

In theory, Vertex Color allows to color a model without having to bother with textures. This is quite common in CAD.

Vertex color что это. 13Z9et. Vertex color что это фото. Vertex color что это-13Z9et. картинка Vertex color что это. картинка 13Z9et Vertex color что это. . Vertex color что это фото. Vertex color что это-. картинка Vertex color что это. картинка Vertex color что это. . Vertex color что это фото. Vertex color что это-. картинка Vertex color что это. картинка Vertex color что это. 9MSmzt. Vertex color что это фото. Vertex color что это-9MSmzt. картинка Vertex color что это. картинка 9MSmzt

In practice, it’s just one more slot you can use to push data into the vertex, which you then use in the vertex shader to do crazy stuff.

«Isn’t a vertex simple point on 3D space?»

That’s what I used to think, when I first started with 3D. I learned quickly that I was wrong.

Other standars examples of what’s in that blob are normals, and tangents. What’s important is that all of them are optional, including the position. Vertex Color is just one of these optional inputs that you can use or abuse to create a pretty picture on the screen.

Vertices can have colors, it’s a property just like the normal of it.

In 3d enviroments a triangle gets colored based on their vertices’ color information. The closest fragments to vertex A get the color of it, the closesr to vertex B get the colornof B, and the color interpolates between the 2.

It works the same way as per-vertex lighting

It’s an easy way to add colors to a model without using a texture.

Vertex color что это. iypYQ. Vertex color что это фото. Vertex color что это-iypYQ. картинка Vertex color что это. картинка iypYQ

Varying object colours (or other attributes) within a single batch / draw call.

You’ll see this used in rendering particle systems, text, and batched (usually atlassed) sprites.

Imagine you have a particle emitter that spawns particles with a random start colour, or that fade to 0 alpha over the particles’ lifetime. If we were to use shader uniforms to send this colour data, we’d need to draw each differently-coloured particle in its own draw call, making the particle system much more expensive. Instead, we can bake these colours into the vertex data for the particles, and render the whole batch together in a single call.

Unity appears to use this technique for particle colour variation, as well as for colouring individual characters in a TextMesh or Sprites rendered together in a batch.

I believe you can do something similar with geometry instancing, but I don’t know how the two compare in performance. It’s possible that today doing this type of instanced tweaking through vertex colours is more of a hold-over to support pre- OpenGL 3.1 / DX9 hardware like some mobile devices, rather than a best practice for modern PCs. I’d welcome comments from folks who’ve done more performance tuning with batches & instancing to help clear up whether these techniques have superseded vertex colours for this purpose. 🙂

Источник

Глава 25. Цвета вершин

Как уже когда-то вскользь упоминалось, объекты Editable Mesh и Editable Poly имеют такие параметры, как цвета вершин. Кроме того, вершины других объектов тоже могут быть раскрашены при помощи специального модификатора Vertex Paint, который появился в 3ds MAX 3.

Цвета вершин как базовое свойство

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

На самом деле канал Vertex Color полностью аналогичен всем остальным каналам карт, и в него даже можно применить модификатор UVW Map или залезть при помощи редактора модификатора Unwrap UVW. В этих модифиакторах нельзя в поле Map Channel поставить цифру 0, но можно выбрать пунктик Vertex Color Channel, что и будет означать наше залезание в нулевой канал.

Возникает вопрос: а если всё так, если Vertex Color действительно канал карт, то при чём же здесь цвета? А цвета при том, что каждому цвету можно сопоставить координаты в пространстве UVW. Для Vertex Color можно даже сказать, что это пространство RGB. Интенсивность каждого цвета расчитывается исходя из значения координаты по каждой из осей. И цвета соответствуют кубу размером 1х1х1, и вычисляются так:

R = 256·x, G = 256·y, B = 256·z

И естественно, трёхмерная текстура цвета вершин повторяется в этом пространстве периодически, поэтому если вершина и вылезет за границу основного куба, ей всё равно будет присвоен какой-то цвет. Вот только через диалог инструментов объектов Editable Poly или Editable Mesh мы не сможем присвоить вершенам координаты, значением больше единицы. Зато через модификаторы UVW Map или Unwrap UVW вполне можно это сделать.

Встаёт такой вопрос: а есть ли действительно такая процедурная карта, которую можно залить в куб 1x1x1, чтобы она там раскрашивала вершины в некоторые цвета, согласно их координатам? Да, такая процедурная карта есть, и она называется Vertex Color. Она как раз по умолчанию настроена таким образом, чтобы задействовать цвета вершин, которые можно присвоить при помощи инстурументов Editable Mesh и Editable Poly.

Прежде, чем перейти и к карте Vertex Color, и к модификатору Vertex Paint, закончим сначала с основными вопросами.

А с основными вопросами у нас ещё вот что: оказывается, в режиме работы с полигонами (многоугольниками) (Editable Poly) или с гранями в Editable Mesh в группах параметров Polygon Properties / Surface Properties тоже есть такой параметр как Vertex Color, однако на сей раз он выглядит более скромно. Инструменты Select By. отсутствуют. Почему, хотя речь идёт о гранях, всё равно написано Vertex Color? Кстати, если выбрать грань или многоугольник и поменять его цвет, то изменится цвет грани, а вокруг будут резкие границы. В то время, как в режиме работы с вершинами, если выделить одну вершину и поменять её цвет, он будет плавно перетекать в цвета соседних вершин, никаких резких границ не будет. В чём же дело в данном конкретном случае? А дело в том, что присваивая Vertex Color грани, мы в пространсве UVW (RGB) отделяем эту грань от остальной развёртки как будто её выделили и применили команду Break в редакторе модификатора Unwrap UVW. На деле же, координаты наложения текстур хранятся именно в вершинах, грань лишь помнит, на какие из этих вершин она натянута. В разных пространствах одна и та же грань может быть натянута на совершенно разные вершины.

Напротив флажка Vertex Color во вкладке Display есть небольшая кнопочка Shaded. Если её нажать, объект будет оттенённым, то есть не будет ярко светиться, как когда эта кнопка выключена. В общем, нужны и тот и другой режим. Когда Shaded выключено, мы видем непосредственно цвета вершин без искажения, какие они есть на самом деле, а если Shaded включен, то объект смотрится более естественно, и мы можем оценить, как он будет смотреться с тенями.

Если выбрать Map Channel Color, и в окошке снизу указать номер, то мы увидим цвета вершин для указанного мап-канала. Вот как будет выглядеть наш динозавр с созданной в первом мап-канале развёрткой (о чём писалось ранее, в главах о приготовлении развёртки) если включить для него этот режим для мап-канала 1.

Vertex color что это. dinomapch. Vertex color что это фото. Vertex color что это-dinomapch. картинка Vertex color что это. картинка dinomapch
Рис. 25.1. Отображение в режиме Vertex Color (Shaded) с параметрами Map Channel Color = 1

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

Карта Vertex Color

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

Перво-наперво, хочется сказать, что хотя по сути своей это получается трёхмерная процедурная карта, тем не менее, в навигаторе карт и материалов в пункте 3d Maps (если его выбрать) этой карты не будет. Она будет находится в пункте Color Maps.

Итак, параметры. Их очень мало.

Модификатор Vertex Paint

Модификатор имеет стандартную панель во вкладке Modyfy и переносную панель с инструментами, которая показана на рисунке 25.2

Рис. 25.2. Переносная панель инструментов Vertex Paint

Переключатель Vertex color что это. Displauy channel. Vertex color что это фото. Vertex color что это-Displauy channel. картинка Vertex color что это. картинка Displauy channelDisplay Channel в активном режиме станет цветным, и вот что в нём можно найти:

Далее идут инструменты рисования.

Vertex color что это. blur. Vertex color что это фото. Vertex color что это-blur. картинка Vertex color что это. картинка blur— размывающая кисточка

3) Таким образом, в больщинстве случаев модификатор Vertex Paint лучше использовать для того же низкополигонального объекта, чтобы только задействовать дополнительные возможности управления вершинами.

Пример применения цветов вершин

Внимание: Если цвета выделенных подобъектов не совпадают, в квадратике Color отображается чёрный цвет, но это не значит, что подобъекты будут чёрными после такого выделения. Однако, если вы покрутите этот чёрный при помощи меню выбора цветов и измените хотя бы чуть-чуть, или просто покрутите и вернёте в прежнее состояние, подобъекты действительно почернеют. Или примут тот цвет, который вы накрутите в меню. Чтобы этого не произошло, в меню надо нажать кнопку Reset (обнулить).

Vertex color что это. . Vertex color что это фото. Vertex color что это-. картинка Vertex color что это. картинка
Vertex color что это. DinoVC. Vertex color что это фото. Vertex color что это-DinoVC. картинка Vertex color что это. картинка DinoVC
Рис. 25.3. Вот так будет выглядеть объек, если раскрасить его вершины на базовом уровне (или схлопнуть Vertex Paint, применённый над базовым уровнем, на сам базовый уровень). Для объекта включён режим отображения Veertex Color, а в стеке выше есть модификаторы Symmetry и Turbo Smooth
Vertex color что это. Dino Composite. Vertex color что это фото. Vertex color что это-Dino Composite. картинка Vertex color что это. картинка Dino Composite
Рис. 25.4. Комбинирование карт.

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

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

Примечание: При использовании в сочетании модификаторов Symmetry и Turbo Smooth может возникнуть проблема с обработкой развёрток. При рендеринге может появиться сообщение:

«Texture has invalid vertex indices. Can not render.»

Это возникает когда при склейке симметричных половинок случатся какие-то глюки в развёртках.

Тогда используйте вместо TurboSmooth модификатор MeshSmooth.

Источник

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

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