API 参考文档 aspose-3d-foss 26.1.0 (Python 3.7 – 3.12, MIT 许可证)。.
所有类均从 aspose.threed 包或其子包导入。根导入为::
核心场景图
| Example | Example |
|---|
Scene | 所有 3D 场景数据的顶层容器。保存根节点、资源元数据和动画剪辑。提供 from_file(), open(),,以及 save() 作为主要的 I/O 入口点。. |
Node | 场景层级中的具名节点。拥有子节点列表和附加的 Entity 对象列表,例如网格、相机和灯光。携带局部 Transform. |
Entity | 抽象基类,适用于所有可以附加到 Node.的对象。提供名称和标识,但不包含自身几何信息。. |
SceneObject | 被以下类共享的基类 Node 和 Entity.。提供用于用户自定义元数据的属性集合接口。. |
A3DObject | 所有 Aspose.3D 托管对象的根基类。公开 name 属性以及 Properties 集合。. |
INamedObject | 保证 a 的接口 name 属性。由 Node, Entity,,以及多个特定格式的描述符类型。. |
几何体和网格
| Example | Example |
|---|
Mesh | 多边形网格实体。存储控制点(顶点位置为 Vector4),多边形面列表(控制点索引的列表),以及顶点元素层(法线、UV、顶点颜色)。. |
Geometry | 网格类几何体类型的抽象基类。定义控制点数组和 VertexElement 层的集合。. Mesh 继承自 Geometry. |
VertexElement | 附加到几何体的数据层(法线、UV、颜色等)的抽象基类。携带 mapping_mode, reference_mode,,以及一个 data 列表。. |
VertexElementNormal | 为每个顶点或每个多边形角存储一个法向量,取决于 mapping_mode.。数据值为 FVector4 实例(单精度),具有 w 未使用。. |
VertexElementUV | 以 FVector4 每个顶点或每个多边形角的形式存储纹理坐标(仅 x 和 y 分量用于 UV)。网格可以携带多个 UV 层以对应不同的纹理通道。. |
VertexElementVertexColor | 以每顶点或每角的 RGBA 颜色数据形式存储 FVector4 (r、g、b、a 的取值范围为 0–1)。. |
VertexElementSmoothingGroup | 存储每多边形的平滑组整数 ID,OBJ 导入器使用这些 ID 来重现源文件中的原始平滑组分配。. |
VertexElementType | 枚举,用于标识顶点元素层的语义角色:: NORMAL, UV, VERTEX_COLOR, SMOOTHING_GROUP,,以及其他。将值传递给 Mesh.get_element(). |
MappingMode | 枚举,用于控制顶点元素值映射到哪个基元:: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE,,或 ALL_SAME. |
ReferenceMode | 枚举,用于控制值的索引方式:: DIRECT (每个映射基元一个值)或 INDEX_TO_DIRECT (值数组加上单独的索引数组)。. |
PolygonModifier | 具有三角化方法的静态工具类 Mesh 对象以及整个 Scene 图形。. |
变换和空间
| Example | Example |
|---|
Transform | 本地变换,附加到 Node.。提供平移、旋转(作为 Quaternion),以及缩放分量,并提供欧拉角的便捷属性。. |
GlobalTransform | 只读视图,展示在组合所有祖先变换后节点的世界空间变换。通过以下方式访问 Node.global_transform. |
AssetInfo | 附加到的元数据块 Scene.。存储创作应用程序名称、单位名称、单位比例因子、坐标系轴定义以及创建/修改时间戳。. |
材质和着色
| Example | Example |
|---|
Material | 所有材质类型的抽象基类。提供名称以及用于数值和颜色参数的属性集合。. |
LambertMaterial | 仅漫反射材质模型。存储环境颜色、漫反射颜色、发光颜色和透明度。从使用 basic 的 OBJ 文件加载 Ka/Kd/Ke 声明。. |
PhongMaterial | Example LambertMaterial 带有镜面颜色和光泽度(specular exponent)。从使用 Ks/Ns 声明。. |
PbrMaterial | 基于物理渲染(Physically Based Rendering)材质。存储反照率、金属因子、粗糙度因子以及相关纹理。用于 glTF 2.0 和其他支持 PBR 的格式。. |
相机与灯光
| Example | Example |
|---|
Camera | 相机实体。仅 projection_type 和 name 在此版本中是可用的;所有其他数值属性(near_plane, far_plane, field_of_view, aspect_ratio)是返回默认值的存根。附加到一个 Node 以定义视点变换。. |
Light | 光源实体。继承自 Camera 作为存根类;该 Light 类本身在此版本中不暴露额外属性。. |
LightType | 支持的光类别枚举:: POINT, DIRECTIONAL, SPOT, AREA, VOLUME. |
ProjectionType | 相机投影模式枚举:: PERSPECTIVE 和 ORTHOGRAPHIC. |
数学工具
| Example | Example |
|---|
Vector2 | 双精度 2 分量向量(x, y)。用于 UV 纹理坐标。. |
Vector3 | 双精度 3 分量向量(x, y, z)。用于位置、方向和缩放。. |
Vector4 | 双精度 4 分量向量 (x, y, z, w). 用于控制点(齐次位置)和法线数据。. |
FVector2 | 单精度 2 分量浮点向量。内部用于在顶点元素数据数组中进行紧凑存储。. |
FVector3 | 单精度 3 分量浮点向量。出现在顶点元素数据数组中,用于法线和切线。. |
FVector4 | 单精度 4 分量浮点向量。存储类型为 VertexElementFVector.data. |
Quaternion | 用于表示旋转的单位四元数(w, x, y, z)。用于 Transform.rotation. |
Matrix4 | 4×4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions. |
BoundingBox | 轴对齐包围盒,由 minimum 和 maximum Vector3 角定义。用于空间查询和视锥体剔除辅助。. |
Example
| Example | Example |
|---|
AnimationClip | 用于包含一组覆盖单个播放范围的动画通道的具名容器。一个 Scene 可以包含多个剪辑(例如,“Walk”,“Run”)。. |
AnimationNode | 将一个 AnimationClip 绑定到特定的场景节点或属性。充当剪辑数据与场景图对象之间的桥梁。. |
AnimationChannel | 剪辑内的单个动画属性流,目标是对象上的具名属性(例如,., Transform.translation.x). |
KeyFrame | 单个时间-数值采样,位于 KeyframeSequence.。存储时间(秒)以及该时间点的数值。. |
KeyframeSequence | 有序列表,包含 KeyFrame 对象,用于单一标量通道,并包含插值和外推设置。. |
Interpolation | 关键帧之间插值模式的枚举:: CONSTANT, LINEAR, BEZIER, B_SPLINE, CARDINAL_SPLINE, TCB_SPLINE. |
ExtrapolationType | 枚举首帧和末帧之外的行为:: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE. |
格式 I/O
| Example | Example |
|---|
Scene.from_file(path) | 静态方法。打开位于 path,,根据扩展名检测格式,并返回已填充的 Scene. 在文件未找到或不支持的格式时抛出异常。. |
Scene.open(path, options=None) | 实例方法。将文件打开到现有的 Scene 实例中,可选地使用特定格式的 LoadOptions 子类。. |
Scene.save(path, options=None) | 实例方法。将场景序列化为 path 使用从扩展名推断的格式,可选地使用特定格式的 SaveOptions 子类。. |
FileFormat | 受支持文件格式的注册表。包含诸如以下的条目 FileFormat.WAVEFRONT_OBJ, FileFormat.GLTF, FileFormat.FBX7400ASCII, FileFormat.MICROSOFT_3MF. 特定格式的变体可通过选项类访问(例如,., ColladaSaveOptions, GltfSaveOptions). |
IOService | 格式导入器和导出器使用的内部 I/O 抽象。通常不会被应用代码直接使用。. |
LoadOptions | 所有特定格式加载选项对象的基类。其子类包括 ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions, ColladaLoadOptions, ThreeMfLoadOptions. |
SaveOptions | 所有特定格式保存选项对象的基类。其子类包括 ObjSaveOptions, StlSaveOptions, GltfSaveOptions, FbxSaveOptions, ColladaSaveOptions, ThreeMfSaveOptions. |
OBJ 格式
| Example | Example |
|---|
ObjImporter | 内部导入类,用于解析 Wavefront OBJ 和 MTL 文件。由以下自动调用 Scene.from_file() 用于 .obj 扩展名。. |
ObjLoadOptions | Wavefront OBJ 文件的加载选项。关键属性:: flip_coordinate_system, scale, enable_materials, normalize_normal. |
ObjSaveOptions | 保存 Wavefront OBJ 输出的选项。控制法线、UV、材质引用以及点云模式。. |
ObjFormat | Wavefront OBJ 的格式描述符。可通过以下方式访问: FileFormat.WAVEFRONT_OBJ(). |
STL 格式
| Example | Example |
|---|
StlImporter | 内部导入器,可读取二进制和 ASCII STL 文件。根据扩展名自动选择。. |
StlExporter | 内部导出器,用于写入 STL。. |
StlLoadOptions | 加载 STL 文件的选项。支持 flip_coordinate_system 和 scale. |
StlSaveOptions | STL 输出的保存选项。控制 binary_mode, scale,,以及 flip_coordinate_system. |
StlFormat | STL 的格式描述符。. |
glTF 格式
| Example | Example |
|---|
GltfLoadOptions | 加载 glTF 2.0 和 GLB 文件的选项。关键属性:: flip_tex_coord_v. |
GltfSaveOptions | glTF 2.0 输出的保存选项。使用 binary_mode=True 来创建自包含的 GLB 包。. |
GltfFormat | glTF 2.0 / GLB 的格式描述符。可通过以下方式访问 FileFormat.GLTF2(). |
FBX 格式
| Example | Example |
|---|
FbxLoadOptions | 加载 FBX 文件的选项。关键属性:: keep_builtin_global_settings, compatible_mode. |
FbxSaveOptions | FBX 输出的保存选项。控制压缩、纹理嵌入和材质属性。. |
FbxFormat | FBX 的格式描述符。可通过以下方式访问 FileFormat.FBX7400ASCII(). |
COLLADA 格式
| Example | Example |
|---|
ColladaLoadOptions | 加载 COLLADA(.dae)文件的选项。控制导入时的轴映射和单位比例。. |
ColladaSaveOptions | COLLADA 输出的保存选项。控制 indented, flip_coordinate_system,,以及材质导出。. |
ColladaFormat | COLLADA 的格式描述符。自动从 .dae 文件扩展名。. |
3MF Format
Example
| Example | Example |
|---|
TextureMapping | 标识纹理映射到几何体的方式:: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT,,等等。. |
BooleanOperation | CSG 布尔运算类型:: UNION, DIFFERENCE, INTERSECTION. |
属性系统
| Example | Example |
|---|
Property | 在 … 上的单个具名类型属性 A3DObject.。存储属性名称、类型描述符以及当前值。. |
PropertyCollection | 可迭代的 … 集合 Property 附加到 … 的对象 A3DObject.。支持按名称查找以及遍历所有已定义的属性。. |
CustomObject | 轻量级的 A3DObject 子类,仅携带名称和任意的 PropertyCollection.。用于在场景对象上存储用户定义的元数据。. |
图像与渲染
| Example | Example |
|---|
ImageRenderOptions | 在将场景渲染到图像缓冲区时进行软件光栅化的选项。存储背景颜色、图像尺寸和相机引用。此功能在受支持的配置中可用。. |
另见