CameraComponent (添加一个摄像机视角)和 SpringArmComponent (使其子项延长固定距离,然后在发生碰撞时收回),这两个组件一起使用,可提供一个第三人称视角,您可在游戏世界中对其进行各种调节。
Camera Component (摄像机组件)
摄像机组件可以让您添加一个摄像机视角作为 Actor 的子对象。如果 ViewTarget 是 CameraActor,或者 Actor 包含摄像机组件且它的 bFindCameraComponentWhenViewTarget 选项设置为 True。
例如,如果在游戏过程中,您想要在关卡中切换多个摄像机 。通过使用 SetViewTargetWithBlend 和 CameraActor,您可在各摄像机之间进行切换,并使用在 CameraActor 中为各摄像机定义的属性(包括视野、角度或任何后处理效果等)。
bTakeCameraControlWhenPossessed 是可以为任何 Pawn 设置的相关属性,被 PlayerController 占有时,Pawn 会自动成为 ViewTarget。比如,如果您有多个想要切换的人物(以 Pawn 形式存在),且对每个人物都指派了各自的摄像机组件并提供了摄像机视角,则您想要在各人物之间进行切换时,可将各人物的 bTakeCameraControlWhenPossessed 设为 true,这样就可以使用各人物的摄像机组件了(可对每个摄像机组件定义各自的属性和设置)。
Spring Arm Component (弹簧臂组件)
弹簧臂组件会努力与其子对象之间保持一个固定距离,但如果发生碰撞,就会使子对象收回,如果没有碰撞,则使之发生回弹。通常,弹簧臂组件用作“摄像机摇臂”,可防止玩家的跟拍摄像机在游戏时间中发生碰撞(没有弹簧臂组件,则摄像机组件将保持指定的固定距离,无论是可能会挡住它去路的对象,还是它所跟随的对象),请参见使用弹簧臂组件 。
上图中的摄像机组件 (Camera) 和弹簧臂组件(红线)用于为人物创建第三人称视角。
您可在弹簧臂组件上调节多个摄像机相关属性,比如 TargetArmLength(该属性是不存在碰撞时的弹簧臂自然长度),Probe Size(该属性用于设置检查碰撞时探头的尺寸),以及 CameraLag(当您想要让摄像机稍稍滞后于其所跟随的对象时,该属性很有用)。