GFCameraRig3D¶
API Reference / Camera / 类索引
- 路径:
addons/gf/extensions/camera/nodes/gf_camera_rig_3d.gd - 模块:
Camera - 继承:
Node3D - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
3.17.0
通用 3D 相机姿态提供节点。 Rig 只计算期望 Camera3D Transform,不直接控制 Camera3D。 项目可用多个 Rig 表达不同视角,再交给 GFCameraDirector3D 按优先级选择。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | active_changed |
signal active_changed(active: bool) |
| 信号 | priority_changed |
signal priority_changed(priority: int) |
| 属性 | active |
var active: bool = true: |
| 属性 | priority |
var priority: int = 0: |
| 属性 | target_path |
var target_path: NodePath = NodePath("") |
| 属性 | look_at_target_path |
var look_at_target_path: NodePath = NodePath("") |
| 属性 | offset |
var offset: Vector3 = Vector3.ZERO |
| 属性 | offset_follows_rotation |
var offset_follows_rotation: bool = false |
| 属性 | use_target_rotation |
var use_target_rotation: bool = true |
| 属性 | look_at_enabled |
var look_at_enabled: bool = false |
| 属性 | up_axis |
var up_axis: Vector3 = Vector3.UP |
| 属性 | rotation_degrees_offset |
var rotation_degrees_offset: Vector3 = Vector3.ZERO |
| 属性 | blend |
var blend: GFCameraBlend = null |
| 属性 | group_name |
var group_name: StringName = &"gf_camera_rig_3d" |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | get_target_node |
func get_target_node() -> Node3D: |
| 方法 | get_look_at_target_node |
func get_look_at_target_node() -> Node3D: |
| 方法 | get_camera_transform |
func get_camera_transform() -> Transform3D: |
| 方法 | is_available |
func is_available() -> bool: |
信号¶
active_changed¶
- API:
public
Rig 激活状态变化后发出。
参数:
| 名称 | 说明 |
|---|---|
active |
当前是否激活。 |
priority_changed¶
- API:
public
Rig 优先级变化后发出。
参数:
| 名称 | 说明 |
|---|---|
priority |
当前优先级。 |
属性¶
active¶
- API:
public
是否参与 Director 选择。
priority¶
- API:
public
选择优先级。数值越大越优先。
target_path¶
- API:
public
可选跟随目标。为空时使用 Rig 自身的全局姿态。
look_at_target_path¶
- API:
public
可选朝向目标。look_at_enabled 为 true 时生效。
offset¶
- API:
public
位置偏移。
offset_follows_rotation¶
- API:
public
偏移是否跟随目标旋转。
use_target_rotation¶
- API:
public
是否读取目标旋转。
look_at_enabled¶
- API:
public
是否朝向 look_at_target_path。
up_axis¶
- API:
public
look_at 使用的上方向。为零向量时会回退到 Vector3.UP。
rotation_degrees_offset¶
- API:
public
额外旋转偏移,单位度。
blend¶
- API:
public
进入该 Rig 时使用的过渡。为空时使用 Director 默认过渡。
group_name¶
- API:
public
自动加入的分组名。Director 可按该分组收集候选。
metadata¶
- API:
public
项目自定义元数据。框架不解释该字段。
结构:
metadata: Dictionary,项目自定义元数据;框架不会读取或改写其中字段。
方法¶
get_target_node¶
- API:
public
获取跟随目标。
返回:目标 Node3D;不存在时返回 null。
get_look_at_target_node¶
- API:
public
获取朝向目标。
返回:目标 Node3D;不存在时返回 null。
get_camera_transform¶
- API:
public
获取当前期望相机 Transform。
返回:期望全局 Transform。
is_available¶
- API:
public
检查 Rig 是否可被选择。
返回:可用时返回 true。