照相机

Inherits: Spatial < Node < Object

继承人: ARVRCameraClippedCameraInterpolatedCamera

类别: 核心

简要说明

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

方法

无效

clear_current ( bool enable_next=true )

RID

get_camera_rid ( ) const

Transform

get_camera_transform ( ) const

bool

get_cull_mask_bit ( int layer ) const

Array

get_frustum ( ) const

bool

is_position_behind ( Vector3 world_point ) const

无效

make_current ( )

Vector3

project_local_ray_normal ( Vector2 screen_point ) const

Vector3

project_position ( Vector2 screen_point, float z_depth=0 ) const

Vector3

project_ray_normal ( Vector2 screen_point ) const

Vector3

project_ray_origin ( Vector2 screen_point ) const

无效

set_cull_mask_bit ( int layer, bool enable )

无效

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

无效

set_orthogonal ( float size, float z_near, float z_far )

无效

set_perspective ( float fov, float z_near, float z_far )

Vector2

unproject_position ( Vector3 world_point ) const

枚举

枚举 投影

  • PROJECTION_PERSPECTIVE = 0 ——透视投影。屏幕上的对象越远越小。

  • PROJECTION_ORTHOGONAL = 1 ---正交投影,又称正交投影。对象在屏幕上保持相同的大小,不管它们离得多远。

  • PROJECTION_FRUSTUM = 2 ——截锥投影。此模式允许调整 frustum_offset 创建“倾斜截锥体”效果。

枚举 KeepAspect

  • KEEP_WIDTH = 0 ---保持水平纵横比;也称为垂直缩放。这通常是在纵向模式下运行的项目的最佳选择,因为较高的纵横比将受益于更宽的垂直FOV。

  • KEEP_HEIGHT = 1 ---保留垂直纵横比;也称为水平缩放。这通常是在景观模式下运行的项目的最佳选择,因为更宽的纵横比将自动受益于更宽的水平FOV。

枚举 DopplerTracking

  • DOPPLER_TRACKING_DISABLED = 0 ---禁用多普勒效应模拟(默认)。

  • DOPPLER_TRACKING_IDLE_STEP = 1 ---通过跟踪物体的位置来模拟多普勒效应。 _process . 与这些对象相比,此摄像头的相对速度的变化会影响音频的感知方式(更改音频的 pitch shift

  • DOPPLER_TRACKING_PHYSICS_STEP = 2 ---通过跟踪物体的位置来模拟多普勒效应。 _physics_process . 与这些对象相比,此摄像头的相对速度的变化会影响音频的感知方式(更改音频的 pitch shift

描述

相机是一个特殊的节点,它显示从当前位置可见的内容。摄像机在最近的地方登记 Viewport 节点(在树上升时)。每个视区只能有一个摄像头处于活动状态。如果树上没有可用的视区,相机将在全局视区中注册。换言之,相机只是为 Viewport 如果没有一个场景 Viewport (或更高的视区)无法显示。

属性描述

  • int cull_mask

违约

1048575

设定器

设置“剔除”遮罩(值)

吸气剂

获取_Cull_Mask()。

描述由该摄影机渲染的3D渲染层的剔除遮罩。

违约

设定器

设置电流(值)

吸气剂

是“当前”()

如果 true ,祖先 Viewport 当前正在使用此摄像头。

违约

0

设定器

设置多普勒跟踪(值)

吸气剂

获取多普勒跟踪

如果没有 DOPPLER_TRACKING_DISABLED ,这台相机将模拟多普勒效应,特别是改变的物体。 _process 方法。见 DopplerTracking 对于可能的值。

设定器

设置环境(值)

吸气剂

获取环境()

这个 Environment 用于此摄像头。

违约

100.0

设定器

设置zfar(值)

吸气剂

获取_zfar()

相对于相机的局部Z轴到远剔除边界的距离。

违约

70.0

设定器

设置FOV(值)

吸气剂

获取foov()

相机的视场角度(以度为单位)。仅适用于透视模式。自从 keep_aspect 锁定一个轴, fov 设置另一个轴的视场角度。

违约

矢量2(0,0)

设定器

设置截锥偏移(值)

吸气剂

获取截锥偏移量()

违约

0.0

设定器

设置偏移量(值)

吸气剂

获取_h_偏移量()

相机视区的水平(X)偏移。

违约

1

设定器

设置“保持”模式(值)

吸气剂

获取“保持”方面的“模式”()

要锁定的轴 fov/size 调整。可以是 KEEP_WIDTHKEEP_HEIGHT .

违约

0.05

设定器

设定值

吸气剂

获取_znear()

相对于相机的局部Z轴,到该相机的近剔除边界的距离。

违约

0

设定器

设置投影(值)

吸气剂

获取_投影()

相机的投影模式。在 PROJECTION_PERSPECTIVE 模式,对象与相机局部空间的Z距离缩放其感知的大小。

违约

1.0

设定器

设置大小(值)

吸气剂

获取u大小()

相机的尺寸是宽度或高度的1/2。仅适用于正交模式。自从 keep_aspect 轴上的锁, size 设置另一个轴的大小长度。

违约

0.0

设定器

设置偏移量(值)

吸气剂

获取“偏移量”()

相机视区的垂直(Y)偏移。

方法说明

  • void clear_current ( bool enable_next=true )

如果这是当前摄像头,请将其从当前摄像头中删除。如果 enable_nexttrue ,请求使下一个摄像头成为当前摄像头(如果有)。

  • RID get_camera_rid ( ) const

将摄像头的RID从 VisualServer .

获取相机转换。子类摄像机,如 InterpolatedCamera 可以提供不同于 Node 转换。

  • bool get_cull_mask_bit ( int layer ) const

  • Array get_frustum ( ) const

  • bool is_position_behind ( Vector3 world_point ) const

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

注: 返回的位置 false 可能仍在摄像机视野之外。

  • void make_current ( )

使此摄像头成为 Viewport (见类别说明)。如果摄影机节点在场景树之外,则添加后将尝试变为当前节点。

从沿相机定向的屏幕点位置返回法向量。正交摄像机是标准化的。透视照相机可以显示透视效果、屏幕宽度/高度等。

返回世界空间中映射到给定二维坐标的三维点 Viewport 一个平面上的矩形,它是进入场景的给定距离,远离相机。

返回Worldspace中的法向量,这是将点投影到 Viewport 由摄像机投影的矩形。这对于以(原点、法线)的形式投射光线以进行对象交叉或拾取很有用。

返回WorldSpace中的三维位置,这是将点投影到 Viewport 由摄像机投影的矩形。这对于以(原点、法线)的形式投射光线以进行对象交叉或拾取很有用。

  • void set_cull_mask_bit ( int layer, bool enable )

通过指定宽度和 nearfar 以世界空间单位剪裁平面。(作为提示,二维游戏通常使用这种投影,其值以像素为单位指定)

通过指定 fov 角度(以度为单位)(FOV表示视场),以及 nearfar 以世界空间单位剪裁平面。

返回中的二维坐标 Viewport 在世界空间中映射到给定三维点的矩形。