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());
}
}