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


Основний граф сцени

Enumerations

Кореневий контейнер для 3D-сцени. Викликати scene.open() або scene.openFromBuffer() завантажити файл, і scene.save() записати вихід. Надає scene.rootNode як точка входу в ієрархію вузлів.

Enumerations

Іменований вузол у дереві сцени. Містить Transform, необов’язковий entity (меш, камера, світло або інший SceneObject), і нуль або більше дочірніх вузлів, доступних через childNodes.

Enumerations

Базовий клас для всіх об’єктів, які можуть бути приєднані до Node як його основна сутність. Підкласується Mesh, Camera, Light, та інші.

SceneObject

Абстрактна база для іменованих об’єктів, що належать до сцени. Забезпечує the name відстеження властивостей та членства у сцені, спільне для вузлів, сутностей та об’єктів рівня активів.

A3DObject

Базовий кореневий клас для всіх Aspose.3D об’єктів. Забезпечує систему властивостей (getProperty, setProperty) і name поле, успадковане кожним публічним класом.


Геометрія та меш

Enumerations

Представляє полігональну сітку. Містить controlPoints масив Vector4 вершин та визначень полігонів, створених за допомогою createPolygon(). Виклик triangulate() для перетворення всіх полігонів у трикутники перед експортом.

Enumerations

Базовий клас для всіх типів геометрії. Містить controlPoints і колекцію елементів вершини (нормалі, UV, кольори), прикріплених до геометрії.

VertexElement

Базовий клас для каналів атрибутів на рівні вершини, прикріплених до Geometry. Підкласи містять типізовані масиви даних та mappingMode / referenceMode метадані.

VertexElementNormal

A VertexElement підклас, який зберігає нормалі поверхні. Дані зберігаються внутрішньо як FVector4[] (успадковано від VertexElementFVector). Потрібно більшості рендерерів для правильного освітлення.

VertexElementUV

A VertexElement підклас, який зберігає 2D координати текстур. Одинична сітка може мати кілька наборів UV для різних шарів текстур.

VertexElementVertexColor

A 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, і інше.


Transform і Spatial

Enumerations

Містить локальну позицію (translation), обертання (rotation як Quaternion), і масштаб (scaling) об’єкта Node. Зміни тут впливають на вузол і всі його дочірні елементи.

GlobalTransform

Тільки для читання представлення трансформації у світовому просторі вузла, обчислене шляхом накопичення всіх предків Transform значень. Доступ через node.globalTransform.

BoundingBox

Вісь-орієнтована обмежувальна коробка, визначена за minimum і maximum Vector3 кут. Використовується для опису просторового розміру сітки або сцени.


Enumerations

Material, LambertMaterial, PhongMaterial, PbrMaterial

Material — це абстрактний базовий клас для всіх типів матеріалів. Доступні три конкретні реалізації:

  • LambertMaterial — лише дифузний з каналами кольору навколишнього, дифузного та емісивного. Підходить для поверхонь без відблисків.
  • PhongMaterial — розширює LambertMaterial з кольором відблиску та властивостями блиску для затінення Фонга.
  • PbrMaterial — матеріал фізично‑основаного рендерингу з каналами металевості, шорсткості, базового кольору та нормальної карти. Безпосередньо відповідає матеріальній моделі glTF 2.0 PBR.

Camera і Lighting

Enumerations

Об’єкт вузла точки зору з типом проекції, полем зору, відстанями ближньої/дальньої відсічі та властивостями співвідношення сторін.

Enumerations

Сутність вузла джерела світла. Тип контролюється. LightType перерахування.

LightType

Перерахування підтримуваних типів світла: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.

ProjectionType

Перерахування режимів проекції камери: PERSPECTIVE і ORTHOGRAPHIC.


Математичні утиліти

Enumerations

Тривимірний вектор з плаваючою точкою, що x, y, z поля та загальні арифметичні методи (dot, cross, normalize, minus, times). Експортовано з @aspose/3d/utilities.

Enumerations

Чотиривимірний вектор з плаваючою точкою, що x, y, z, w поля. Використовується як тип записів у Mesh.controlPoints.

Enumerations

Двохкомпонентний вектор подвійної точності з x і y поля. Використовується для UV-координат текстур.

FVector3

Компактний тривимірний вектор одинарної точності, що використовується у масивах даних елементів вершин для нормалей та дотичних.

Enumerations

4×4 матриця перетворення. Підтримує конкатенацію, інверсію, транспонування та декомпозицію на компоненти переміщення, обертання та масштабу. Експортовано з @aspose/3d/utilities.

Enumerations

Унітарний кватерніон для представлення обертів без гімбальної блокади. Надає slerp() для плавної інтерполяції та перетворення до/з кутів Ейлера та Matrix4. Експортовано з @aspose/3d/utilities.


Enumerations

AnimationClip

Названа, обмежена в часі колекція AnimationNode треки. Основний контейнер для даних анімації ключових кадрів, завантажених з файлів FBX або COLLADA.

AnimationNode

Названа анімаційна доріжка, яка орієнтується на конкретний шлях властивості об’єкта сцени. Містить один або кілька AnimationChannel об’єктів.

AnimationChannel

Один окремий канал анімованої властивості в межах AnimationNode. Містить KeyframeSequence пар час/значення.

KeyFrame

Один окремий зразок часу/значення в KeyframeSequence. Містить мітку часу (у секундах), значення та інформацію про тангенти для інтерполяції.

KeyframeSequence

Впорядкований список KeyFrame зразків для одного каналу властивості, разом із Interpolation і Extrapolation налаштуваннями, які керують відтворенням.

Enumerations

Перерахування режимів інтерполяції ключових кадрів. Відомі елементи включають LINEAR і CONSTANT. Додаткові елементи, такі як BEZIER може бути доступним.

Enumerations

Визначає поведінку поза діапазоном ключових кадрів (до першого ключа та після останнього ключа). Керується ExtrapolationType.

StepMode

Перерахування, що контролює, як крокова (константна) інтерполяція застосовується на межах.

WeightedMode

Перерахування для обробки ваги дотичних Безьє: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, або BOTH.

ExtrapolationType

Перерахування поведінок поза діапазоном: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, і OSCILLATE.


Ввід/вивід формату

FileFormat

Базовий дескриптор формату 3D‑файлу. Кожен підтримуваний формат надає конкретний сінглтон через getInstance().

Enumerations

Базовий клас для специфічних для формату реалізацій імпорту. Не створюється безпосередньо; викликається внутрішньо за допомогою scene.open().

Enumerations

Базовий клас для реалізацій експорту, специфічних для формату. Не створюється безпосередньо; викликається внутрішньо scene.save().

LoadOptions

Базовий клас для об’єктів параметрів завантаження, специфічних для формату. Передайте екземпляр підкласу до scene.open() або scene.openFromBuffer().

SaveOptions

Базовий клас для об’єктів параметрів збереження, специфічних для формату. Передайте екземпляр підкласу до scene.save().

IOService

Внутрішній інтерфейс сервісу, що абстрагує ввід/вивід файлової системи та буфера для імпортерів і експортерів.


Формат OBJ

OBJ підтримує як імпорт, так і експорт. При збереженні у форматі OBJ бібліотека матеріалів (.mtl) записується автоматично разом з .obj файлом.

ObjImporter

Внутрішній імпортер, який читає файли Wavefront OBJ, розв’язує .mtl бібліотеки матеріалів і заповнює a Scene. Викликається автоматично, коли ObjLoadOptions передається до scene.open().

ObjExporter

Внутрішній експортер, який записує файли Wavefront OBJ. Супутній .mtl бібліотека матеріалів записується автоматично. Викликається, коли scene.save() націлюється на .obj шлях.

ObjLoadOptions

Параметри завантаження для файлів OBJ. Ключові властивості: enableMaterials (логічний, за замовчуванням true), flipCoordinateSystem (логічний), normalizeNormal (логічний, за замовчуванням true), scale (число). Див. Параметри завантаження та збереження формату для повних деталей.

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 об’єкт.

StlExporter

Записує бінарний STL. Вихід містить триангулировану сітку зі сцени; полігони, що не є трикутниками, автоматично триангулируються.

StlLoadOptions

Параметри завантаження для STL. Керує тим, чи інпортер перевертає нормалі під час імпорту.

StlSaveOptions

Параметри збереження для експорту STL. Ключова властивість: binaryMode (логічний, за замовчуванням false). Керує тим, чи є вихідний файл у форматі ASCII чи бінарному STL. Дивіться Параметри завантаження та збереження формату для повних деталей.

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

Записує вихідний XML у форматі COLLADA з поточної сцени. Підходить для обміну з DCC‑інструментами (Blender, Maya тощо).

ColladaFormat

Одинак дескриптора формату. Отримати через ColladaFormat.getInstance().


Система властивостей

Enumerations

Типізована пара ім’я/значення, яку можна прикріпити до будь‑якого A3DObject. Підтримує скалярні та векторні типи значень.

PropertyCollection

Впорядкований контейнер Property об’єктів. Доступний на будь‑якому A3DObject через properties аксесор.

CustomObject

Вільно-форматний пакет властивостей, який розширює A3DObject. Використовується для зберігання довільних метаданих, які не відповідають жодному стандартному класу.


Інформація про ресурс

AssetInfo

Містить метадані рівня сцени, завантажені з вихідного файлу: автор, назва програми, дата створення, масштаб одиниці та інформація про координатні осі.

ImageRenderOptions

Параметри, що керують тим, як текстури та зображення розв’язуються та кодуються під час збереження у формати, які вбудовують дані зображень (наприклад, GLB з binaryMode: true).


Див. також

 Українська