跳转至

Camera

继承

Spatial

简要描述

摄像机节点,从角度显示。

描述

相机是一个特殊节点,显示从其当前位置可见的内容。

成员

类型 属性名 默认值
int cull_mask 1048575
bool current false
int doppler_tracking 0
Environment environment
float far 100.0
float fov 70.0
Vector2 frustum_offset Vector2( 0, 0 )
float h_offset 0.0
int keep_aspect 1
float near 0.05
int projection 0
float size 1.0
float v_offset 0.0

方法

返回值类型 方法名称
void clear_current(enable_next: bool = true)
RID get_camera_rid() const
Transform get_camera_transform() const
bool get_cull_mask_bit(layer: int) const
Array get_frustum() const
bool is_position_behind(world_point: Vector3) const
void make_current()
Vector3 project_local_ray_normal(screen_point: Vector2) const
Vector3 project_position(screen_point: Vector2, z_depth: float) const
Vector3 project_ray_normal(screen_point: Vector2) const
Vector3 project_ray_origin(screen_point: Vector2) const
void set_cull_mask_bit(layer: int, enable: bool)
void set_frustum(size: float, offset: Vector2, z_near: float, z_far: float)
void set_orthogonal(size: float, z_near: float, z_far: float)
void set_perspective(fov: float, z_near: float, z_far: float)
Vector2 unproject_position(world_point: Vector3) const
##枚举
enum Projection:
- PROJECTION_PERSPECTIVE = 0

透视投影。

  • PROJECTION_ORTHOGONAL = 1

正交投影,也称为正交投影。

  • PROJECTION_FRUSTUM = 2

视锥投影。


enum KeepAspect: - KEEP_WIDTH = 0

保留水平长宽比;

  • KEEP_HEIGHT = 1

保留垂直长宽比;


enum DopplerTracking: - DOPPLER_TRACKING_DISABLED = 0

禁用[=]多普勒效果[/url]模拟(默认)。

  • DOPPLER_TRACKING_IDLE_STEP = 1

通过跟踪在_process中更改的对象的位置来模拟[=]多普勒效应[/url]。

  • DOPPLER_TRACKING_PHYSICS_STEP = 2

通过跟踪在_physics_process中更改的对象的位置,模拟[=]多普勒效应[/url]。


常量

成员说明

  • int cull_mask
Default 1048575
setter set_cull_mask(value)
getter get_cull_mask
  • bool current
Default false
setter set_current(value)
getter is_current
  • int doppler_tracking
Default 0
setter set_doppler_tracking(value)
getter get_doppler_tracking
  • Environment environment
setter set_environment(value)
getter get_environment
  • float far
Default 100.0
setter set_zfar(value)
getter get_zfar
  • float fov
Default 70.0
setter set_fov(value)
getter get_fov
  • Vector2 frustum_offset
Default Vector2( 0, 0 )
setter set_frustum_offset(value)
getter get_frustum_offset
  • float h_offset
Default 0.0
setter set_h_offset(value)
getter get_h_offset
  • int keep_aspect
Default 1
setter set_keep_aspect_mode(value)
getter get_keep_aspect_mode
  • float near
Default 0.05
setter set_znear(value)
getter get_znear
  • int projection
Default 0
setter set_projection(value)
getter get_projection
  • float size
Default 1.0
setter set_size(value)
getter get_size
  • float v_offset
Default 0.0
setter set_v_offset(value)
getter get_v_offset

方法说明

  • clear_current clear_current(enable_next: bool = true)

如果这是当前相机,请将其从当前相机中移除。


  • get_camera_rid get_camera_rid() const

VisualServer返回摄像机的RID。


  • get_camera_transform get_camera_transform() const

获取相机变换。


  • get_cull_mask_bit get_cull_mask_bit(layer: int) const

如果启用了cull_mask中的给定layer,则返回true,否则返回false


  • get_frustum get_frustum() const

以[Space]数组的形式按以下顺序返回相机的视锥平面,它们是[平面]的数组:近,远,左,上,右,下。


  • is_position_behind is_position_behind(world_point: Vector3) const

如果给定位置在摄像机后面,则返回true

**注意:**返回false的位置可能仍在相机视野之外。


  • make_current make_current()

使此摄像机成为[视口]的当前摄像机(请参阅类说明)。


  • project_local_ray_normal project_local_ray_normal(screen_point: Vector2) const

从沿着相机指向的屏幕点位置返回法线向量。


  • project_position project_position(screen_point: Vector2, z_depth: float) const

返回世界空间中的3D点,该点映射到平面上[视口]矩形中给定的2D坐标,该平面是距摄像机的场景中给定z_depth的距离。


  • project_ray_normal project_ray_normal(screen_point: Vector2) const

返回世界空间中的法线向量,该向量是通过摄像机投影在[视口]矩形上投影一个点的结果。


  • project_ray_origin project_ray_origin(screen_point: Vector2) const

返回世界空间中的3D位置,这是通过相机投影在[视口]矩形上投影一个点的结果。


  • set_cull_mask_bit set_cull_mask_bit(layer: int, enable: bool)

在[成员cull_mask]中启用或禁用给定的layer


  • set_frustum set_frustum(size: float, offset: Vector2, z_near: float, z_far: float)

通过指定sizeoffset以及z_near和`,将相机投影设置为平截头体模式(请参见PROJECTION_FRUSTUM)。


  • set_orthogonal set_orthogonal(size: float, z_near: float, z_far: float)

通过指定世界上的size以及z_nearz_far剪辑平面,将相机投影设置为正交模式(请参见PROJECTION_ORTHOGONAL


  • set_perspective set_perspective(fov: float, z_near: float, z_far: float)

通过指定以角度为单位的fov(视场)角度,以及z_near和` z_far,将相机投影设置为透视模式(请参见PROJECTION_PERSPECTIVE


  • unproject_position unproject_position(world_point: Vector3) const

返回[视口]矩形中的2D坐标,该坐标映射到世界空间中的给定3D点。