UE4 根据相机名称实现镜头跳转

 注:通过阅读EPIC官方蓝图项目 M777 Howitzer Artillery (West)获得

一:在合适位置添加相机:CameraActor

 

​二:按钮点击调用视口切换逻辑

具体实现

       主UI接收按钮的编号CameraIndex,根据编号选择对应编号的CameraActor

 

1:函数解读一GetVehicleSetup:

              调用此函数(函数位于BP_GameState),通过遍历Vehicles接口类型数组,判断是否存在对应编号的接口

       1.1:数组Vehicles赋值:

       GameState事件图表,获得继承了接口BP_ShowcaseControllerInterfance的所有Actor,并从Actor中获得继承了BP_ShowcaseSetupInterfance的组件,将此组件的接口通过添加函数Add_Vehicle添加入数组Vehicles中

如此 通过函数GetVehicleSetup 可以获得继承了对应按钮编号的组件的蓝图接口

2:函数解读二 GetShowcaseCamera获取对应按钮编号的相机

调用继承了接口BP_ShoucaseSetupInterfance的组件BP_ShowcaseSetupComponent中的GetShowCamera函数

通过传递过来的按钮编号,从相机数组ShowcaseCameras中提取CameraActor

2.1:相机数组ShowcaseCamera的赋值

       在目标蓝图中添加组件BP_ShoecaseSetupComponent

在场景中对相机数组ShowcaseCamera赋值

总体思路:按钮传递编号(即选择需要跳转的相机)--->主UI接收按钮编号并具体实现相机切换逻辑--->从GameState中获得继承了接口的组件(目的是找到组件)从而获得接口--->通过接口从组件中的相机数组中挑选对应编号的相机--->目标添加组件并在场景实例中对组件的ShowcaseCamere相机数组进行具体赋值。

拓展:如果存在多个目标,即连接主UI中的Slot即可,如下图:

函数:GetShowcaseSlot

       组件BP_ShowcaseSteupComponent中实现

Slot的赋值同ShowcaseCamere赋值一样,在场景实例中赋值

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值