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 EntityMethods
A3DObject -> SceneObject -> Entity -> Camera
Примечания к реализации
В выпуске Java FOSS, Camera класс имеет только конструкторы — свойства, специфичные для камеры (угол обзора, ближняя/дальняя плоскость, режим проекции), не реализованы.
Ограничение экспорта: Сущности камеры являются не записываются при экспорте сцен. Экспортер glTF (GltfExporter) обрабатывает только Mesh сущности — узлы камеры без предупреждения пропускаются. Это означает, что камера, присоединённая к узлу, не будет присутствовать в любом экспортированном файле. Пример “Read Camera After Import” ниже показывает, как считывать имена камер из импортированного файла; однако запись камер обратно в новый файл не поддерживается в этой версии.
Methods
Camera()
Camera(String name)| Methods | Methods | Methods | Methods |
|---|---|---|---|
name | String | null | Необязательное имя камеры. |
Methods
Камера наследует все свойства от Entity и A3DObject. В этой версии не раскрываются дополнительные свойства, специфичные для формата.
| Methods | Methods | Methods | Methods | Methods |
|---|---|---|---|---|
name | String | getName() | setName(String) | Имя объекта камеры. |
parentNode | Node | getParentNode() | setParentNode(Node) | Узел, к которому прикреплена эта камера. |
excluded | boolean | getExcluded() | setExcluded(boolean) | Methods true, эта сущность исключена из экспорта. |
Примеры использования
Присоединить камеру к сцене
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");Считать камеру после импорта
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());
}
}