-
Notifications
You must be signed in to change notification settings - Fork 0
class_camera
#####Inherits: Spatial
Camera node, displays from a point of view.
-
Vector3
project_ray_normal
( Vector2 screen_point ) const -
Vector3
project_local_ray_normal
( Vector2 screen_point ) const -
Vector3
project_ray_origin
( Vector2 screen_point ) const -
Vector2
unproject_position
( Vector3 world_point ) const -
Vector3
project_position
( Vector2 screen_point ) const - void
set_perspective
( real fov, real z_near, real z_far ) - void
set_orthogonal
( real size, real z_near, real z_far ) - void
make_current
( ) - void
clear_current
( ) -
bool
is_current
( ) const -
Transform
get_camera_transform
( ) const -
real
get_fov
( ) const -
real
get_size
( ) const -
real
get_zfar
( ) const -
real
get_znear
( ) const -
int
get_projection
( ) const - void
set_visible_layers
( int mask ) -
int
get_visible_layers
( ) const - void
look_at
( Vector3 target, Vector3 up ) - void
look_at_from_pos
( Vector3 pos, Vector3 target, Vector3 up ) - void
set_environment
( Environment env ) -
Environment
get_environment
( ) const - void
set_use_vertical_aspect
( bool enable ) -
bool
is_using_vertical_aspect
( ) const
- PROJECTION_PERSPECTIVE = 0 - Perspective Projection (object's size on the screen becomes smaller when far away).
- PROJECTION_ORTHOGONAL = 1 - Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest viewport node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the Camera will register in the global viewport. In other words, a Camera just provides //3D// display capabilities to a viewport, and, without one, a [Scene] registered in that viewport (or higher viewports) can't be displayed.
Return a normal vector in worldspace, that is the result of projecting a point on the viewport rectangle by the camera proyection. This is useful for casting rays in the form of (origin,normal) for object intersection or picking.
Return a 3D position in worldspace, that is the result of projecting a point on the viewport rectangle by the camera proyection. This is useful for casting rays in the form of (origin,normal) for object intersection or picking.
Return how a 3D point in worldpsace maps to a 2D coordinate in the viewport rectangle.
Set the camera projection to perspective mode, by specifying a //FOV// Y angle in degrees (FOV means Field of View), and the //near// and //far// clip planes in worldspace units.
Set the camera projection to orthogonal mode, by specifying a"#10;"#9;"#9;"#9;width and the //near// and //far// clip planes in worldspace units. (As a hint, 2D games often use this projection, with values specified in pixels)
- void
make_current
( )
Make this camera the current Camera for the viewport (see class description). If the Camera Node is outside the scene tree, it will attempt to become current once it"apos;s added.
-
bool
is_current
( ) const
Return wether the Camera is the current one in the viewport, or plans to become current (if outside the scene tree).
-
Transform
get_camera_transform
( ) const
Get the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the node transform.