Aspose.3D FOSS for TypeScript
Referencia de API para @aspose/3d versión 24.12.0. Instalar mediante:
npm install @aspose/3dEntorno de ejecución: Node.js 18, 20, 22+ · Lenguaje: TypeScript 5.0+ / JavaScript (CommonJS) · Licencia: MIT
Gráfico de escena principal
El contenedor raíz para una escena 3D. Llama a scene.open() o scene.openFromBuffer() para cargar un archivo, y scene.save() para escribir la salida. Expone scene.rootNode como el punto de entrada a la jerarquía de nodos.
Un nodo con nombre en el árbol de escena. Contiene un Transform, un opcional entity (malla, cámara, luz, u otro SceneObject), y cero o más nodos hijos accesibles a través de childNodes.
Clase base para todos los objetos que pueden adjuntarse a un Node como su entidad principal. Subclase de Mesh, Camera, Light, y otros.
SceneObject
Base abstracta para objetos nombrados que pertenecen a una escena. Proporciona el name propiedad y el seguimiento de pertenencia a la escena compartidos por nodos, entidades y objetos a nivel de activo.
A3DObject
Clase base raíz para todos los objetos Aspose.3D. Proporciona el sistema de propiedades (getProperty, setProperty) y el name campo heredado por cada clase pública.
Geometría y malla
Representa una malla poligonal. Contiene un controlPoints matriz de Vector4 vértices y definiciones de polígonos creadas mediante createPolygon(). Llamar triangulate() para convertir todos los polígonos en triángulos antes de exportar.
Clase base para todos los tipos de geometría. Contiene controlPoints y la colección de elementos de vértice (normales, UVs, colores) adjuntos a la geometría.
VertexElement
Clase base para canales de atributos por vértice adjuntos a un Geometry.Las subclases llevan matrices de datos tipados y mappingMode / referenceMode metadatos.
VertexElementNormal
Un VertexElement subclase que almacena normales de superficie. Los datos se almacenan internamente como FVector4[] (heredado de VertexElementFVector). Requerido por la mayoría de los renderizadores para una iluminación correcta.
VertexElementUV
A VertexElement subclase que almacena coordenadas de textura 2D. Una sola malla puede tener múltiples conjuntos UV para diferentes capas de textura.
VertexElementVertexColor
A VertexElement subclase que almacena valores de color RGBA por vértice.
VertexElementType
Enumeración de los tipos de canal de atributo que un VertexElement puede representar (p.ej., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Enumeración que controla cómo los datos del elemento se asignan a la geometría: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, o ALL_SAME.
ReferenceMode
Enumeración que controla cómo los índices de elemento hacen referencia a los datos: DIRECT (uno a uno) o INDEX_TO_DIRECT (a través de una matriz de índices).
TextureMapping
Enumeración de semánticas de canales de textura: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, y más.
Transform y Spatial
Contiene la posición local (translation), rotación (rotation como Quaternion), y escala (scaling) de un Node. Los cambios aquí afectan al nodo y a todos sus hijos.
GlobalTransform
Vista de solo lectura de la transformación en espacio mundial de un nodo, calculada acumulando todos los ancestros Transform valores. Acceso a través de node.globalTransform.
BoundingBox
Una axis-aligned bounding box definida por un minimum y maximum Vector3 esquina. Utilizado para describir la extensión espacial de una malla o escena.
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material es la clase base abstracta para todos los tipos de material. Hay disponibles tres implementaciones concretas:
- LambertMaterial — solo difuso con canales de color ambiental, difuso y emisivo. Adecuado para superficies no especulares.
- PhongMaterial — extiende
LambertMaterialcon color especular y propiedades de brillo para sombreado Phong. - PbrMaterial — material de renderizado basado en la física con canales metálico, rugosidad, color base y mapa de normales. Se asigna directamente al modelo de material PBR de glTF 2.0.
Cámara y Iluminación
Una entidad de nodo de punto de vista con tipo de proyección, campo de visión, distancias de recorte cercano/lejos y propiedades de relación de aspecto.
Una entidad de nodo de fuente de luz. El tipo es controlado por el LightType enumeración.
LightType
Enumeración de los tipos de luz compatibles: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Enumeración de los modos de proyección de cámara: PERSPECTIVE y ORTHOGRAPHIC.
Utilidades Matemáticas
Un vector de punto flotante de tres componentes con x, y, z campos y métodos aritméticos comunes (dot, cross, normalize, minus, times). Exportado desde @aspose/3d/utilities.
Un vector de punto flotante de cuatro componentes con x, y, z, w campos. Usado como el tipo de entradas en Mesh.controlPoints.
Un vector de doble precisión de dos componentes con x y y campos. Usado para coordenadas de textura UV.
FVector3
Un vector compacto de tres componentes de precisión simple utilizado en matrices de datos de elementos de vértice para normales y tangentes.
Una matriz de transformación 4×4. Soporta concatenación, inversión, transposición y descomposición en componentes de traslación, rotación y escala. Exportado desde @aspose/3d/utilities.
Un cuaternión unitario para representar rotaciones sin bloqueo de gimbal. Proporciona slerp() para una interpolación suave y conversión de/hacia ángulos de Euler y Matrix4. Exportado desde @aspose/3d/utilities.
AnimationClip
Una colección nombrada, limitada en el tiempo, de AnimationNode pistas. El contenedor principal de datos de animación por fotogramas clave cargados desde archivos FBX o COLLADA.
AnimationNode
Una pista de animación nombrada que apunta a una ruta de propiedad específica en un objeto de escena. Contiene uno o más AnimationChannel objetos.
AnimationChannel
Un único canal de propiedad animado dentro de un AnimationNode. Contiene un KeyframeSequence de pares tiempo/valor.
KeyFrame
Una única muestra tiempo/valor en un KeyframeSequence. Lleva la marca de tiempo (en segundos), el valor y la información de tangente para la interpolación.
KeyframeSequence
Una lista ordenada de KeyFrame muestras para un canal de propiedad, junto con el Interpolation y Extrapolation ajustes que rigen la reproducción.
Enumeración de modos de interpolación de fotogramas clave. Los miembros conocidos incluyen LINEAR y CONSTANT. Miembros adicionales como BEZIER pueden estar disponibles.
Define el comportamiento fuera del rango de fotogramas clave (antes del primer fotograma y después del último). Controlado por ExtrapolationType.
StepMode
Enumeración que controla cómo se aplica la interpolación escalonada (constante) en los límites.
WeightedMode
Enumeración para el manejo del peso de la tangente Bézier: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, o BOTH.
ExtrapolationType
Enumeración de comportamientos fuera de rango: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, y OSCILLATE.
E/S de formato
FileFormat
Descriptor base para un formato de archivo 3D. Cada formato compatible proporciona una instancia única concreta a través de getInstance().
Clase base para implementaciones de importación específicas de formato. No se instancia directamente; es invocada internamente por scene.open().
Clase base para implementaciones de exportación específicas de formato. No se instancia directamente; es invocada internamente por scene.save().
LoadOptions
Clase base para objetos de opciones de carga específicos de formato. Pase una instancia de subclase a scene.open() o scene.openFromBuffer().
SaveOptions
Clase base para objetos de opciones de guardado específicos de formato. Pase una instancia de subclase a scene.save().
IOService
Interfaz de servicio interno que abstrae la E/S del sistema de archivos y del búfer para importadores y exportadores.
Formato OBJ
OBJ admite tanto importación como exportación. Al guardar como OBJ, la biblioteca de materiales (.mtl) se escribe automáticamente junto a la .obj archivo.
ObjImporter
Importador interno que lee archivos Wavefront OBJ, resuelve .mtl bibliotecas de materiales y rellena un Scene. Se invoca automáticamente cuando ObjLoadOptions se pasa a scene.open().
ObjExporter
Exportador interno que escribe archivos Wavefront OBJ. Un compañero .mtl biblioteca de materiales se escribe automáticamente. Se invoca cuando scene.save() apunta a un .obj ruta.
ObjLoadOptions
Opciones de carga para archivos OBJ. Propiedades clave: enableMaterials (booleano, por defecto true), flipCoordinateSystem (boolean), normalizeNormal (boolean, default true), scale (number). Ver Opciones de carga y guardado de formato para obtener detalles completos.
ObjSaveOptions
Guardar opciones para la exportación OBJ. Pasar a scene.save() para controlar el comportamiento de salida OBJ. Ver Opciones de carga y guardado de formato para obtener detalles completos.
ObjFormat
Descriptor de formato singleton para OBJ. Ambos canImport y canExport son true.
Formato glTF
GltfImporter
Lee JSON glTF 2.0 (.gltf) y binario GLB (.glb) archivos. Maneja referencias de buffer incrustadas y externas, materiales PBR, skins y clips de animación.
GltfExporter
Escribe salida glTF 2.0. Cuando GltfSaveOptions.binaryMode es true, produce un GLB autocontenido; de lo contrario escribe un JSON .gltf con un buffer complementario .bin buffer.
GltfLoadOptions
Opciones de carga para archivos glTF/GLB. Controla la resolución de búferes y el comportamiento de carga de texturas.
GltfSaveOptions
Opciones de guardado para la exportación glTF/GLB. Propiedades notables: binaryMode (boolean, true → GLB, default false), flipTexCoordV (boolean, flips UV vertical axis, default true). Ver Opciones de carga y guardado de formato para obtener detalles completos.
GltfFormat
Descriptor de formato singleton. Obtenga a través de GltfFormat.getInstance() y páselo a scene.save() como segundo argumento.
Formato STL
StlImporter
Lee archivos STL tanto ASCII como binarios en un Scene que contiene un único Mesh entidad.
StlExporter
Escribe STL binario. La salida contiene la malla triangulada de la escena; los polígonos que no son triángulos se triangulan automáticamente.
StlLoadOptions
Opciones de carga para STL. Controla si el importador invierte las normales durante la importación.
StlSaveOptions
Opciones de guardado para la exportación STL. Propiedad clave: binaryMode (booleano, por defecto false). Controla si la salida es STL ASCII o binario. Ver Opciones de carga y guardado de formato para obtener detalles completos.
StlFormat
Descriptor de formato singleton. Obtenga a través de StlFormat.getInstance().
3MF Format
ThreeMfImporter
Lee archivos 3MF de Open Packaging Convention y rellena un Scene con objetos de malla, colores y propiedades de material.
ThreeMfExporter
Escribe un archivo 3MF válido a partir de la escena actual. Adecuado para flujos de trabajo de impresión 3D.
ThreeMfLoadOptions
Opciones de carga para archivos 3MF.
ThreeMfSaveOptions
Opciones de guardado para la exportación 3MF.
ThreeMfFormat
Descriptor de formato singleton. Obtenga a través de ThreeMfFormat.getInstance().
Formato FBX
FbxImporter
Lee archivos FBX binarios y ASCII, incluyendo geometría, materiales, esqueletos, blend shapes y clips de animación.
FbxExporter
Escribe archivos FBX a partir de la escena actual. Se admite salida FBX tanto binaria como ASCII según las opciones.
FbxLoadOptions
Opciones de carga para FBX. Controla si se importan animación, skins y blend shapes.
FbxSaveOptions
Opciones de guardado para la exportación FBX. Propiedad clave: embedTextures (booleano, por defecto false). Ver Opciones de carga y guardado de formato para obtener detalles completos.
FbxFormat
Descriptor de formato singleton. Obtenga a través de FbxFormat.getInstance().
Formato COLLADA
La importación y exportación COLLADA requieren el xmldom dependencia peer, que se instala automáticamente con @aspose/3d.
ColladaImporter
Lee COLLADA (.dae) archivos XML usando xmldom. Maneja geometría, materiales, cámaras, luces y animación.
ColladaExporter
Escribe salida XML COLLADA a partir de la escena actual. Adecuado para el intercambio con herramientas DCC (Blender, Maya, etc.).
ColladaFormat
Singleton del descriptor de formato. Obtenga mediante ColladaFormat.getInstance().
Sistema de Propiedades
Un par nombre/valor tipado que puede adjuntarse a cualquier A3DObject. Soporta tipos de valor escalar y vectorial.
PropertyCollection
Un contenedor ordenado de Property objetos. Accesible en cualquier A3DObject a través del properties accesor.
CustomObject
Un contenedor de propiedades de forma libre que extiende A3DObject. Se utiliza para almacenar metadatos arbitrarios que no se asignan a una clase estándar.
Información del activo
AssetInfo
Transporta metadatos a nivel de escena cargados del archivo fuente: autor, nombre de la aplicación, fecha de creación, escala de unidades y información del eje de coordenadas.
ImageRenderOptions
Opciones que controlan cómo se resuelven y codifican las texturas e imágenes al guardar en formatos que incrustan datos de imagen (p. ej., GLB con binaryMode: true).
Ver también
- Base de Conocimientos: Guías Prácticas
- Visión General Detallada de la API
- Clase Scene
- Clase Node
- Clase Mesh
- Clase Transform
- Clase GlobalTransform
- Clase Camera
- Clase Light
- Clase Vector3
- Clase Quaternion
- Clase Matrix4
- Clase BoundingBox
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Opciones de carga y guardado de formato
- Referencia Vector2, Vector4
- Referencia a Property, PropertyCollection, AssetInfo
- Referencia A3DObject, SceneObject, Entity
- Referencia VertexElement, VertexElementNormal, VertexElementUV
- Referencia de enumeraciones
- npm: @aspose/3d
- GitHub: aspose-3d-node