CSGPolygon3D
Hereda: CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
Extrae una forma de polígono 2D para crear una malla 3D.
Descripción
Un array de puntos 2D se extruye para crear rápida y fácilmente una variedad de mallas 3D. Véase también CSGMesh3D para usar mallas 3D como nodos CSG.
Nota: Los nodos CSG están pensados para ser usados para el prototipado de niveles. La creación de nodos CSG tiene un coste de CPU significativo comparado con la creación de una MeshInstance3D con una PrimitiveMesh. Mover un nodo CSG dentro de otro nodo CSG también tiene un coste de CPU significativo, por lo que debe evitarse durante el juego.
Tutoriales
Propiedades
|
||
|
||
|
||
|
||
Enumeraciones
enum Mode: 🔗
Mode MODE_DEPTH = 0
La forma polygon se extruye a lo largo del eje Z negativo.
Mode MODE_SPIN = 1
La forma polygon se extruye girándola alrededor del eje Y.
Mode MODE_PATH = 2
La forma polygon se extruye a lo largo del Path3D especificado en path_node.
enum PathRotation: 🔗
PathRotation PATH_ROTATION_POLYGON = 0
La forma polygon no se rota.
Nota: Requiere que las coordenadas Z de la ruta disminuyan continuamente para asegurar formas viables.
PathRotation PATH_ROTATION_PATH = 1
La forma polygon se rota a lo largo de la ruta, pero no se rota alrededor del eje de la ruta.
Nota: Requiere que las coordenadas Z de la ruta disminuyan continuamente para asegurar formas viables.
PathRotation PATH_ROTATION_PATH_FOLLOW = 2
La forma polygon sigue la ruta y sus rotaciones alrededor del eje de la ruta.
enum PathIntervalType: 🔗
PathIntervalType PATH_INTERVAL_DISTANCE = 0
Cuando mode se establece en MODE_PATH, path_interval determinará la distancia, en metros, que se extruirá cada intervalo de la ruta.
PathIntervalType PATH_INTERVAL_SUBDIVIDE = 1
Cuando mode se establece en MODE_PATH, path_interval subdividirá los polígonos a lo largo de la ruta.
Descripciones de Propiedades
Cuando mode es MODE_DEPTH, la profundidad de la extrusión.
Material a usar para la malla resultante. El UV mapea la mitad superior del material a la forma extruida (U a lo largo de la longitud de las extrusiones y V alrededor del contorno del polygon), el cuarto inferior izquierdo a la cara del extremo frontal, y el cuarto inferior derecho a la cara del extremo posterior.
El mode utilizado para extruir el polygon.
Cuando mode es MODE_PATH, por defecto, la mitad superior del material se estira a lo largo de toda la longitud de la forma extruida. Si es false, la mitad superior del material se repite en cada paso de la extrusión.
Cuando mode es MODE_PATH, el intervalo de ruta o la relación de puntos de ruta a extrusiones.
PathIntervalType path_interval_type 🔗
void set_path_interval_type(value: PathIntervalType)
PathIntervalType get_path_interval_type()
Cuando mode es MODE_PATH, esto determinará si el intervalo debe ser por distancia (PATH_INTERVAL_DISTANCE) o fracciones de subdivisión (PATH_INTERVAL_SUBDIVIDE).
Cuando mode es MODE_PATH, si es true los extremos de la ruta se unen, añadiendo una extrusión entre el último y el primer punto de la ruta.
Cuando mode es MODE_PATH, si es true la Transform3D del CSGPolygon3D se utiliza como punto de partida para las extrusiones, no la Transform3D del path_node.
Cuando mode es MODE_PATH, la ubicación del objeto Path3D utilizado para extruir el polygon.
PathRotation path_rotation 🔗
void set_path_rotation(value: PathRotation)
PathRotation get_path_rotation()
Cuando mode es MODE_PATH, el método de rotación de la ruta utilizado para rotar el polygon a medida que se extruye.
Cuando mode es MODE_PATH, si es true el polígono se rotará de acuerdo con la tangente apropiada de la ruta en los puntos muestreados. Si es false, se utiliza una aproximación, cuya precisión disminuye a medida que disminuye el número de subdivisiones.
Cuando mode es MODE_PATH, las extrusiones que son menores que este ángulo se fusionarán para reducir el número de polígonos.
Cuando mode es MODE_PATH, esta es la distancia a lo largo de la ruta, en metros, que se enlazarán las coordenadas de textura. Cuando se establece en 0, las coordenadas de textura coincidirán exactamente con la geometría sin enlazar.
PackedVector2Array polygon = PackedVector2Array(0, 0, 0, 1, 1, 1, 1, 0) 🔗
void set_polygon(value: PackedVector2Array)
PackedVector2Array get_polygon()
La matriz de puntos que define el polígono 2D que se extruye. Esto puede ser un polígono convexo o cóncavo con 3 o más puntos. El polígono no debe tener aristas que se intersecten. De lo contrario, la triangulación fallará y no se generará ninguna malla.
Nota: Si solo se definen 1 o 2 puntos en polygon, no se generará ninguna malla.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.
Si es true, aplica sombreado suave a las extrusiones.
Cuando mode es MODE_SPIN, el número total de grados que se rota el polygon al extruir.
Cuando mode es MODE_SPIN, el número de extrusiones realizadas.