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).


Вижте също

 Български