Skip to content

Courage.Camera#

require("Courage.Camera") inspects active game camera state (eye position, target position, up vector, orientation angle, and vertical field of view).

Loading the module#

local Camera = require("Courage.Camera")
import * as Camera from "Courage.Camera"

API#

Camera.state() (returns table or nil)#

Returns a snapshot table of current camera parameters, or nil if the camera is unavailable.

Table Field Type Description
eye { x: number, y: number, z: number } World-space camera eye (lens) position
target { x: number, y: number, z: number } World-space camera target (look-at) position
up { x: number, y: number, z: number } World-space camera up vector
angle_y number Horizontal yaw angle in degrees
fovy number Vertical field of view angle in degrees

Example#

local Camera = require("Courage.Camera")
local Log    = require("Petrichor.Log")

local cam = Camera.state()
if cam then
    Log.info("my-mod", string.format("Camera Eye: (%.1f, %.1f, %.1f), FOV: %.1f",
        cam.eye.x, cam.eye.y, cam.eye.z, cam.fovy))
end
import * as Camera from "Courage.Camera"
import * as Log    from "Petrichor.Log"

const cam = Camera.state()
if (cam) {
    Log.info("my-mod", `Camera Eye: (${cam.eye.x}, ${cam.eye.y}, ${cam.eye.z}), FOV: ${cam.fovy}`)
}

See also#