1、准备好要交互的控件蓝图(WidgetBlueprint),添加要响应的事件(如:按键点击(OnClicked)、按键按下(OnPressed)),或设置滚动条等控件的交互方式。
2、在要显示3D控件的蓝图中添加WidgetComponent组件,然后在该组件的细节(Details)面板中的交互(Interaction)栏下勾选接收硬件输入项(ReceiveHardwareInput)。
3、在玩家角色蓝图的相机组件(CameraComponent)下添加空间交互组件(WidgetInteractionComponent),然后再设置该组件的细节(Details)面板,如下:
其中交互距离(InteractionDistance)设置大一些,显示调试(ShowDebug)根据调试情况可勾选或不勾选。
4、在内容浏览器中的自定义路径中,创建输入动作(InputAction)资源文件IA_Click和IA_wheel,值类型(ValueType)分别为数字布尔(Digital bool)和一维轴浮点(Axis1D float)类型。
5、创建输入映射关联(InputMappingContext)资源文件IMC_MouseClickWheel。打开该文件,在映射栏中添加IA_Click和IA_wheel输入动作,分别添加控制绑定映射,设置硬件输入关联,主要为鼠标左键(LeftMouseButton)和鼠标滚轮轴(MouseWheelAxis)
6、在玩家角色蓝图中添加蓝图节点如下,为玩家控制器添加输入映射关联(AddMappingContext)为IMC_MouseClickWheel
7、在蓝图图表中添加输入动作事件IA_Click和IA_wheel,并分别为事件逻辑引脚添加控件交互动作的信号源,如下
至此就已完成了WidgetComponent交互的主要过程,可以响应控件蓝图中控件的点击、按下、释放、滚动了。
版权归原作者 nachuntian 所有, 如有侵权,请联系我们删除。