照相机¶
Inherits: Spatial < Node < Object
继承人: ARVRCamera , ClippedCamera , InterpolatedCamera
类别: 核心
简要说明¶
摄像机节点,从视角显示。
属性¶
1048575 |
||
假 |
||
0 |
||
100.0 |
||
70.0 |
||
矢量2(0,0) |
||
0.0 |
||
1 |
||
0.05 |
||
0 |
||
1.0 |
||
0.0 |
方法¶
无效 |
clear_current ( bool enable_next=true ) |
get_camera_rid ( ) const |
|
get_camera_transform ( ) const |
|
get_cull_mask_bit ( int layer ) const |
|
get_frustum ( ) const |
|
is_position_behind ( Vector3 world_point ) const |
|
无效 |
make_current ( ) |
project_local_ray_normal ( Vector2 screen_point ) const |
|
project_position ( Vector2 screen_point, float z_depth=0 ) const |
|
project_ray_normal ( Vector2 screen_point ) const |
|
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 ) |
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渲染层的剔除遮罩。
bool current
违约 |
假 |
设定器 |
设置电流(值) |
吸气剂 |
是“当前”() |
如果 true
,祖先 Viewport 当前正在使用此摄像头。
DopplerTracking doppler_tracking
违约 |
0 |
设定器 |
设置多普勒跟踪(值) |
吸气剂 |
获取多普勒跟踪 |
如果没有 DOPPLER_TRACKING_DISABLED ,这台相机将模拟多普勒效应,特别是改变的物体。 _process
方法。见 DopplerTracking 对于可能的值。
Environment environment
设定器 |
设置环境(值) |
吸气剂 |
获取环境() |
这个 Environment 用于此摄像头。
float far
违约 |
100.0 |
设定器 |
设置zfar(值) |
吸气剂 |
获取_zfar() |
相对于相机的局部Z轴到远剔除边界的距离。
float fov
违约 |
70.0 |
设定器 |
设置FOV(值) |
吸气剂 |
获取foov() |
相机的视场角度(以度为单位)。仅适用于透视模式。自从 keep_aspect 锁定一个轴, fov
设置另一个轴的视场角度。
Vector2 frustum_offset
违约 |
矢量2(0,0) |
设定器 |
设置截锥偏移(值) |
吸气剂 |
获取截锥偏移量() |
float h_offset
违约 |
0.0 |
设定器 |
设置偏移量(值) |
吸气剂 |
获取_h_偏移量() |
相机视区的水平(X)偏移。
KeepAspect keep_aspect
违约 |
1 |
设定器 |
设置“保持”模式(值) |
吸气剂 |
获取“保持”方面的“模式”() |
要锁定的轴 fov/size 调整。可以是 KEEP_WIDTH 或 KEEP_HEIGHT .
float near
违约 |
0.05 |
设定器 |
设定值 |
吸气剂 |
获取_znear() |
相对于相机的局部Z轴,到该相机的近剔除边界的距离。
Projection projection
违约 |
0 |
设定器 |
设置投影(值) |
吸气剂 |
获取_投影() |
相机的投影模式。在 PROJECTION_PERSPECTIVE 模式,对象与相机局部空间的Z距离缩放其感知的大小。
float size
违约 |
1.0 |
设定器 |
设置大小(值) |
吸气剂 |
获取u大小() |
相机的尺寸是宽度或高度的1/2。仅适用于正交模式。自从 keep_aspect 轴上的锁, size
设置另一个轴的大小长度。
float v_offset
违约 |
0.0 |
设定器 |
设置偏移量(值) |
吸气剂 |
获取“偏移量”() |
相机视区的垂直(Y)偏移。
方法说明¶
void clear_current ( bool enable_next=true )
如果这是当前摄像头,请将其从当前摄像头中删除。如果 enable_next
是 true
,请求使下一个摄像头成为当前摄像头(如果有)。
RID get_camera_rid ( ) const
将摄像头的RID从 VisualServer .
Transform get_camera_transform ( ) const
获取相机转换。子类摄像机,如 InterpolatedCamera 可以提供不同于 Node 转换。
Array get_frustum ( ) const
返回 true
如果给定位置在摄像机后面。
注: 返回的位置 false
可能仍在摄像机视野之外。
void make_current ( )
使此摄像头成为 Viewport (见类别说明)。如果摄影机节点在场景树之外,则添加后将尝试变为当前节点。
从沿相机定向的屏幕点位置返回法向量。正交摄像机是标准化的。透视照相机可以显示透视效果、屏幕宽度/高度等。
返回世界空间中映射到给定二维坐标的三维点 Viewport 一个平面上的矩形,它是进入场景的给定距离,远离相机。
返回Worldspace中的法向量,这是将点投影到 Viewport 由摄像机投影的矩形。这对于以(原点、法线)的形式投射光线以进行对象交叉或拾取很有用。
返回WorldSpace中的三维位置,这是将点投影到 Viewport 由摄像机投影的矩形。这对于以(原点、法线)的形式投射光线以进行对象交叉或拾取很有用。
通过指定宽度和 near
和 far
以世界空间单位剪裁平面。(作为提示,二维游戏通常使用这种投影,其值以像素为单位指定)
通过指定 fov
角度(以度为单位)(FOV表示视场),以及 near
和 far
以世界空间单位剪裁平面。
返回中的二维坐标 Viewport 在世界空间中映射到给定三维点的矩形。