Documentation is work in progress and not completeEditor
GPU Constraints and 3D

Perspective and Camera Simulation

The Perspective Camera

FlashFX provides a virtual perspective camera that applies a perspective projection to all 3D-enabled elements in a composition.

Perspective Focal Length: Controls the intensity of the perspective effect.

  • -High focal length (e.g., 2000px) = narrow field of view, compressed perspective, telephoto appearance
  • -Low focal length (e.g., 200px) = wide field of view, exaggerated perspective, fisheye-like appearance
  • -Default: 800px — a natural-looking perspective comparable to a 50mm lens

Focal length to Field of View conversion: FOV = 2 x arctan(canvas_height / (2 x focal_length))

Camera Position: The virtual camera is positioned at the center of the canvas by default. Camera X / Y moves the camera horizontally and vertically, panning the perspective view without actually moving elements.

Per-Element vs. Composition-Level Perspective

Composition-level perspective (default): All 3D elements share the same perspective camera. Elements appear to exist in the same 3D space, with consistent vanishing points.

Per-element perspective: Each 3D element has its own independent perspective. This prevents elements from sharing vanishing points, which is useful for certain graphic styles but looks incorrect for realistic 3D space simulations.

Toggle: Properties Panel -> "3D" section -> "Perspective Mode"

Simulating Camera Movement

To simulate a moving camera, parent all scene elements to a Null Object and animate the null:

  • -Dolly (push/pull) — animate null's Scale uniformly (scale up = moving toward scene, scale down = moving away)
  • -Truck (strafe) — animate null's X position
  • -Pedestal (vertical) — animate null's Y position
  • -Pan — animate null's Z rotation (2D)
  • -Tilt — animate null's X rotation (3D)
  • -Roll — animate null's Z rotation in 3D mode

This technique avoids actually moving individual scene elements and keeps the "camera" logic centralized in one control.