Aspose.3D FOSS for TypeScript
API-Referenz für @aspose/3d Version 24.12.0. Installation über:
npm install @aspose/3dLaufzeit: Node.js 18, 20, 22+ · Sprache: TypeScript 5.0+ / JavaScript (CommonJS) · Lizenz: MIT
Kern‑Szenengraph
Methods
Der Hauptcontainer für eine 3D‑Szene. Aufrufen scene.open() oder scene.openFromBuffer() um eine Datei zu laden, und scene.save() um die Ausgabe zu schreiben. Stellt bereit scene.rootNode als Einstiegspunkt in die Knotenhierarchie.
Methods
Ein benannter Knoten im Szenenbaum. Enthält ein Transform, ein optionales entity (Mesh, Kamera, Licht oder anderes SceneObject), und null oder mehr Kindknoten, die zugänglich sind über childNodes.
Methods
Basisklasse für alle Objekte, die an ein Node als seine primäre Entität. Subklassiert von Mesh, Camera, Light, und andere.
SceneObject
Abstrakte Basis für benannte Objekte, die zu einer Szene gehören. Stellt die name Eigenschafts- und Szenenmitgliedschaftsverfolgung, die von Knoten, Entitäten und Asset‑Ebene‑Objekten gemeinsam genutzt wird.
A3DObject
Root‑Basisklasse für alle Aspose.3D‑Objekte. Stellt das Eigenschaftssystem (getProperty, setProperty) und das name Feld, das von jeder öffentlichen Klasse geerbt wird.
Geometrie und Mesh
Methods
Stellt ein Polygonnetz dar. Enthält ein controlPoints Array von Vector4 Vertices und Polygondefinitionen, die über createPolygon(). Aufruf triangulate() um alle Polygone vor dem Export in Dreiecke zu konvertieren.
Methods
Basisklasse für alle Geometrietypen. Enthält controlPoints und die Sammlung von Vertex-Elementen (Normalen, UVs, Farben), die an der Geometrie angehängt sind.
VertexElement
Basisklasse für pro-Vertex-Attributkanäle, die an einem Geometry.Unterklassen enthalten typisierte Datenarrays und mappingMode / referenceMode Metadaten.
VertexElementNormal
Ein VertexElement Unterklasse, die Oberflächennormalen speichert. Daten werden intern gespeichert als FVector4[] (geerbt von VertexElementFVector). Von den meisten Renderern für korrekte Beleuchtung erforderlich.
VertexElementUV
Ein VertexElement Unterklasse, die 2D-Texturkoordinaten speichert. Ein einzelnes Mesh kann mehrere UV-Sets für verschiedene Texturschichten haben.
VertexElementVertexColor
Ein VertexElement Unterklasse, die pro-Vertex RGBA-Farbwerte speichert.
VertexElementType
Aufzählung der Attributkanaltypen, die ein VertexElement repräsentieren kann (z. B., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Aufzählung, die steuert, wie Elementdaten auf Geometrie abgebildet werden: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, oder ALL_SAME.
ReferenceMode
Aufzählung, die steuert, wie Elementindizes auf Daten verweisen: DIRECT (eins-zu-eins) oder INDEX_TO_DIRECT (über ein Index-Array).
TextureMapping
Aufzählung der Texturkanal‑Semantiken: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, und mehr.
Transform und Spatial
Methods
Enthält die lokale Position (translation), Rotation (rotation als Quaternion), und Skalierung (scaling) eines Node. Änderungen hier wirken sich auf den Knoten und alle seine Kinder aus.
GlobalTransform
Nur-Leseansicht der Welt‑Raum‑Transformation eines Knotens, berechnet durch das Aufsummieren aller Vorgänger Transform Werte. Zugriff über node.globalTransform.
BoundingBox
Eine achsenparallel ausgerichtete Bounding-Box, definiert durch ein minimum und maximum Vector3 Ecke. Wird verwendet, um die räumliche Ausdehnung eines Meshes oder einer Szene zu beschreiben.
Methods
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material ist die abstrakte Basisklasse für alle Materialtypen. Drei konkrete Implementierungen stehen zur Verfügung:
- LambertMaterial — nur diffus mit Umgebungs‑, Diffus‑ und Emissionsfarbkanälen. Geeignet für nicht‑spekulare Oberflächen.
- PhongMaterial — erweitert
LambertMaterialmit spekularem Farb‑ und Glanzlichteeigenschaften für Phong‑Shading. - PbrMaterial — physikalisch basiertes Rendering‑Material mit Metall‑, Rauheits‑, Basisfarb‑ und Normal‑Map‑Kanälen. Bildet direkt das glTF 2.0‑PBR‑Materialmodell ab.
Kamera und Beleuchtung
Methods
Ein Sichtpunkt-Knoten-Entität mit Projektionstyp, Sichtfeld, Nah-/Fern-Clipping-Abständen und Seitenverhältnis-Eigenschaften.
Methods
Ein Lichtquellen‑Knoten‑Entität. Der Typ wird gesteuert durch die LightType Aufzählung.
LightType
Aufzählung der unterstützten Lichtarten: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Aufzählung der Kameraprojektionsmodi: PERSPECTIVE und ORTHOGRAPHIC.
Mathe‑Hilfsfunktionen
Methods
Ein dreikomponentiger Gleitkomma-Vektor mit x, y, z Feldern und üblichen arithmetischen Methoden (dot, cross, normalize, minus, times). Exportiert aus @aspose/3d/utilities.
Methods
Ein vierkomponentiger Gleitkomma-Vektor mit x, y, z, w Feldern. Verwendet als Typ von Einträgen in Mesh.controlPoints.
Methods
Ein zweikomponentiger Doppelpräzisions-Vektor mit x und y Feldern. Verwendet für UV-Texturkoordinaten.
FVector3
Ein kompakter dreikomponentiger Gleitkomma‑Vektor einfacher Genauigkeit, der in Vertex‑Element‑Datenarrays für Normalen und Tangenten verwendet wird.
Methods
Eine 4×4-Transformationsmatrix. Unterstützt Verkettung, Inversion, Transposition und Zerlegung in Übersetzungs-, Rotations- und Skalierungskomponenten. Exportiert aus @aspose/3d/utilities.
Methods
Ein unit quaternion zur Darstellung von Rotationen ohne Gimbal-Lock. Bietet slerp() für sanfte Interpolation und Konvertierung zu/von Euler angles und Matrix4. Exportiert aus @aspose/3d/utilities.
Methods
AnimationClip
Eine benannte, zeitlich begrenzte Sammlung von AnimationNode Tracks. Der primäre Container für Keyframe-Animationsdaten, die aus FBX- oder COLLADA-Dateien geladen werden.
AnimationNode
Ein benannter Animations-Track, der einen bestimmten property path auf einem Szenenobjekt anspricht. Enthält ein oder mehrere AnimationChannel Objekte.
AnimationChannel
Ein einzelner animierter property channel innerhalb eines AnimationNode. Enthält ein KeyframeSequence von time/value pairs.
KeyFrame
Ein einzelnes time/value sample in einem KeyframeSequence. Enthält den Zeitstempel (in Sekunden), den Wert und Tangenteninformationen für die Interpolation.
KeyframeSequence
Eine geordnete Liste von KeyFrame Samples für einen Eigenschaftskanal, zusammen mit dem Interpolation und Extrapolation Einstellungen, die die Wiedergabe steuern.
Methods
Aufzählung der Schlüsselbild-Interpolationsmodi. Bekannte Mitglieder umfassen LINEAR und CONSTANT. Zusätzliche Mitglieder wie BEZIER könnten verfügbar sein.
Methods
Definiert das Verhalten außerhalb des Schlüsselbildbereichs (vor dem ersten Schlüssel und nach dem letzten Schlüssel). Gesteuert von ExtrapolationType.
StepMode
Aufzählung, die steuert, wie gestufte (konstante) Interpolation an Grenzen angewendet wird.
WeightedMode
Aufzählung für die Handhabung von Bezier‑Tangenten‑Gewichten: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, oder BOTH.
ExtrapolationType
Aufzählung von Verhaltensweisen außerhalb des Bereichs: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, und OSCILLATE.
Format‑E/A
FileFormat
Basis-Deskriptor für ein 3D-Dateiformat. Jedes unterstützte Format stellt ein konkretes Singleton bereit über getInstance().
Methods
Basisklasse für format-spezifische Import-Implementierungen. Nicht direkt instanziiert; intern aufgerufen von scene.open().
Methods
Basisklasse für format-spezifische Export-Implementierungen. Nicht direkt instanziiert; intern aufgerufen von scene.save().
LoadOptions
Basisklasse für format-spezifische Ladeoption-Objekte. Übergebe eine Instanz einer Unterklasse an scene.open() oder scene.openFromBuffer().
SaveOptions
Basisklasse für format-spezifische Speicheroption-Objekte. Übergebe eine Instanz einer Unterklasse an scene.save().
IOService
Interne Service‑Schnittstelle, die Dateisystem‑ und Puffer‑E/A für Importeure und Exporteure abstrahiert.
OBJ-Format
OBJ unterstützt sowohl Import als auch Export. Beim Speichern als OBJ wird die Materialbibliothek (.mtl) wird automatisch zusammen mit dem .obj Datei.
ObjImporter
Interner Importer, der Wavefront OBJ-Dateien liest, auflöst .mtl Materialbibliotheken und füllt eine Scene. Wird automatisch aufgerufen, wenn ObjLoadOptions an übergeben wird scene.open().
ObjExporter
Interner Exporter, der Wavefront OBJ-Dateien schreibt. Eine begleitende .mtl Materialbibliothek wird automatisch geschrieben. Aufgerufen, wenn scene.save() zielt auf ein .obj Pfad.
ObjLoadOptions
Ladeoptionen für OBJ-Dateien. Wichtige Eigenschaften: enableMaterials (boolesch, Standard true), flipCoordinateSystem (boolesch), normalizeNormal (boolesch, Standardwert true), scale (Zahl). Siehe Optionen zum Laden und Speichern von Formaten für vollständige Details.
ObjSaveOptions
Speicheroptionen für den OBJ-Export. Weitergeben an scene.save() zur Steuerung des OBJ-Ausgabeverhaltens. Siehe Optionen zum Laden und Speichern von Formaten für vollständige Details.
ObjFormat
Formatbeschreiber-Singleton für OBJ. Beide canImport und canExport sind true.
glTF-Format
GltfImporter
Liest glTF 2.0 JSON (.gltf) und binäres GLB (.glb) Dateien. Unterstützt eingebettete und externe Pufferreferenzen, PBR‑Materialien, Skins und Animationsclips.
GltfExporter
Schreibt glTF‑2.0‑Ausgabe. Wenn GltfSaveOptions.binaryMode ist true, erzeugt ein eigenständiges GLB; andernfalls schreibt es ein JSON .gltf mit einem Begleit‑ .bin Puffer.
GltfLoadOptions
Ladeoptionen für glTF/GLB-Dateien. Steuert die Pufferauflösung und das Ladeverhalten von Texturen.
GltfSaveOptions
Speicheroptionen für den glTF/GLB‑Export. Bemerkenswerte Eigenschaften: binaryMode (boolesch, true → GLB, Standard false), flipTexCoordV (boolesch, kippt UV‑Vertikalachse, Standard true). Siehe Optionen zum Laden und Speichern von Formaten für vollständige Details.
GltfFormat
Format-Deskriptor-Singleton. Erhalten über GltfFormat.getInstance() und übergeben an scene.save() als zweites Argument.
STL-Format
StlImporter
Liest sowohl ASCII- als auch Binär-STL-Dateien in ein Scene das ein einzelnes Mesh Entität.
StlExporter
Schreibt binäres STL. Die Ausgabe enthält das triangulierte Mesh aus der Szene; Nicht‑Dreiecks‑Polygone werden automatisch trianguliert.
StlLoadOptions
Ladeoptionen für STL. Steuert, ob der Importer während des Imports Normalen umkehrt.
StlSaveOptions
Speicheroptionen für den STL-Export. Schlüsseleigenschaft: binaryMode (boolean, Standard false). Steuert, ob die Ausgabe ASCII oder Binär-STL ist. Siehe Optionen zum Laden und Speichern von Formaten für vollständige Details.
StlFormat
Formatbeschreiber-Singleton. Erhalten über StlFormat.getInstance().
3MF Format
ThreeMfImporter
Liest Open Packaging Convention 3MF-Archive und füllt ein Scene mit Mesh-Objekten, Farben und Materialeigenschaften.
ThreeMfExporter
Schreibt ein gültiges 3MF-Archiv aus der aktuellen Szene. Geeignet für 3D-Druck-Workflows.
ThreeMfLoadOptions
Ladeoptionen für 3MF-Dateien.
ThreeMfSaveOptions
Speicheroptionen für den 3MF-Export.
ThreeMfFormat
Formatbeschreiber-Singleton. Erhalten über ThreeMfFormat.getInstance().
FBX-Format
FbxImporter
Liest FBX-Binär- und ASCII-Dateien einschließlich Geometrie, Materialien, Skeletten, Blend Shapes und Animationsclips.
FbxExporter
Schreibt FBX-Dateien aus der aktuellen Szene. Sowohl binäre als auch ASCII-FBX-Ausgabe werden je nach Optionen unterstützt.
FbxLoadOptions
Ladeoptionen für FBX. Steuert, ob Animationen, Skins und Blend Shapes importiert werden.
FbxSaveOptions
Speicheroptionen für den FBX-Export. Schlüsseleigenschaft: embedTextures (boolesch, Standardwert false). Siehe Optionen zum Laden und Speichern von Formaten für vollständige Details.
FbxFormat
Formatbeschreiber-Singleton. Erhalten über FbxFormat.getInstance().
COLLADA-Format
COLLADA-Import und -Export erfordern das xmldom peer dependency, die automatisch mit installiert wird @aspose/3d.
ColladaImporter
Liest COLLADA (.dae) XML-Dateien mit xmldom. Verarbeitet Geometrie, Materialien, Kameras, Lichter und Animation.
ColladaExporter
Schreibt COLLADA-XML-Ausgabe aus der aktuellen Szene. Geeignet für den Austausch mit DCC-Tools (Blender, Maya usw.).
ColladaFormat
Format descriptor Singleton. Erhalten über ColladaFormat.getInstance().
Eigenschaften-System
Methods
Ein typisiertes Namens-/Wert-Paar, das an jedes A3DObject. Unterstützt skalare und vektorielle Wertetypen.
PropertyCollection
Ein geordneter Container von Property Objekten. Zugänglich auf jedem A3DObject über den properties Accessor.
CustomObject
Ein freiformiges Property‑Bag, das erweitert A3DObject. Wird verwendet, um beliebige Metadaten zu speichern, die keiner Standardklasse zugeordnet werden können.
Asset-Info
AssetInfo
Enthält szenenbezogene Metadaten, die aus der Quelldatei geladen werden: Autor, Anwendungsname, Erstellungsdatum, Einheitsskala und Koordinatenachsen‑Informationen.
ImageRenderOptions
Optionen, die steuern, wie Texturen und Bilder aufgelöst und kodiert werden, wenn in Formaten gespeichert wird, die Bilddaten einbetten (z. B. GLB mit binaryMode: true).
Siehe auch
- Wissensdatenbank: Anleitungen
- Detaillierte API‑Übersicht
- Scene‑Klasse
- Node‑Klasse
- Mesh‑Klasse
- Transform‑Klasse
- GlobalTransform‑Klasse
- Camera‑Klasse
- Light‑Klasse
- Vector3‑Klasse
- Quaternion‑Klasse
- Matrix4‑Klasse
- BoundingBox‑Klasse
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Optionen zum Laden und Speichern von Formaten
- Vector2‑, Vector4‑Referenz
- Property‑, PropertyCollection‑ und AssetInfo‑Referenz
- A3DObject‑, SceneObject‑ und Entity‑Referenz
- VertexElement‑, VertexElementNormal‑ und VertexElementUV‑Referenz
- Aufzählungsreferenz
- npm: @aspose/3d
- GitHub: aspose-3d-node