名词解释
修饰符(Modifier) 是一个专门的蓝图类,你可以将其添加到虚拟摄像机中来创建自定义效果和行为。使用修饰符,你可以通过虚拟摄影机模拟真实摄影机行为,如摄影机晃动、焦点调整和曝光更改。
1、启用插件
单击 设置(Settings) > 插件(Plugins) 以打开 插件(Plugins) 菜单。
搜索 VirtualCamera、Take Recorder 和 Live Link 插件并启用它们。
重新启动编辑器。
2、准备实体相机
选用苹果手机,安卓手机还在探索中。
需要手机支持ARKit,ARKit 要求使用 iOS 11.0 或更高版本,以及搭载 A9 或更新处理器的 iOS 设备。
从App Store中将 Live Link VCAM应用 下载到手机上
3、添加虚拟摄像机Actor
选择 虚拟制片(Virtual Production) 类目,然后单击 VCam Actor 并将其拖到场景中。
4、连接相机
大纲视图(World Outliner) 面板中,选择VCamActor对象,转到 细节(Details) 面板,然后选择 VCam 组件。
在VCam组件的属性中,Virtual Camera栏下,勾选“Enabled"复选框;
在手机上启动Live Link VCAM应用,然后按要求输入电脑的Ip地址,点击连接即可。
5、虚实同步
选择 虚拟制片(Virtual Production) 类目,选择live link,会打开Live Link视图。注意,没有live link,手机相机驱动不了。此时会看到,Source中有了时尚圈,其下列表有Pixel Streaming : vcam,并处理激活状态
现在手机移动,编辑器的视图会发生相应的变化。通过使用iOS设备的 ARKit 功能,设备的物理 位置 和 旋转 可实时控制虚拟摄像机在项目中的位置和旋转。
当然,也可以在手机上使用VCam界面。
实现上述操作后,基本功能已经很丰富了,下面的步骤大家可以玩一下,这些高级的用法可以丰富强大很多的功能。
5、使用Take Recorder来录制项目动画场景和角色的序列或镜头
在 菜单栏 中,转到 窗口(Window) > 过场动画(Cinematics) > Take Recorder。
点击 录制(Recording) 图标开始录制,再次点击该图标结束录制。
6、虚拟摄像机功能按钮
虚拟摄像机的 控制器界面 有一系列功能按钮和设置,通过这些功能按钮和设置可以修改使用外部设备时虚拟摄像机的外观和行为。
通过使用手机的 ARKit 功能,在手机上也可实时控制虚拟摄像机在项目中的位置和旋转。
包括调整F值、焦距、镜头、胶片背板、曝光、近裁剪平面、自定义遮罩、轴缩放、摄像机位置,使用书签,使用虚拟摇杆,查看录制信息等等
7、创建过场动画摄像机Actor
过场动画(Cinematic) 类别,然后点击 过场动画摄像机Actor(Cine Camera Actor) 并将其拖动到场景中。
将先前添加的VCam Actor拖放到Cine Camera Actor之下。
选择过场动画摄像机Actor之后,前往 细节(Details) 面板并选择 CameraComponent 。
点击 添加组件(Add Component) 按钮,搜索并添加 VCam 组件,并确保VCam组件是CameraComponent的子项,且与Live Link面板下的VCam同名,且VCam组件下子项“live link subject"选择为上面的”vcam“而不是none,否则后面就能控制。
8、创建修饰符
在内容浏览器中,点击 (+)添加((+) Add) ,然后选择 VCam > VCam修饰符(VCam Modifier) 。
虚幻编辑器会提示你添加输入映射上下文,点击跳过,蓝图命名为 VCM_LookAt ,然后双击将其打开。
9、设置Actor引用变量
Actor引用变量(Actor Reference Variable) 来引用虚拟摄像机跟踪的主体。
在 我的蓝图(My Blueprint) 选项卡中,找到 变量(Variables) ,点击加号 (+) ,并新增一个 TargetActor 变量。
对象类型(Object Types) > Actor > 对象引用(Object Reference) ,将其更改为 Actor对象引用(Actor Object Reference) 。
在变量的 细节(Details) 面板中,启用 实例可编辑(Instance Editable) 属性。
保存(Save) 并 编译(Compile) 修饰符蓝图。
10、创建蓝图逻辑
将 TargetActor 变量拖入 事件图表(Event Graph) ,然后在上下文菜单中选择 Get TargetActor 选项。
创建一个 Is Valid 节点并将其连接到 目标Actor变量(Target Actor Variables) 输出引脚。
将图表的 Event on Apply 节点连接到 Is Valid 执行引脚。
从 Event on Apply 节点的 摄像机组件(Camera Component) 引脚创建并连接一个 Get World Location 节点。
从 Target Actor 节点创建并连接一个 Get Actor Location 节点。
创建一个 Find Look at Rotation 节点,将其连接到 Get World Location 节点的 返回值(Return Value) 引脚。
将 Get Actor Location 节点的 返回值(Return Value) 引脚连接到 Find Look at Rotation 节点的 目标(Target) 引脚。
从 Event On Apply 节点的 摄像机组件(Camera Component) 引脚拖出一根引线,然后搜索并选择 Set World Rotation 。
将 Is Valid 节点的 Is Valid 引脚连接到 Set World Rotation 节点。将 Find Look at Rotation 节点的 返回值(Return Value) 引脚连接到 Set World Rotation 节点的 新旋转(New Rotation) 引脚。
11、添加主体
从放置Actor(Place Actors) 选项卡中拖动任意基本游戏对象到关卡,并将其放置到 视口(Viewport) 中。
12、将修饰符添加到堆栈
选择细节中的Cine Camera Actor--VCamActor,在组件层级内选择 VCam 组件,找到 修饰符堆栈(Modifier Stack) ,然后点击加号 (+)
输入修饰符的名称,例如 LookAt 。添加名称后,后续你可以在蓝图中引用此修饰符。
点击 已生成修饰符(Generated Modifier) 的 下拉箭头 ,并从列表中选择先前定义的蓝图“VCM_LookAt”。
展开其下的 默认(Default) 分段,并点击 目标Actor(Target Actor) 下拉菜单。选择你添加到关卡的 球体(Sphere) Actor。
13、控制球体
现在操作手机摄像头,应该可以控制球体了。
14、绑定游戏手柄
摄像机的位置和旋转将直接通过摇杆控制,而不再通过设备的移动来控制,这样方便控制。