Установите нормали или УФ-излучение на кубе и добавьте материал в 3D Entities

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

Чтобы иметь хороший визуальный взгляд на освещение, нам нужно указать нормальную информацию для каждой вершины, чтобы иметь более подробную информацию, мы также можем использовать нормальную и диффузную карту (конечно, вы можете использовать теневую/зеркальную карту) для выполнения каждого пикселя нормального/цвет. Информация на каждую вершину, такая как нормальный или вершинный цвет, достигается 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);