Aspose.3D FOSS for TypeScript
API справка за @aspose/3d версия 24.12.0. Инсталирайте чрез:
npm install @aspose/3dСреда за изпълнение: Node.js 18, 20, 22+ · Език: TypeScript 5.0+ / JavaScript (CommonJS) · Лиценз: MIT
Основен граф на сцената
Methods
Главният контейнер за 3D сцена. Извикайте scene.open() или scene.openFromBuffer() за зареждане на файл, и scene.save() за записване на изход. Излага scene.rootNode като входна точка към йерархията на възлите.
Methods
Именуван възел в дървото на сцената. Съдържа Transform, по избор entity (мрежа, камера, светлина или друго SceneObject), и нула или повече дъщерни възли, достъпни чрез childNodes.
Methods
Базов клас за всички обекти, които могат да бъдат прикрепени към Node като основна единица. Наследен от Mesh, Camera, Light, и други.
SceneObject
Абстрактна база за именувани обекти, принадлежащи към сцена. Предоставя name проследяване на свойства и членство в сцената, споделено от възли, единици и обекти на ниво актив.
A3DObject
Основен базов клас за всички Aspose.3D обекти. Предоставя системата за свойства (getProperty, setProperty) и name поле, наследено от всеки публичен клас.
Геометрия и мрежа
Methods
Представлява полигонална мрежа. Съдържа controlPoints масив от Vector4 върхове и дефиниции на полигони, създадени чрез createPolygon(). Извикайте triangulate() за конвертиране на всички полигони в триъгълници преди експортиране.
Methods
Базов клас за всички типове геометрия. Съдържа controlPoints и колекцията от елементи на върховете (нормали, UV, цветове), прикрепени към геометрията.
VertexElement
Базов клас за канали с атрибути за всеки връх, прикрепени към Geometry. Подкласовете съдържат типизирани масиви от данни и mappingMode / referenceMode метаданни.
VertexElementNormal
Един VertexElement подклас, който съхранява повърхностни нормали. Данните се съхраняват вътрешно като FVector4[] (наследено от VertexElementFVector). Необходимо за повечето рендеръри за правилно осветление.
VertexElementUV
Е VertexElement подклас, който съхранява 2D координати на текстура. Едно mesh може да има множество UV набори за различни текстурни слоеве.
VertexElementVertexColor
Е VertexElement подклас, който съхранява стойности за цвят RGBA за всеки връх.
VertexElementType
Изброяване на типовете атрибутни канали, които един VertexElement може да представи (например,., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Изброяване, контролиращо как данните на елементите се съпоставят с геометрията: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, или ALL_SAME.
ReferenceMode
Изброяване, контролиращо как индексите на елементите се отнасят към данните: DIRECT (един-един) или INDEX_TO_DIRECT (чрез масив от индекси).
TextureMapping
Изброяване на семантиката на текстурните канали: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, и още.
Трансформация и Пространство
Methods
Съхранява локалната позиция (translation), ротация (rotation като Quaternion), и мащаб (scaling) на Node. Промените тук засягат възела и всички негови деца.
GlobalTransform
Преглед само за четене на трансформацията в световното пространство на възел, изчислена чрез натрупване на всички предшественици Transform стойности. Достъп чрез node.globalTransform.
BoundingBox
Оста-ориентирана ограничителна кутия, дефинирана от a minimum и maximum Vector3 ъгъл. Използва се за описание на пространственото обхващане на мрежа или сцена.
Methods
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material е абстрактният базов клас за всички типове материали. Налични са три конкретни реализации:
- LambertMaterial — само дифузен с канали за амбиентен, дифузен и емисивен цвят. Подходящ за неотразяващи повърхности.
- PhongMaterial — разширява
LambertMaterialс отражателен цвят и свойства за блясък за Phong shading. - PbrMaterial — материал за физически базирано рендериране с канали за металност, грубост, базов цвят и нормална карта. Съответства директно на модела за материал glTF 2.0 PBR.
Камера и Осветление
Methods
Обект‑възел за гледна точка с тип проекция, ъгъл на зрителното поле, разстояния за близък/далечен клип и свойства за съотношение на страните.
Methods
Обект-връх за светлинен източник. Типът се контролира от the LightType Енумерация.
LightType
Енумерация на поддържаните видове светлина: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Енумерация на режимите на проекция на камерата: PERSPECTIVE и ORTHOGRAPHIC.
Математически помощни функции
Methods
Трехкомпонентен вектор с плаваща запетая, съдържащ x, y, z полета и общи аритметични методи (dot, cross, normalize, minus, times). Експортиран от @aspose/3d/utilities.
Methods
Четирикомпонентен вектор с плаваща запетая, съдържащ x, y, z, w полета. Използва се като тип на елементите в Mesh.controlPoints.
Methods
Двухкомпонентен вектор с двойна точност, който има x и y полета. Използва се за UV текстурни координати.
FVector3
Компактен трехкомпонентен вектор с единична точност, използван в масиви с данни за елементи на върхове за нормали и тангенти.
Methods
4×4 трансформационна матрица. Поддържа конкатенация, инверсия, транспониране и декомпозиция на компоненти за транслация, ротация и мащаб. Експортирана от @aspose/3d/utilities.
Methods
Единичен кватернион за представяне на завъртания без гимбал-лок. Предоставя slerp() за гладка интерполация и конверсия към/от ъгли на Юлер и Matrix4. Експортиран от @aspose/3d/utilities.
Methods
AnimationClip
Именувана, ограничена във времето колекция от AnimationNode писти. Основният контейнер за данни за анимация с ключови кадри, заредени от файлове FBX или COLLADA.
AnimationNode
Именувана анимационна писта, която цели конкретен път на свойство върху обект от сцената. Съдържа една или повече AnimationChannel обекти.
AnimationChannel
Един отделен канал за анимирано свойство в рамките на AnimationNode. Съдържа KeyframeSequence от двойки време/стойност.
KeyFrame
Един отделен пример за време/стойност в a KeyframeSequence. Съдържа времевия маркер (в секунди), стойността и информация за тангентите за интерполация.
KeyframeSequence
Подреден списък от KeyFrame проби за един канал на свойство, заедно с Interpolation и Extrapolation настройки, които управляват възпроизвеждането.
Methods
Изброяване на режимите за интерполация на ключови кадри. Познати членове включват LINEAR и CONSTANT. Допълнителни членове като BEZIER може да бъде наличен.
Methods
Определя поведението извън диапазона на ключовите кадри (преди първия ключ и след последния ключ). Управлява се от ExtrapolationType.
StepMode
Изброяване, контролиращо как се прилага стъпаловидната (константна) интерполация на границите.
WeightedMode
Изброяване за обработка на теглото на Безиеви тангенти: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, или BOTH.
ExtrapolationType
Изброяване на поведения извън диапазона: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, и OSCILLATE.
Вход/изход на формат
FileFormat
Базов дескриптор за 3D файлов формат. Всеки поддържан формат предоставя конкретен сингълтън чрез getInstance().
Methods
Базов клас за имплементации на импортиране, специфични за формата. Не се създава директно; се извиква вътрешно от scene.open().
Methods
Базов клас за специфични за формата реализации на експортиране. Не се създава директно; се извиква вътрешно от scene.save().
LoadOptions
Базов клас за обекти с опции за зареждане, специфични за формата. Предайте инстанция на подклас към scene.open() или scene.openFromBuffer().
SaveOptions
Базов клас за обекти с опции за запазване, специфични за формата. Предайте инстанция на подклас към scene.save().
IOService
Вътрешен интерфейс на услугата, който абстрахира файловата система и вход/изход на буфери за импортери и експортери.
Формат OBJ
OBJ поддържа както импортиране, така и експортиране. При запазване като OBJ, библиотеката с материали (.mtl) се записва автоматично заедно с .obj файла.
ObjImporter
Вътрешен импортер, който чете Wavefront OBJ файлове, решава .mtl material libraries, и попълва a Scene. Извиква се автоматично, когато ObjLoadOptions се предава на scene.open().
ObjExporter
Вътрешен експортер, който записва Wavefront OBJ файлове. Съпътстващ .mtl material library се записва автоматично. Извиква се, когато scene.save() цели an .obj път.
ObjLoadOptions
Зареждане на опции за OBJ файлове. Ключови свойства: enableMaterials (boolean, по подразбиране true), flipCoordinateSystem (boolean), normalizeNormal (boolean, по подразбиране true), scale (number). Виж Опции за зареждане и запазване на формати за пълни подробности.
ObjSaveOptions
Запазете опциите за OBJ експортиране. Предайте на scene.save() за контролиране на поведението на OBJ изхода. Виж Опции за зареждане и запазване на формати за пълни подробности.
ObjFormat
Сингълтън дескриптор на формат за OBJ. И двете canImport и canExport са true.
glTF формат
GltfImporter
Чете glTF 2.0 JSON (.gltf) и бинарни GLB (.glb) файлове. Обработва вградени и външни референции към буфери, PBR материали, скинове и анимационни клипове.
GltfExporter
Записва изход в glTF 2.0. Когато GltfSaveOptions.binaryMode е true, създава самостоятелен GLB; в противен случай записва JSON .gltf със спътник .bin буфер.
GltfLoadOptions
Опции за зареждане на glTF/GLB файлове. Контролират резолюцията на буферите и поведението при зареждане на текстури.
GltfSaveOptions
Опции за запазване при експортиране в glTF/GLB. Забележителни свойства: binaryMode (булев, true → GLB, по подразбиране false), flipTexCoordV (булев, обръща вертикалната ос на UV, по подразбиране true). Вижте Опции за зареждане и запазване на формати за пълни подробности.
GltfFormat
Сингълтън на дескриптора на формата. Получете чрез GltfFormat.getInstance() и предайте на scene.save() като втори аргумент.
STL формат
StlImporter
Чете както ASCII, така и бинарни STL файлове в Scene съдържащ един Mesh entity.
StlExporter
Записва бинарен STL. Изходът съдържа триангулираната мрежа от сцената; полигоните, които не са триъгълници, се триангулират автоматично.
StlLoadOptions
Опции за зареждане на STL. Контролират дали импортерът обръща нормалите по време на импортиране.
StlSaveOptions
Опции за запазване при експортиране на STL. Ключово свойство: binaryMode (булев, по подразбиране false). Опции за зареждане и запазване на формати за пълни подробности.
StlFormat
Сингълтон дескриптор на формат. Получете чрез StlFormat.getInstance().
3MF Format
ThreeMfImporter
Чете архиви по Open Packaging Convention 3MF и попълва Scene с обекти от мрежа, цветове и материални свойства.
ThreeMfExporter
Записва валиден 3MF архив от текущата сцена. Подходящо за работни процеси на 3D печат.
ThreeMfLoadOptions
Опции за зареждане на 3MF файлове.
ThreeMfSaveOptions
Опции за запазване при експортиране на 3MF.
ThreeMfFormat
Сингълтон дескриптор на формат. Получете чрез ThreeMfFormat.getInstance().
FBX формат
FbxImporter
Чете бинарни и ASCII файлове FBX, включително геометрия, материали, скелети, blend shapes и анимационни клипове.
FbxExporter
Записва FBX файлове от текущата сцена. Поддържа се както бинарен, така и ASCII FBX изход, в зависимост от опциите.
FbxLoadOptions
Опции за зареждане на FBX. Управляват дали анимацията, кожите и blend shapes се импортират.
FbxSaveOptions
Опции за запазване при експортиране на FBX. Ключово свойство: embedTextures (булев, по подразбиране false). Вижте Опции за зареждане и запазване на формати за пълни подробности.
FbxFormat
Форматен дескриптор – единичен обект. Получете чрез FbxFormat.getInstance().
COLLADA формат
Импортът и експортирането на COLLADA изискват xmldom съответната зависимост, която се инсталира автоматично с @aspose/3d.
ColladaImporter
Чете COLLADA (.dae) XML файлове, използвайки xmldom. Обработва геометрия, материали, камери, светлини и анимация.
ColladaExporter
Записва COLLADA XML изход от текущата сцена. Подходящо за обмен с DCC инструменти (Blender, Maya и др.).
ColladaFormat
Сингълтън на дескриптор за формат. Получава се чрез ColladaFormat.getInstance().
Система за свойства
Methods
Типизирана двойка име/стойност, която може да бъде прикрепена към всяка A3DObject. Поддържа скаларни и векторни типове стойности.
PropertyCollection
Подреден контейнер от Property обекти. Достъпен на всяко A3DObject чрез properties аксесор.
CustomObject
Свободно форматирана торба за свойства, която разширява A3DObject. Използва се за съхранение на произволни метаданни, които не съответстват на стандартен клас.
Информация за ресурс
AssetInfo
Съдържа метаданни на ниво сцена, заредени от изходния файл: автор, име на приложението, дата на създаване, мащаб на единицата и информация за координатните оси.
ImageRenderOptions
Опции, контролиращи как текстурите и изображенията се разрешават и кодират при запазване във формати, които вграждат данни за изображения (например GLB с binaryMode: true).
Вижте също
- База от знания: Ръководства как да
- Подробен преглед на API
- Клас Scene
- Клас Node
- Клас Mesh
- Клас Transform
- Клас GlobalTransform
- Клас Camera
- Light клас
- Vector3 клас
- Quaternion клас
- Matrix4 клас
- BoundingBox клас
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Опции за зареждане и запазване на формати
- Vector2, Vector4 справка
- Property, PropertyCollection, AssetInfo справка
- A3DObject, SceneObject, Entity справка
- VertexElement, VertexElementNormal, VertexElementUV справка
- Справка за изброявания
- npm: @aspose/3d
- GitHub: aspose-3d-node