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/3d

Mô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 minimummaximum 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 LambertMaterial vớ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: PERSPECTIVEORTHOGRAPHIC.


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 xy 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 InterpolationExtrapolation 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 LINEARCONSTANT. 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 canImportcanExporttrue.


Đị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.binaryModetrue, 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

 Tiếng Việt