Aspose.3D FOSS for TypeScript
Tham chiếu API cho @aspose/3d phiên bản 24.12.0. Cài đặt qua:
npm install @aspose/3dMôi trường chạy: Node.js 18, 20, 22+ · Ngôn ngữ: TypeScript 5.0+ / JavaScript (CommonJS) · Giấy phép: MIT
Đồ thị Cảnh Cốt lõi
Enumerations
Bộ chứa gốc cho một cảnh 3D. Gọi scene.open() hoặc scene.openFromBuffer() để tải tệp, và scene.save() để ghi đầu ra. Tiết lộ scene.rootNode là điểm vào cho cây phân cấp nút.
Enumerations
Một nút có tên trong cây cảnh. Chứa một Transform, một tùy chọn entity (lưới, camera, đèn, hoặc các SceneObject), và không hoặc nhiều nút con có thể truy cập qua childNodes.
Enumerations
Lớp cơ sở cho tất cả các đối tượng có thể được gắn vào một Node như thực thể chính của nó. Được kế thừa bởi Mesh, Camera, Light, và các khác.
SceneObject
Lớp cơ sở trừu tượng cho các đối tượng có tên thuộc về một cảnh. Cung cấp the name theo dõi thuộc tính và thành viên cảnh được chia sẻ bởi các node, entity và các đối tượng cấp asset.
A3DObject
Lớp cơ sở gốc cho tất cả các đối tượng Aspose.3D. Cung cấp hệ thống thuộc tính (getProperty, setProperty) và name trường được kế thừa bởi mọi lớp công khai.
Hình học và Lưới
Enumerations
Biểu diễn một lưới đa giác. Chứa một controlPoints mảng của Vector4 các đỉnh và định nghĩa đa giác được tạo ra thông qua createPolygon(). Gọi triangulate() để chuyển đổi tất cả các đa giác thành tam giác trước khi xuất.
Enumerations
Lớp cơ sở cho tất cả các loại hình học. Nắm giữ controlPoints và bộ sưu tập các phần tử đỉnh (normals, UVs, colors) gắn vào hình học.
VertexElement
Lớp cơ sở cho các kênh thuộc tính theo đỉnh gắn vào một Geometry. Các lớp con mang các mảng dữ liệu có kiểu và mappingMode / referenceMode siêu dữ liệu.
VertexElementNormal
Một VertexElement lớp con lưu trữ các vector pháp tuyến bề mặt. Dữ liệu được lưu nội bộ dưới dạng FVector4[] (kế thừa từ VertexElementFVector). Được hầu hết các bộ render yêu cầu để ánh sáng chính xác.
VertexElementUV
Một VertexElement lớp con lưu trữ tọa độ texture 2D. Một lưới duy nhất có thể có nhiều bộ UV cho các lớp texture khác nhau.
VertexElementVertexColor
A VertexElement lớp con lưu trữ các giá trị màu RGBA cho mỗi đỉnh.
VertexElementType
Liệt kê các loại kênh thuộc tính mà một VertexElement có thể đại diện (ví dụ,., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
Liệt kê kiểm soát cách dữ liệu phần tử được ánh xạ lên hình học: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, hoặc ALL_SAME.
ReferenceMode
Liệt kê kiểm soát cách chỉ mục phần tử tham chiếu dữ liệu: DIRECT (một-một) hoặc INDEX_TO_DIRECT (qua một mảng chỉ mục).
TextureMapping
Liệt kê các ngữ nghĩa kênh texture: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, và hơn nữa.
Transform và Spatial
Enumerations
Lưu trữ vị trí cục bộ (translation), quay (rotation dưới dạng Quaternion), và tỉ lệ (scaling) của một Node. Các thay đổi ở đây sẽ ảnh hưởng đến nút và tất cả các nút con của nó.
GlobalTransform
Chế độ xem chỉ đọc của phép biến đổi không gian thế giới của một nút, được tính bằng cách tích lũy tất cả các nút tổ tiên Transform các giá trị. Truy cập qua node.globalTransform.
BoundingBox
Một hộp bao giới hạn trục-aligned được định nghĩa bởi một minimum và maximum Vector3 góc. Được sử dụng để mô tả phạm vi không gian của một lưới hoặc cảnh.
Enumerations
Material, LambertMaterial, PhongMaterial, PbrMaterial
Material là lớp cơ sở trừu tượng cho tất cả các loại vật liệu. Ba triển khai cụ thể có sẵn:
- LambertMaterial — chỉ khuếch tán với các kênh màu môi trường, khuếch tán và phát sáng. Phù hợp cho các bề mặt không phản chiếu.
- PhongMaterial — mở rộng
LambertMaterialvới màu phản chiếu và các thuộc tính độ bóng cho shading Phong. - PbrMaterial — vật liệu render dựa trên vật lý với các kênh kim loại, độ nhám, màu nền và bản đồ pháp tuyến. Ánh xạ trực tiếp tới mô hình vật liệu glTF 2.0 PBR.
Camera và Lighting
Enumerations
Một thực thể nút quan điểm với loại chiếu, trường nhìn, khoảng cách cắt gần/xa và các thuộc tính tỷ lệ khung hình.
Enumerations
Một thực thể nút nguồn sáng. Kiểu được điều khiển bởi LightType liệt kê.
LightType
Liệt kê các loại ánh sáng được hỗ trợ: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
Liệt kê các chế độ chiếu camera: PERSPECTIVE và ORTHOGRAPHIC.
Tiện ích Toán học
Enumerations
Một vector số thực dấu chấm động ba thành phần với x, y, z các trường và các phương pháp số học thông thường (dot, cross, normalize, minus, times). Xuất từ @aspose/3d/utilities.
Enumerations
Một vector số thực dấu chấm động bốn thành phần với x, y, z, w các trường. Được sử dụng làm kiểu của các mục trong Mesh.controlPoints.
Enumerations
Một vector hai thành phần độ chính xác kép với x và y các trường. Được dùng cho tọa độ texture UV.
FVector3
Một vector số thực đơn độ chính xác ba thành phần gọn nhẹ, được dùng trong các mảng dữ liệu phần tử đỉnh cho các vector pháp tuyến và tiếp tuyến.
Enumerations
Một ma trận biến đổi 4×4. Hỗ trợ nối, nghịch đảo, chuyển vị và phân tách thành các thành phần dịch chuyển, quay và tỉ lệ. Được xuất từ @aspose/3d/utilities.
Enumerations
Một quaternion đơn vị để biểu diễn các phép quay mà không gặp hiện tượng gimbal lock. Cung cấp slerp() để nội suy mượt mà và chuyển đổi tới/đi từ các góc Euler và Matrix4. Được xuất từ @aspose/3d/utilities.
Enumerations
AnimationClip
Một bộ sưu tập có tên, giới hạn thời gian của AnimationNode các track. Bộ chứa chính cho dữ liệu hoạt hình keyframe được tải từ các tệp FBX hoặc COLLADA.
AnimationNode
Một track hoạt hình có tên nhắm vào một đường dẫn thuộc tính cụ thể trên một đối tượng trong cảnh. Chứa một hoặc nhiều AnimationChannel đối tượng.
AnimationChannel
Một kênh thuộc tính được hoạt hình duy nhất trong một AnimationNode. Lưu trữ một KeyframeSequence các cặp thời gian/giá trị.
KeyFrame
Một mẫu thời gian/giá trị duy nhất trong một KeyframeSequence. Mang dấu thời gian (tính bằng giây), giá trị và thông tin tiếp tuyến cho việc nội suy.
KeyframeSequence
Một danh sách có thứ tự của KeyFrame các mẫu cho một kênh thuộc tính, cùng với Interpolation và Extrapolation cài đặt điều khiển việc phát lại.
Enumerations
Liệt kê các chế độ nội suy keyframe. Các thành viên đã biết bao gồm LINEAR và CONSTANT. Các thành viên bổ sung như BEZIER có thể có sẵn.
Enumerations
Xác định hành vi bên ngoài phạm vi keyframe (trước key đầu tiên và sau key cuối cùng). Được kiểm soát bởi ExtrapolationType.
StepMode
Liệt kê kiểm soát cách nội suy dạng bước (hằng số) được áp dụng tại các biên.
WeightedMode
Liệt kê cho việc xử lý trọng lượng tiếp tuyến Bezier: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, hoặc BOTH.
ExtrapolationType
Liệt kê các hành vi ngoài phạm vi: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, và OSCILLATE.
Định dạng I/O
FileFormat
Mô tả cơ bản cho một định dạng tệp 3D. Mỗi định dạng được hỗ trợ cung cấp một thể hiện đơn cụ thể thông qua getInstance().
Enumerations
Lớp cơ sở cho các triển khai nhập khẩu riêng theo định dạng. Không được khởi tạo trực tiếp; được gọi nội bộ bởi scene.open().
Enumerations
Lớp cơ sở cho các triển khai xuất khẩu riêng theo định dạng. Không được khởi tạo trực tiếp; được gọi nội bộ bởi scene.save().
LoadOptions
Lớp cơ sở cho các đối tượng tùy chọn tải riêng theo định dạng. Truyền một thể hiện lớp con cho scene.open() hoặc scene.openFromBuffer().
SaveOptions
Lớp cơ sở cho các đối tượng tùy chọn lưu riêng theo định dạng. Truyền một thể hiện lớp con cho scene.save().
IOService
Giao diện dịch vụ nội bộ trừu tượng hoá I/O hệ thống tệp và bộ đệm cho các bộ nhập và xuất.
Định dạng OBJ
OBJ hỗ trợ cả nhập và xuất. Khi lưu dưới dạng OBJ, thư viện vật liệu (.mtl) được ghi tự động cùng với .obj tệp.
ObjImporter
Trình nhập nội bộ đọc các tệp Wavefront OBJ, giải quyết .mtl các thư viện vật liệu, và điền vào một Scene. Được gọi tự động khi ObjLoadOptions được truyền vào scene.open().
ObjExporter
Trình xuất nội bộ ghi các tệp Wavefront OBJ. Một công cụ đi kèm .mtl thư viện vật liệu được ghi tự động. Được gọi khi scene.save() đích là một .obj đường dẫn.
ObjLoadOptions
Tải các tùy chọn cho tệp OBJ. Các thuộc tính chính: enableMaterials (boolean, mặc định true), flipCoordinateSystem (boolean), normalizeNormal (boolean, mặc định true), scale (số). Xem Tùy chọn tải và lưu Định dạng để biết chi tiết đầy đủ.
ObjSaveOptions
Lưu các tùy chọn cho việc xuất OBJ. Truyền vào scene.save() để kiểm soát hành vi xuất OBJ. Xem Tùy chọn tải và lưu Định dạng để biết chi tiết đầy đủ.
ObjFormat
Đối tượng mô tả định dạng đơn thể cho OBJ. Cả hai canImport và canExport là true.
Định dạng glTF
GltfImporter
Đọc JSON glTF 2.0 (.gltf) và tệp nhị phân GLB (.glb) các tệp. Xử lý các tham chiếu bộ đệm nhúng và bên ngoài, vật liệu PBR, da, và các đoạn hoạt hình.
GltfExporter
Ghi đầu ra glTF 2.0. Khi GltfSaveOptions.binaryMode là true, tạo ra một GLB tự chứa; nếu không sẽ ghi một JSON .gltf với một tệp đi kèm .bin bộ đệm.
GltfLoadOptions
Tùy chọn tải cho các tệp glTF/GLB. Kiểm soát việc giải quyết bộ đệm và hành vi tải texture.
GltfSaveOptions
Lưu các tùy chọn cho việc xuất glTF/GLB. Các thuộc tính đáng chú ý: binaryMode (boolean, true → GLB, mặc định false), flipTexCoordV (boolean, lật trục dọc UV, mặc định true). Xem Tùy chọn tải và lưu Định dạng để biết chi tiết đầy đủ.
GltfFormat
Đối tượng mô tả định dạng đơn thể. Lấy thông qua GltfFormat.getInstance() và truyền cho scene.save() như đối số thứ hai.
Định dạng STL
StlImporter
Đọc cả tệp STL dạng ASCII và nhị phân vào một Scene chứa một Mesh thực thể.
StlExporter
Ghi STL nhị phân. Đầu ra chứa lưới đã được tam giác hoá từ scene; các đa giác không phải tam giác sẽ được tam giác hoá tự động.
StlLoadOptions
Tùy chọn tải cho STL. Kiểm soát việc trình nhập lật các vector pháp tuyến trong quá trình nhập.
StlSaveOptions
Tùy chọn lưu cho xuất STL. Thuộc tính chính: binaryMode (boolean, mặc định false). Kiểm soát việc đầu ra là STL dạng ASCII hay nhị phân. Xem Tùy chọn tải và lưu Định dạng để biết chi tiết đầy đủ.
StlFormat
Đối tượng mô tả định dạng đơn thể. Lấy thông qua StlFormat.getInstance().
3MF Format
ThreeMfImporter
Đọc các tệp lưu trữ 3MF theo Open Packaging Convention và điền vào một Scene với các đối tượng lưới, màu sắc và các thuộc tính vật liệu.
ThreeMfExporter
Ghi một tệp lưu trữ 3MF hợp lệ từ cảnh hiện tại. Thích hợp cho quy trình in 3D.
ThreeMfLoadOptions
Tùy chọn tải cho các tệp 3MF.
ThreeMfSaveOptions
Tùy chọn lưu cho việc xuất 3MF.
ThreeMfFormat
Đối tượng đơn thể mô tả định dạng. Lấy thông qua ThreeMfFormat.getInstance().
Định dạng FBX
FbxImporter
Đọc các tệp FBX nhị phân và ASCII bao gồm hình học, vật liệu, bộ xương, blend shapes và các đoạn hoạt hình.
FbxExporter
Ghi các tệp FBX từ cảnh hiện tại. Cả đầu ra FBX nhị phân và ASCII đều được hỗ trợ tùy theo tùy chọn.
FbxLoadOptions
Tùy chọn tải cho FBX. Kiểm soát việc nhập hoạt hình, skin và blend shapes.
FbxSaveOptions
Tùy chọn lưu cho việc xuất FBX. Thuộc tính chính: embedTextures (boolean, mặc định false). Xem Tùy chọn tải và lưu Định dạng để xem chi tiết đầy đủ.
FbxFormat
Định dạng mô tả singleton. Lấy qua FbxFormat.getInstance().
Định dạng COLLADA
Nhập và xuất COLLADA yêu cầu xmldom phụ thuộc đồng cấp, được cài đặt tự động cùng với @aspose/3d.
ColladaImporter
Đọc COLLADA (.dae) các tệp XML bằng xmldom. Xử lý hình học, vật liệu, máy ảnh, đèn và hoạt ảnh.
ColladaExporter
Ghi đầu ra XML COLLADA từ cảnh hiện tại. Thích hợp cho việc trao đổi với các công cụ DCC (Blender, Maya, v.v.).
ColladaFormat
Định dạng mô tả singleton. Lấy qua ColladaFormat.getInstance().
Hệ thống Thuộc tính
Enumerations
Một cặp tên/giá trị có kiểu có thể được gắn vào bất kỳ A3DObject. Hỗ trợ các kiểu giá trị vô hướng và vector.
PropertyCollection
Một container có thứ tự của Property đối tượng. Có thể truy cập trên bất kỳ A3DObject thông qua properties trình truy cập.
CustomObject
Một túi thuộc tính dạng tự do mở rộng A3DObject. Được dùng để lưu trữ siêu dữ liệu tùy ý không khớp với lớp tiêu chuẩn.
Thông tin Tài sản
AssetInfo
Chứa siêu dữ liệu cấp cảnh được tải từ tệp nguồn: tác giả, tên ứng dụng, ngày tạo, tỷ lệ đơn vị và thông tin trục tọa độ.
ImageRenderOptions
Các tùy chọn kiểm soát cách các texture và hình ảnh được giải quyết và mã hoá khi lưu sang các định dạng nhúng dữ liệu hình ảnh (ví dụ, GLB với binaryMode: true).
Xem Thêm
- Cơ sở Kiến thức: Hướng dẫn Thực hành
- Tổng quan chi tiết về API
- Lớp Scene
- Lớp Node
- Lớp Mesh
- Lớp Transform
- Lớp GlobalTransform
- Lớp Camera
- Lớp Light
- Lớp Vector3
- Lớp Quaternion
- Lớp Matrix4
- Lớp BoundingBox
- Material, LambertMaterial, PhongMaterial, PbrMaterial
- Tùy chọn tải và lưu Định dạng
- Tham chiếu Vector2, Vector4
- Tham chiếu Property, PropertyCollection, AssetInfo
- Tham chiếu A3DObject, SceneObject, Entity
- Tham chiếu VertexElement, VertexElementNormal, VertexElementUV
- Tham chiếu các liệt kê
- npm: @aspose/3d
- GitHub: aspose-3d-node