Настройте нормали или УФ на Кубе и добавьте материал в сущности 3D

Создание нормальных векторов

Чтобы иметь хороший визуальный вид на освещение, нам нужно указать нормальную информацию для каждой вершины, чтобы иметь лучшие детали, мы также можем использовать нормальную и диффузную карту (конечно, вы можете использовать теневую/зеркальную карту) для выполнения на пиксель нормаль/цвет. Информация для каждой вершины, такая как нормальный цвет или цвет вершины, достигается с помощью VertexElement. В Aspose.3D мы можем сопоставить дополнительную информацию с контрольными точками/вершинами полигона/полигонов/ребром, выборкой для определения нормалей для вершины:

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

Создание УФ-координат

Здесь мы определили только 4 УФ-координаты, но применили их к 24 вершинам многоугольника (6 грани * 4 вершины на многоугольник) с помощью индексов. Aspose.3D предоставляет 5 режимов сопоставления:

  • CONTROL_POINT -все данные сопоставляются с контрольной точкой геометрии.
  • POLYGON_VERTEX -данные отображаются в вершину многоугольника.
  • POLYGON -данные сопоставлены с многоугольником.
  • EDGE -данные сопоставлены с ребром.
  • ALL_SAME -один из данных сопоставлен со всей геометрией.

Добавить материалы в объекты 3D

Aspose.3D for Python via .NET позволяет разработчикам использовать алгоритм затенения для точного затенения и подсвечивания. Фонг имеет несколько входов карты, которые мы можем использовать для маскировки эффекта для узла. Физически ориентированный рендеринг (PBR) учитывает некоторые физические свойства объектов, такой подход обеспечивает внешний вид материалов, как в реальном мире.

Материал Phong с текстурой для куба

Когда УФ-координаты готовы к использованию, мы можем нанести текстуру на поверхность сетки, используя материал. Только цвет вершины не может описать детали поверхности, это то, для чего использовались материалы. Вот пример для прикрепления материала Фонга к узлу куба:

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

Применить материал для физического отендинга (PBR) к коробке

PBR играет ключевую роль в визуальных эффектах игрового движка с его эффективной и реалистичной визуализацией взаимодействий между светом и поверхностью посредством ослабления яркости и рассеяния отраженного света. Разработчики могут использовать Aspose.3D API, чтобы применить материал PBR к 3D объектам в сцене. Этот пример кода демонстрирует, как создать объект Box, а затем применить материал PBR.

.NET, C#

import aspose.threed as a3d
# initialize a scene

scene = a3d.Scene()

# initialize PBR material object

mat = a3d.shading.PbrMaterial()

# an almost metal material

mat.metallic_factor = 0.9

# material surface is very rough

mat.roughness_factor = 0.9;

# create a box to which the material will be applied

boxNode = scene.root_node.create_child_node("box", a3d.entities.Box())

boxNode.material = mat

# save 3d scene into STL format

scene.save("PBR_Material_Box_Out.stl", a3d.FileFormat.STLASCII)