Aspose.3D FOSS for TypeScript
API referenca za @aspose/3d verzija 24.12.0. Instalirajte putem:
npm install @aspose/3dOkruženje: Node.js 18, 20, 22+ · Jezik: TypeScript 5.0+ / JavaScript (CommonJS) · Licenca: MIT
Osnovni graf scene
Koreni kontejner za 3D scenu. Pozovite scene.open() ili scene.openFromBuffer() za učitavanje fajla, i scene.save() za pisanje izlaza. Izlaže scene.rootNode kao ulaznu tačku u hijerarhiju čvorova.
Imenovani čvor u stablu scene. Sadrži Transform, opcioni entity (mesh, kamera, svetlo, ili drugi SceneObject), i nula ili više podčvorova dostupnih putem childNodes.
Osnovna klasa za sve objekte koji se mogu prikačiti na Node kao njegov primarni entitet. Podklasirano od Mesh, Camera, Light, i drugi.
SceneObject
Apstraktna baza za imenovane objekte koji pripadaju sceni. Pruža the name praćenje svojstava i članstva u sceni koje dele čvorovi, entiteti i objekti na nivou sredstava.
A3DObject
Osnovna korenska klasa za sve Aspose.3D objekte. Obezbeđuje sistem svojstava (getProperty, setProperty) i name polje koje nasleđuje svaki javni razred.
Geometrija i mreža
Predstavlja poligonalnu mrežu. Sadrži controlPoints niz Vector4 vrhova i definicije poligona kreirane putem createPolygon(). Pozovite triangulate() da se svi poligoni pretvore u trouglove pre izvoza.
Osnovna klasa za sve tipove geometrije. Sadrži controlPoints i kolekciju elemenata vrha (normale, UV‑koordinate, boje) koji su prikačeni uz geometriju.
VertexElement
Osnovna klasa za kanale atributa po vrhu koji su prikačeni na Geometry. Podklase nose tipizirane nizove podataka i mappingMode / referenceMode metapodatke.
VertexElementNormal
Jedan VertexElement podklasa koja čuva površinske normale. Podaci se interno čuvaju kao FVector4[] (nasleđeno od VertexElementFVector). Potrebno većini renderera za pravilno osvetljenje.
VertexElementUV
Jedan VertexElement podklasa koja čuva 2D teksturne koordinate. Jedan mesh može imati više UV setova za različite teksturne slojeve.
VertexElementVertexColor
Jedan VertexElement podklasa koja čuva RGBA vrednosti boje po vrhu.
VertexElementType
Enumeracija tipova kanala atributa koje VertexElement može predstavljati (npr., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Enumeracija koja kontroliše kako se podaci elementa mapiraju na geometriju: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, ili ALL_SAME.
ReferenceMode
Enumeracija koja kontroliše kako indeksi elemenata referišu na podatke: DIRECT (jedan-na-jedan) ili INDEX_TO_DIRECT (preko niza indeksa).
TextureMapping
Enumeracija semantike kanala teksture: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, i još.
Transform i Spatial
Sadrži lokalnu poziciju (translation), rotacija (rotation kao Quaternion), i skaliranje (scaling) od Node. Promene ovde utiču na čvor i svu njegovu decu.
GlobalTransform
Samo za čitanje prikaz transformacije čvora u svetskom prostoru, izračunatog akumulacijom svih pretka Transform vrednosti. Pristup putem node.globalTransform.
BoundingBox
Osovinski poravnat okvir definisan od minimum i maximum Vector3 ugao. Koristi se za opisivanje prostornog obuhvata mreže ili scene.
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material je apstraktna bazna klasa za sve tipove materijala. Dostupna su tri konkretna implementacije:
- LambertMaterial — samo difuzno sa ambientnim, difuznim i emisijskim kanalima boja. Pogodno za ne‑specularne površine.
- PhongMaterial — proširuje
LambertMaterialsa specular bojom i svojstvima sjajnosti za Phong shading. - PbrMaterial — materijal zasnovan na fizički‑baziranom renderovanju sa metalnim, hrapavim, osnovnom‑bojom i kanalima normal‑mapa. Direktno se mapira na glTF 2.0 PBR model materijala.
Kamera i osvetljenje
Entitet čvora pogleda sa tipom projekcije, uglom vidljivosti, udaljenostima bliskog/udaljenog isečka i svojstvima odnosa širine i visine.
Entitet čvora izvora svetla. Tip se kontroliše pomoću. LightType enumeracija.
LightType
Enumeracija podržanih vrsta svetla: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Enumeracija režima projekcije kamere: PERSPECTIVE i ORTHOGRAPHIC.
Matematički alati
Vektor sa tri komponente u pokretnom zarezu sa x, y, z polja i uobičajene aritmetičke metode (dot, cross, normalize, minus, times). Izvezeno iz @aspose/3d/utilities.
Vektor sa četiri komponente u pokretnom zarezu sa x, y, z, w polja. Koristi se kao tip unosa u Mesh.controlPoints.
Dvokomponentni vektor dvostruke preciznosti sa x i y polja. Koristi se za UV teksturne koordinate.
FVector3
Kompaktan vektor sa tri komponenta u jednoj preciznosti koji se koristi u nizovima podataka elementa vrha za normale i tangente.
4×4 matrica transformacije. Podržava konkatenaciju, inverziju, transpoziciju i dekompoziciju na komponente translacije, rotacije i skaliranja. Izvezeno iz @aspose/3d/utilities.
Jedinični kvaternion za predstavljanje rotacija bez gimbal lock‑a. Pruža slerp() za glatku interpolaciju i konverziju ka/od Eulerovih uglova i Matrix4. Izvezeno iz @aspose/3d/utilities.
AnimationClip
Imenovana, vremenski ograničena kolekcija AnimationNode traka. Primarni kontejner za podatke o ključnim okvirima animacije učitane iz FBX ili COLLADA fajlova.
AnimationNode
Imenovana animaciona traka koja cilja određenu putanju svojstva na objektu scene. Sadrži jedan ili više AnimationChannel objekata.
AnimationChannel
Jedan animirani kanal svojstva unutar AnimationNode. Sadrži KeyframeSequence parova vreme/vrednost.
KeyFrame
Jedan uzorak vreme/vrednost u KeyframeSequence. Sadrži vremensku oznaku (u sekundama), vrednost i informacije o tangenti za interpolaciju.
KeyframeSequence
Uređena lista od KeyFrame uzoraka za jedan kanal svojstva, zajedno sa Interpolation i Extrapolation podešavanjima koja upravljaju reprodukcijom.
Enumeracija režima interpolacije ključnih frejmova. Poznati članovi uključuju LINEAR i CONSTANT. Dodatni članovi kao što su BEZIER može biti dostupno.
Definiše ponašanje izvan opsega ključnih okvira (pre prvog ključa i posle poslednjeg ključa). Kontroliše ga ExtrapolationType.
StepMode
Enumeracija koja kontroliše kako se stepenasto (konstantno) interpoliranje primenjuje na granicama.
WeightedMode
Enumeracija za rukovanje težinom Bezier tangente: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, ili BOTH.
ExtrapolationType
Enumeracija ponašanja izvan opsega: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, i OSCILLATE.
U/I formata
FileFormat
Osnovni opisivač za 3D format fajla. Svaki podržani format pruža konkretni singleton putem getInstance().
Osnovna klasa za implementacije uvoza specifične za format. Ne instancira se direktno; interno je poziva scene.open().
Osnovna klasa za implementacije izvoza specifične za format. Ne instancira se direktno; poziva se interno od strane scene.save().
LoadOptions
Osnovna klasa za objekte opcija učitavanja specifične za format. Prosledite instancu podklase scene.open() ili scene.openFromBuffer().
SaveOptions
Osnovna klasa za objekte opcija čuvanja specifične za format. Prosledite instancu podklase scene.save().
IOService
Interni servisni interfejs koji apstrahuje I/O fajl‑sistema i bafera za uvoznike i izvoznike.
OBJ format
OBJ podržava i uvoz i izvoz. Prilikom čuvanja kao OBJ, biblioteka materijala (.mtl) se automatski zapisuje uz .obj datoteku.
ObjImporter
Interni uvoznik koji čita Wavefront OBJ datoteke, rešava .mtl material libraries, и попуњава a Scene. Позива се аутоматски када ObjLoadOptions се прослеђује scene.open().
ObjExporter
Интерни извозник који пише Wavefront OBJ датотеке. Пратећи .mtl material library се аутоматски пише. Позива се када scene.save() циља на .obj путању.
ObjLoadOptions
Учитајте опције за OBJ датотеке. Кључна својства: enableMaterials (boolean, podrazumevano true), flipCoordinateSystem (boolean), normalizeNormal (boolean, podrazumevano true), scale (number). Vidi Opcije učitavanja i čuvanja formata za potpune detalje.
ObjSaveOptions
Sačuvajte opcije za OBJ izvoz. Prosledite scene.save() za kontrolu ponašanja OBJ izlaza. Vidi Opcije učitavanja i čuvanja formata za potpune detalje.
ObjFormat
Jedinstveni opisnik formata za OBJ. Oba canImport i canExport su true.
glTF format
GltfImporter
Čita glTF 2.0 JSON (.gltf) i binarni GLB (.glb) datoteke. Rukuje ugrađenim i spoljnim referencama bafera, PBR materijalima, kožama i animacionim klipovima.
GltfExporter
Piše glTF 2.0 izlaz. Kada GltfSaveOptions.binaryMode je true, proizvodi samostalni GLB; u suprotnom piše JSON .gltf sa pratećim .bin bafer.
GltfLoadOptions
Opcije učitavanja za glTF/GLB fajlove. Kontrolišu razrešavanje bafera i ponašanje učitavanja tekstura.
GltfSaveOptions
Opcije čuvanja za izvoz glTF/GLB. Značajna svojstva: binaryMode (boolean, true → GLB, podrazumevano false), flipTexCoordV (boolean, okreće UV vertikalnu osu, podrazumevano true). Vidi Opcije učitavanja i čuvanja formata za potpune detalje.
GltfFormat
Format descriptor singleton. Dobijte putem GltfFormat.getInstance() i prosledite scene.save() kao drugi argument.
STL format
StlImporter
Čita i ASCII i binarne STL fajlove u Scene koji sadrži jedan Mesh entitet.
StlExporter
Piše binarni STL. Izlaz sadrži trianguliranu mrežu iz scene; poligoni koji nisu trouglovi se automatski trianguliraju.
StlLoadOptions
Opcije učitavanja za STL. Kontrolišu da li uvoznik preokreće normale prilikom uvoza.
StlSaveOptions
Opcije čuvanja za STL izvoz. Ključna svojstva: binaryMode (boolean, podrazumevano false). Kontroliše da li je izlaz ASCII ili binarni STL. Pogledajte Opcije učitavanja i čuvanja formata za potpune detalje.
StlFormat
Jedinstveni opisnik formata singleton. Dobijte putem StlFormat.getInstance().
3MF Format
ThreeMfImporter
Čita Open Packaging Convention 3MF arhive i popunjava Scene sa mesh objektima, bojama i svojstvima materijala.
ThreeMfExporter
Zapisuje validnu 3MF arhivu iz trenutne scene. Pogodno za radne tokove 3D štampe.
ThreeMfLoadOptions
Opcije učitavanja za 3MF fajlove.
ThreeMfSaveOptions
Opcije čuvanja za 3MF izvoz.
ThreeMfFormat
Jedinstveni opisnik formata singleton. Dobijte putem ThreeMfFormat.getInstance().
FBX format
FbxImporter
Čita binarne i ASCII FBX fajlove, uključujući geometriju, materijale, skelete, blend shape‑ove i animacione klipove.
FbxExporter
Zapisuje FBX fajlove iz trenutne scene. Podržan je i binarni i ASCII FBX izlaz, u zavisnosti od opcija.
FbxLoadOptions
Opcije učitavanja za FBX. Kontroliše da li se animacija, skinovi i blend shape‑ovi uvoze.
FbxSaveOptions
Opcije čuvanja za FBX izvoz. Ključna svojstva: embedTextures (boolean, podrazumevano false). Pogledajte Opcije učitavanja i čuvanja formata za potpune detalje.
FbxFormat
Jedinstveni opisnik formata. Dobijte putem FbxFormat.getInstance().
COLLADA format
COLLADA uvoz i izvoz zahtevaju xmldom zavisnost vršnjaka, koja se automatski instalira uz @aspose/3d.
ColladaImporter
Čita COLLADA (.dae) XML fajlove koristeći xmldom. Rukuje geometrijom, materijalima, kamerama, svetlima i animacijom.
ColladaExporter
Generiše COLLADA XML izlaz iz trenutne scene. Pogodno za razmenu sa DCC alatima (Blender, Maya, itd.).
ColladaFormat
Jedinstveni opisnik formata. Dobijte putem ColladaFormat.getInstance().
Sistem svojstava
Tipizovani par ime/vrednost koji se može prikačiti na bilo koji A3DObject. Podržava skalarne i vektorske tipove vrednosti.
PropertyCollection
Uređeni kontejner od Property objekata. Dostupan na bilo kom A3DObject preko properties pristupnika.
CustomObject
Slobodni skup svojstava koji proširuje A3DObject. Koristi se za čuvanje proizvoljnih metapodataka koji se ne mapiraju na standardnu klasu.
Informacije o sredstvima
AssetInfo
Prenosi metapodatke na nivou scene učitane iz izvornog fajla: autor, naziv aplikacije, datum kreiranja, skala jedinice i informacije o koordinatnim osama.
ImageRenderOptions
Opcije koje kontrolišu kako se teksture i slike razrešavaju i kodiraju prilikom čuvanja u formate koji ugrađuju podatke o slici (npr., GLB with binaryMode: true).
Vidi i
- Baza znanja: Vodiči kako da
- Detaljan pregled API-ja
- Klasa Scene
- Klasa Node
- Klasa Mesh
- Klasa Transform
- Klasa GlobalTransform
- Camera klasa
- Light klasa
- Vector3 klasa
- Quaternion klasa
- Matrix4 klasa
- BoundingBox klasa
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Opcije učitavanja i čuvanja formata
- Reference za Vector2, Vector4
- Reference za Property, PropertyCollection, AssetInfo
- Reference za A3DObject, SceneObject, Entity
- Reference za VertexElement, VertexElementNormal, VertexElementUV
- Reference za enumeracije
- npm: @aspose/3d
- GitHub: aspose-3d-node