赞
踩
注:通过阅读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赋值一样,在场景实例中赋值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。