3D

Camera3D

Active 3D camera.

Supports perspective, orthographic, frustum projection fields, post_processing, and active.

Base node: Node3D

Source: perro_source/core/perro_nodes/src/nodes/camera_3d.rs

Fields

projectionactivepost_processingfovnearfar
pub struct Camera3D {    pub base: Node3D,    pub projection: CameraProjection,    pub active: bool,}

Scene template

[node_instance]tags = ["runtime", "demo"]parent = @rootscript = "res://script.rs"script_vars = { speed = 4.0, health = 100 }   [Camera3D]    projection = 0    active = true    post_processing = []    fov = 0    near = 0  [/Camera3D][/node_instance]

Script API

Create

let node_id = create_node!(ctx, Camera3D, "Spawned Node", ["enemy", "runtime"], parent_id);

Access / mutate

let value = with_node!(ctx, Camera3D, node_id, |node| {    node.projection}); let pair = with_node!(ctx, Camera3D, node_id, |node| {    (node.projection, node.active)}); with_node_mut!(ctx, Camera3D, node_id, |node| {    node.projection = Default::default();});