使用静态摄像机

关于如何在蓝图中查找 Actor 的操作指南。

Windows
MacOS
Linux
On this page

在这份操作指南中,我们要看看如何创建静态(或固定)摄像机角度,使之可用作游戏中的玩家视角。在完成本次教程后,您可以将我们所用的流程用于您自己的游戏,从而为玩家设置一个固定视角用来观察您的游戏。

在这个示例中,我们将使用 Blueprint Third Person Template 项目并包含 Starter Content

  1. Modes 菜单(位于 放置模式 )中,搜索 Camera,然后将一个摄像机拖到关卡中。

    camera_bp1.png

    您可以将摄像机 Actor 放置在您希望设置玩家视角的位置上。为了更好的理解玩家视角,您可以从摄像机的视点上获取一个第一人称视角,为此需要将视区锁定到摄像机 Actor 并进入 Pilot 模式。

  2. 在关卡中选择的摄像机上 Right-click,然后从弹出菜单中选择 Pilot 'CameraActor'

    camera_bp2.png

    现在,您可以在使用 WASD 按键的同时按住 LeftRight Mouse Button,从而在视区周围移动。当您在关卡内飞行时,摄像机的位置将随着您的动作而移动,让您在游戏中获得与摄像机一致的视角。

  3. 要解锁摄像机,请单击 Unlock 按钮。

    camera_bp3.png

    当您选择解锁时,摄像机将保留在结果位置。

    "解锁"(Unlock)旁边的图标用于切换游戏内摄像机视图或关卡编辑器视图。

  4. 在关卡中选择 Camera Actor,单击主工具栏上的 Blueprints 按钮,然后选择 Open Level Blueprint

    camera_bp4.png

  5. Level Blueprint 中,Right-click 图表窗口的任意位置,然后选择 Create a Reference to CameraActor

    camera_bp5.png

    通过添加一个对 Camera Actor 的引用,Level Blueprint 现在可以知道我们在关卡中所指的那个摄像机(我们可能在关卡内设置有多个摄像机)。

  6. 再次 Right-click 图表,搜索并添加 Event Begin Play 节点。

    camera_bp6.png

    这个节点仅执行一次,而且会在游戏启动后执行其后面发生的一切。

  7. 再次 Right-click 图表,搜索 Set View Target 并选择 Set View Target with Blend 节点。

    camera_bp7.png

    您可能需要取消勾选 Context Sensitive 复选框,才能让这个节点出现在列表中。

  8. 再一次 Right-click 图表,然后添加 Get Player Controller 节点。

    camera_bp8.png

    为了便于查找该节点,您可以重新选中 Context Sensitive 复选框。

  9. 按以下方式连接节点。

    camera_bp9.png

    我们在 Event Begin Play(游戏启动)时,针对 Player Controller 索引 0(默认玩家)Set View Target with Blend(将视角)设置为 CameraActor(新的查看目标)。

    Set View Target with Blend 节点上的其他选项可实现持续混合、指定所用的混合类型,或是指定控制混合时所用的任何指数;您也可以针对混合锁定传出视图目标(全都保留默认设置)。

  10. 单击 Compile 完成操作,然后关闭蓝图窗口。

    camera_bp10.png

  11. 在主编辑器视图中,单击 Play 按钮在编辑器中运行程序。

最终结果

现在,您可以看到在游戏启动时,玩家视角被分配至/正在使用您在关卡中放置的 Camera Actor。您可能还注意到视图被施加了银幕效果;要禁用此效果, 您可以取消选中 Constrain Aspect Ratio 选项(在 Camera ActorDetails 面板内)。

camera_bp12.png

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback