Configurar normales o UV en el cubo y añadir material a 3D Entidades
Mesh
se está utilizando en el código. PodemosCrear un objeto de clase Mesh
como se narra allíY, a continuación, apunte el nodo a la geometría de malla porCreación de una escena 3D.
Crear vectores normales
Para tener un buen aspecto visual en la iluminación, necesitamos especificar la información normal para cada vértice, para tener mejores detalles, también podemos usar el mapa normal y difuso (seguro que puede usar la sombra/mapa especular) para realizar por píxel normal/color. Una información por vértice como el color normal o de vértice se logra por VertexElement
. En Aspose.3D podemos mapear información adicional para controlar puntos/vértice de polígono/borde, una muestra para definir normales para el vértice:
Los 8 vectores normales se asignan a 8 puntos de control directamente, en el siguiente ejemplo, demostraremos un escenario un poco más complejo.
Crear coordenadas UV
Aquí, solo definimos 4 coordenadas UV, pero las aplicamos a 24 vértices poligonales (6 caras * 4 vértices por polígono) mediante el uso de índices. El Aspose.3D proporciona 5 modos de mapeo:
CONTROL_POINT
: cada dato se asigna al punto de control de la geometría.POLYGON_VERTEX
: los datos se asignan al vértice del polígono.POLYGON
: los datos se asignan al polígono.EDGE
: los datos se asignan al borde.ALL_SAME
: un dato asignado a toda la geometría.
Añadir materiales a objetos 3D
Aspose.3D para Python via .NET permite a los desarrolladores utilizar el algoritmo de sombreado para obtener un sombreado y resaltes precisos. El Phong tiene varias entradas de mapa que podemos usar para enmascarar el efecto en el nodo. Rendering Físicamente Basado (PBR) tiene en cuenta algunas propiedades físicas de los objetos, tal enfoque proporciona la apariencia de materiales como en el mundo real.
Material Phong con textura para cubo
Cuando las coordenadas UV están listas para usar, podemos aplicar una textura en la superficie de la malla utilizando material. Solo el color de los vértices no puede describir los detalles de la superficie, para eso se utilizaron los materiales. Aquí hay un ejemplo para adjuntar un material Phong al nodo del cubo:
Especificamos el mapeo de textura difusa y un color especular con un parámetro de brillo.
Aplicar material de rendering basado en la física (PBR) a una caja
El PBR juega un papel clave para las imágenes del motor del juego, con su representación eficiente y realista de las interacciones entre la luz y la superficie a través de la atenuación del brillo y la dispersión de la luz reflejada. Los desarrolladores pueden usar Aspose.3D API para aplicar material PBR a 3D objetos en una escena. En este ejemplo de código se muestra cómo crear un objeto Box y, a continuación, aplicar el material 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)