Camera
继承
简要描述
摄像机节点,从角度显示。
描述
相机是一个特殊节点,显示从其当前位置可见的内容。
成员
类型 | 属性名 | 默认值 |
---|---|---|
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)
通过指定size
,offset
以及z_near
和`,将相机投影设置为平截头体模式(请参见PROJECTION_FRUSTUM)。
- set_orthogonal set_orthogonal(size: float, z_near: float, z_far: float)
通过指定世界上的size
以及z_near
和z_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点。