Camera — Aspose.3D FOSS for Java

Methods: com.aspose.threed (aspose-3d-foss 26.1.0)

Camera 是一个 Entity 用于在 3D 场景中定义视点。它控制场景如何投影到 2D 图像平面上。相机附加到一个 Node 用于在场景中定位和定向它。.

public class Camera extends Entity

Methods

A3DObject -> SceneObject -> Entity -> Camera


实现说明

在 Java FOSS 版中, Camera 类仅具有构造函数——未实现相机特定属性(视场、近/远平面、投影模式)。.

导出限制:: 相机实体是 未写入 在导出场景时。glTF 导出器(GltfExporter)仅处理 Mesh 实体——相机节点会被静默跳过。这意味着附加在节点上的相机不会出现在任何导出文件中。下面的 “Read Camera After Import” 示例展示了如何从导入的文件中读取相机名称;然而,在此版本中不支持将相机写回新文件。.


Methods

Camera()
Camera(String name)
MethodsMethodsMethodsMethods
nameStringnull相机的可选名称。.

Methods

相机继承所有属性自 EntityA3DObject. 在此版本中未公开任何额外的特定格式属性。.

MethodsMethodsMethodsMethodsMethods
nameStringgetName()setName(String)摄像机对象的名称。.
parentNodeNodegetParentNode()setParentNode(Node)此摄像机所附着的节点。.
excludedbooleangetExcluded()setExcluded(boolean)Methods true, 此实体已从导出中排除。.

使用示例

将 Camera 附加到场景

import com.aspose.threed.*;

Scene scene = new Scene();

Camera cam = new Camera("MainCamera");

Node node = scene.getRootNode().createChildNode("camera", cam);
node.getTransform().setTranslation(0.0, 5.0, 20.0);

scene.save("scene-with-camera.glb");

导入后读取 Camera

import com.aspose.threed.*;

Scene scene = new Scene();
scene.open("model.glb");

for (Node node : scene.getRootNode().getChildNodes()) {
    if (node.getEntity() instanceof Camera) {
        Camera cam = (Camera) node.getEntity();
        System.out.println("Camera: " + cam.getName());
    }
}

另请参阅

 中文