Пакет: @aspose/3d (v24.12.0) Мова: TypeScript / Node.js 18+ Ліцензія: MIT
@aspose/3d є бібліотекою з ліцензією MIT для читання, створення та експорту 3D‑сцен у Node.js. Вона постачається з повними визначеннями типів TypeScript, єдиною залежністю під час виконання (xmldom).
Enumerations
Enumerations tsconfig.json налаштування для правильного розв’язання підшляхів:
Основні класи
Enumerations
Кореневий контейнер 3D‑сцени. Увесь вміст; вузли, геометрія, матеріали та анімації; зберігаються у дереві, коренем якого є scene.rootNode.Використовуйте open() / openFromBuffer() для завантаження файлу та save() / saveToBuffer() для експорту.
| Enumerations | Enumerations | Enumerations |
|---|
rootNode | Node | Корінь графа сцени |
assetInfo | AssetInfo | Метадані файлу (створювач, одиниці вимірювання, система координат) |
animationClips | AnimationClip[] | Усі кліпи анімації в сцені |
open(path, opts?) | (string, LoadOptions?) → void | Завантажити файл з диска |
openFromBuffer(buf, opts?) | (Buffer, LoadOptions?) → void | Завантажити з буфера у пам’яті |
save(path, opts?) | (string, SaveOptions?) → void | Зберегти на диск (формат визначається за розширенням) |
saveToBuffer(ext, opts?) | (string, SaveOptions?) → Buffer | Зберегти у буфер у пам’яті |
createAnimationClip(name) | (string) → AnimationClip | Створити та зареєструвати новий анімаційний кліп |
Enumerations
Іменований вузол дерева у графі сцени. Вузли несуть необов’язковий Entity (mesh, camera, light) і Transform яка позиціонує вузол відносно його батька.
| Enumerations | Enumerations | Enumerations |
|---|
name | string | Назва вузла |
childNodes | Node[] | Прямі дочірні вузли |
entity | `Entity | null` |
transform | Transform | Локальне переміщення, обертання, масштаб |
materials | Material[] | Матеріали, призначені цьому вузлу |
createChildNode(name) | (string) → Node | Додати дочірній вузол |
getChildNode(name) | `(string) → Node | null` |
Enumerations
Полігональна сітка; основний тип геометрії. Розширює Geometry.
| Enumerations | Enumerations | Enumerations |
|---|
controlPoints | Vector4[] | Позиції вершин (w=1 для позицій) |
polygonCount | number | Кількість полігонів |
createPolygon(indices) | (number[]) → void | Додати полігон (трикутник або чотирикутник) |
getElement(type) | `(VertexElementType) → VertexElement | null` |
createElement(type) | (VertexElementType) → VertexElement | Створити елемент вершини |
Enumerations
Локальне перетворення, застосоване до вузла.
| Enumerations | Enumerations | Enumerations |
|---|
translation | Vector3 | Локальна позиція |
eulerAngles | Vector3 | Ейлерова обертання в градусах (порядок XYZ) |
rotation | Quaternion | Обертання у вигляді кватерніону |
scaling | Vector3 | Локальний масштаб |
Класи матеріалів
| Enumerations | Enumerations | Ключові властивості |
|---|
LambertMaterial | Розсіяне + навколишнє затінення | diffuseColor, ambientColor, transparency |
PhongMaterial | Додає відблиск + емісивність до Lambert | specularColor, shininess, emissiveColor |
PbrMaterial | Фізично обґрунтовано для glTF 2.0 | albedo, metallicFactor, roughnessFactor, emissiveColor |
Класи математики
| Enumerations | Enumerations |
|---|
Vector3 | 3-component double-precision vector (x, y, z) |
Vector4 | 4-component vector for homogeneous math (x, y, z, w) |
FVector3 | Варіант одинарної точності, що використовується у даних вершин |
Matrix4 | 4×4 transformation matrix; multiply, invert, decompose |
Quaternion | Кватерніон обертання; fromEulerAngle, toEulerAngles, slerp |
BoundingBox | Осьово-узгоджений обмежувальний короб; minimum, maximum, center, size, merge |
Класи анімації
| Enumerations | Enumerations |
|---|
AnimationClip | Названий кліп; містить AnimationNode список; доступний через scene.animationClips |
AnimationNode | Прив’язує кліп до іменованого вузла сцени; містить AnimationChannel список |
AnimationChannel | Зосереджується на одній властивості (наприклад, переміщення X); містить KeyframeSequence |
KeyframeSequence | Впорядкований список KeyFrame об’єкти з interpolation і extrapolation |
KeyFrame | Одинарна пара час/значення |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|
VertexElementType | NORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENT | Семантика елементу вершини |
MappingMode | CONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAME | Як дані відображаються на геометрію |
ReferenceMode | DIRECT, INDEX, INDEX_TO_DIRECT | Стратегія індексування даних елементу вершини |
Interpolation | CONSTANT, LINEAR, BEZIER | Інтерполяція ключових кадрів |
Extrapolation | CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE | Поведінка поза діапазоном ключових кадрів |
Модулі форматів
Класи параметрів, специфічних для формату, експортуються з підмодулів. Імпортуйте їх окремо:
Модуль OBJ (@aspose/3d/formats/obj)
| Enumerations | Ключові параметри |
|---|
ObjLoadOptions | enableMaterials, flipCoordinateSystem, scale, normalizeNormal |
Модуль glTF/GLB (@aspose/3d/formats/gltf)
| Enumerations | Ключові параметри |
|---|
GltfSaveOptions | binaryMode (true → .glb), flipTexCoordV |
GltfFormat | GltfFormat.getInstance(): екземпляр формату для scene.save() |
Модуль STL (@aspose/3d/formats/stl)
| Enumerations | Ключові параметри |
|---|
StlLoadOptions | N/A |
StlSaveOptions | binaryMode (false → ASCII, true → binary) |
FBX модуль (@aspose/3d/formats/fbx)
| Enumerations | Ключові параметри |
|---|
FbxLoadOptions | N/A |
FbxSaveOptions | embedTextures |
Підтримувані формати
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|
| Enumerations | .obj | Enumerations | Enumerations |
| glTF 2.0 | .gltf | Enumerations | Enumerations |
| Enumerations | .glb | Enumerations | Enumerations |
| STL | .stl | Enumerations | Enumerations |
| FBX | .fbx | Ні* | Ні* |
| COLLADA | .dae | Enumerations | Enumerations |
| 3MF | .3mf | Enumerations | Enumerations |
Приклад швидкої довідки
Див. також