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

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

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

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

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

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

  • ControlPoint -все данные сопоставляются с контрольной точкой геометрии.
  • PolygonVertex -данные отображаются в вершину многоугольника.
  • Polygon -данные сопоставлены с многоугольником.
  • Edge -данные сопоставлены с ребром.
  • AllSame -один из данных сопоставлен со всей геометрией.

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

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

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

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

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

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

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

.NET, C#

 // initialize a scene

Scene scene = new Scene();

// initialize PBR material object

PbrMaterial mat = new PbrMaterial();

// an almost metal material

mat.MetallicFactor = 0.9;

// material surface is very rough

mat.RoughnessFactor = 0.9;

// create a box to which the material will be applied

var boxNode = scene.RootNode.CreateChildNode("box", new Box());

boxNode.Material = mat;

// save 3d scene into STL format

scene.Save(@"C:\3D\PBR_Material_Box_Out.stl", FileFormat.STLASCII);