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).
Див. також
- База знань: посібники «Як зробити»
- Детальний огляд 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