API 参考文档 aspose-3d-foss 26.1.0 (Java 21+,MIT 许可证)。.
所有类位于 com.aspose.threed 根包。根导入为::
包布局:: 几乎所有公共类都位于 com.aspose.threed.。通常使用的唯一子包是 com.aspose.threed.shading (用于 PbrMaterial). 该 com.aspose.threed.formats 子包包含内部的导入器/导出器,通常不会直接导入。.
Java 命名约定:: 所有属性都使用 getter/setter 方法。例如,使用 node.getTransform() 而不是 node.transform,,并且 transform.setTranslation(...) 而不是 transform.translation = .... 请注意 Vector3, Vector4, Quaternion, Matrix4, 以及 FVector 类型使用 公共字段 (v.x, v.y, v.z)而不是用于组件访问的 getter。.
核心场景图
| Example | Example |
|---|
Scene | 所有 3D 场景数据的顶层容器。保存根节点、资产元数据和动画剪辑。提供 fromFile(), open(),,以及 save() 作为主要的 I/O 入口点。. |
Node | 场景层级中的命名节点。拥有子节点列表和已附加的 Entity 对象,例如网格、相机和灯光。携带本地 Transform. |
Entity | 可附加到 a 的所有对象的抽象基类 Node. 提供名称和标识,但不包含自身的几何体。. |
SceneObject | 被以下共享的基类 Node 和 Entity. 提供用于用户自定义元数据的属性集合接口。. |
A3DObject | 所有 Aspose.3D 管理对象的根基类。公开 name 属性和 Properties 集合。. |
INamedObject | 保证 a 的接口 getName() 方法。由 Node, Entity,以及若干特定格式的描述符类型。. |
几何体和网格
| Example | Example |
|---|
Mesh | 多边形网格实体。存储控制点(顶点位置为 Vector4),多边形面列表(控制点索引的列表),以及顶点元素层(法线、UV、顶点颜色)。. |
Geometry | 抽象基类,用于类似网格的几何类型。定义控制点数组和 VertexElement 层。. Mesh 继承自 Geometry. |
VertexElement | 几何体(法线、UV、颜色等)附加的数据层的抽象基类。携带 getMappingMode(), getReferenceMode(), 以及数据列表。. |
VertexElementNormal | 根据映射模式,存储每个顶点或每个多边形角的一个法线向量。数据值为 Vector4 实例,带有 w 未使用。. |
VertexElementUV | 存储纹理坐标对 (Vector2) 每个顶点或每个多边形角。网格可以为不同的纹理通道携带多个 UV 层。. |
VertexElementVertexColor | 存储每顶点或每角的 RGBA 颜色数据为 Vector4 (r、g、b、a 的范围为 0–1)。. |
VertexElementType | 枚举,用于标识顶点元素层的语义角色:: NORMAL, UV, VERTEX_COLOR,,以及其他。将值传递给 Mesh.getElement(). |
MappingMode | 枚举,用于控制顶点元素值映射到哪个基元:: CONTROL_POINT, POLYGON_VERTEX,,或 POLYGON. |
ReferenceMode | 枚举,用于控制值的索引方式:: DIRECT (每个映射原语一个值) 或 INDEX_TO_DIRECT (值数组加上单独的索引数组)。. |
变换和空间
| Example | Example |
|---|
Transform | 本地变换附加到 Node.。提供平移、旋转(作为 Quaternion),以及缩放分量,并提供欧拉角的便利方法。. |
GlobalTransform | 只读视图,显示节点在组合所有祖先变换后的世界空间变换。通过以下方式访问 node.getGlobalTransform(). |
AssetInfo | 附加到 a 的元数据块 Scene.。存储创作应用程序名称、单位名称、单位比例因子、坐标系轴定义以及创建/修改时间戳。. |
材质和着色
| Example | Example |
|---|
Material | 所有材质类型的抽象基类。提供名称以及用于数值和颜色参数的属性集合。. |
PbrMaterial | 基于物理的渲染(PBR)材质。存储反照率、金属因子、粗糙度因子、发光颜色、透明度以及相关纹理。被 glTF 2.0 和其他支持 PBR 的格式使用。导入:: com.aspose.threed.shading.PbrMaterial. |
Example
| Example | Example |
|---|
Camera | 相机实体。继承自 Entity.。在 Java FOSS 版中,除继承的名称和属性集合外,不会公开特定格式的属性。附加到一个 Node 用于定义视点变换。. |
注意:: Example Light 类在 Java 版的 Aspose.3D FOSS 中不可用。导入文件的场景光照数据存储为通用 Entity 对象。.
数学工具
| Example | Example |
|---|
Vector2 | 双精度 2 分量向量 (x, y) 用于 UV 纹理坐标。. |
Vector3 | 双精度 3 分量向量 (x, y, z) 用于位置、方向和缩放。. |
Vector4 | 双精度 4 分量向量 (x, y, z, w). 用于控制点(齐次位置)和法线数据。. |
FVector3 | 单精度 3 分量浮点向量。出现在用于法线和切线的顶点元素数据数组中。. |
FVector4 | 单精度 4 分量浮点向量。存储类型为 VertexElementFVector 数据。. |
Quaternion | 用于表示旋转的单位四元数(w, x, y, z)。用于 Transform.getRotation(). |
Matrix4 | 4x4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions. |
BoundingBox | 由…定义的轴对齐包围盒 getMinimum() 和 getMaximum() Vector3 角点。用于空间查询和视锥体剔除辅助。. |
Example
| Example | Example |
|---|
AnimationClip | 动画范围的命名容器。A Scene 可以容纳多个剪辑(例如,“Walk”,“Run”)。. 声明存根 — 关键帧数据和播放尚未实现。. |
格式 I/O
| Example | Example |
|---|
Scene.fromFile(path) | Static method. 打开位于 path,,从扩展名检测格式,并返回一个已填充的 Scene. 在文件未找到或不支持的格式时抛出异常。. |
Scene.open(path, options) | Instance method. 将文件打开到已有的 Scene instance,可选地使用特定格式的 LoadOptions 子类。. |
Scene.save(path, options) | 实例方法。将场景序列化为 path 使用从扩展名推断的格式,可选地使用特定格式的 SaveOptions 子类。. |
FileFormat | 受支持的文件格式注册表。包含诸如以下的条目 FileFormat.WAVEFRONT_OBJ(), FileFormat.GLTF2(), FileFormat.FBX7400ASCII(). |
IOService | 内部 I/O 抽象,由格式导入器和导出器使用。通常不直接由应用代码使用。. |
LoadOptions | 所有特定格式加载选项对象的基类。由以下子类化: ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions. |
SaveOptions | 所有特定格式保存选项对象的基类。由以下子类化: ObjSaveOptions, StlSaveOptions, GltfSaveOptions. |
OBJ 格式
| Example | Example |
|---|
ObjImporter | 内部导入器类,用于解析 Wavefront OBJ 和 MTL 文件。由以下自动调用: Scene.fromFile() 用于 .obj 扩展。. |
ObjLoadOptions | 加载 Wavefront OBJ 文件的选项。关键属性:: setFlipCoordinateSystem(), setScale(), setEnableMaterials(), setNormalizeNormal(). |
ObjSaveOptions | 保存 Wavefront OBJ 输出的选项。控制法线、UVs、材质引用以及点云模式。. |
ObjFormat | Wavefront OBJ 的格式描述符。可访问为 FileFormat.WAVEFRONT_OBJ(). |
STL 格式
| Example | Example |
|---|
StlImporter | 内部导入器,可读取二进制和 ASCII STL 文件。根据扩展名自动选择。. |
StlExporter | 内部导出器,写入 STL。. |
StlLoadOptions | 加载 STL 文件的选项。支持 setFlipCoordinateSystem(), setRecalculateNormal(),,以及 setContentType(). |
StlSaveOptions | 保存 STL 输出的选项。控制 setFlipCoordinateSystem(), setAxisSystem(),,以及 setContentType(). |
StlFormat | STL 格式描述符。. |
glTF 格式
| Example | Example |
|---|
GltfLoadOptions | glTF 2.0 和 GLB 文件的加载选项。关键属性:: setFlipCoordinateSystem(), setPrettyPrint(). |
GltfSaveOptions | glTF 2.0 和 GLB 输出的保存选项。使用 setContentType(FileContentType.BINARY) 生成自包含的 .glb 包。. |
GltfFormat | glTF 2.0 / GLB 的格式描述符。可访问为 FileFormat.GLTF2(). |
FBX 格式
FBX 支持用于 仅导入. 导出为 FBX 在 Java FOSS 版中不可用。.
| Example | Example |
|---|
FbxLoadOptions | FBX 文件的加载选项。关键属性:: setFlipCoordinateSystem(). |
FbxFormat | FBX 的格式描述符。可通过以下方式访问 FileFormat.FBX7400ASCII(). |
Example
| Example | Example |
|---|
Axis | 标识坐标轴:: X_AXIS, Y_AXIS, Z_AXIS. 用于坐标系重新映射选项。. |
CoordinateSystem | 指定手性约定:: RIGHT_HANDED 或 LEFT_HANDED. |
TextureMapping | 标识纹理如何映射到几何体:: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, 等。. |
BooleanOperation | CSG 布尔运算类型:: UNION, DIFFERENCE, INTERSECTION. |
属性系统
| Example | Example |
|---|
Property | 在某个对象上的单个具名类型属性 A3DObject.。存储属性名称、类型描述符和当前值。. |
PropertyCollection | 可迭代的集合 Property 附加到一个的对象 A3DObject. 支持按名称查找并遍历所有已定义的属性。. |
CustomObject | 轻量级的 A3DObject 子类,仅携带一个名称和任意的 PropertyCollection. 用于在场景对象上存储用户定义的元数据。. |
图像与渲染
| Example | Example |
|---|
ImageRenderOptions | 在将场景渲染到图像缓冲区时的软件光栅化选项。存储背景颜色、图像尺寸和相机引用。此功能在受支持的配置中可用。. |
另见