目录
效果
步骤
一、准备工作
二、创建画面设置界面
三、应用画面设置
四、保存画面设置
五、运动模糊与垂直同步
六、窗口化与分辨率
6.1 分辨率
6.2 窗口化
效果
步骤
一、准备工作
新建一个工程,创建游戏模式和玩家控制器,这里分别命名为“MyGameMode”和“MyPlayerController”
打开创建的游戏模式,在类默认值中设置玩家控制器为“MyPlayerController”
在世界场景设置中设置游戏模式重载为“MyGameMode”
打开“MyPlayerController”,设置显示鼠标光标
二、创建画面设置界面
1. 创建一个控件蓝图,这里命名为“SystemSettings”,表示系统设置界面
打开“SystemSettings”,添加一个按钮,我们希望该按钮点击后就弹出系统设置界面
2. 在玩家控制器中我们设置一开始就显示系统设置按钮
3. 创建一个控件蓝图,这里命名为“画面设置主界面”
打开“画面设置主界面”,先添加如下控件
4. 回到控件蓝图“SystemSettings”中,设置按钮点击后打开“画面设置主界面”
5. 接下来创建一个通用的下拉列表控件蓝图。
创建一个控件蓝图,这里命名为“通用下拉列表”
打开“通用下拉列表”,设置填充屏幕为“所需”
添加文本控件、组合框
其中在组合框中设置4个默认选项和默认选中的选项
6. 回到“画面设置主界面”中,将“通用下拉列表”添加到“滚动框”中
此时运行效果如下
7. 回到“通用下拉列表”中,添加一个文本类型的变量,命名为“修改的内容”,这里用于替换文本控件的显示内容
设置该变量为可编辑实例
将文本控件的内容绑定变量“修改的内容”
在图表中,设置事件预构造的时候就设置文本控件的内容为变量“修改的内容”的值
8. 将控件蓝图“通用下拉列表”添加到别的控件蓝图中
设置一下“修改的内容”的值
9. 回到“通用下拉列表”,当下拉框选项变化时,打印看一下选定的索引是否变化
添加一个修改画面等级设置的事件分发器
给该事件分发器添加一个整数类型的变量,变量类型设置为整型
当下拉框选项发生变化后调用该事件分发器
10. 回到“画面设置主界面”中,复制几个“通用下拉列表”,分别用于设置视图距离、抗锯齿、后期处理、阴影、纹理、特效、植物、着色
再添加一个整体设置
选中下拉列表,添加修改画面等级的事件
添加应用和关闭按钮
三、应用画面设置
当下拉选项变化时设置对应的游戏用户设置,点击应用时就应用设置,点击关闭就关闭界面
此时运行后可以看到设置改变视图距离是有效果的
完整设置如下
四、保存画面设置
如果想下次开启游戏后还是能够使用上次的画面设置结果,我们就还需添加保存画面设置的功能。
首先添加一个保存按钮。
设置保存功能
此时运行有个问题就是当我们关闭界面后,下拉框选项又恢复默认选项,因此我们需要在界面构造时获取当前的设置,然后设置下拉框选项。
此时运行可以看到即使关闭再创建界面,下拉框还是能记住用户选项
界面构造时的完整逻辑:
当用户进行整体设置时,其它选项也需要一起改变
效果如下
五、运动模糊与垂直同步
1. 新建一个控件蓝图,这里命名为“通用勾选”
从“通用下拉列表”中复制控件到“通用勾选”
设置屏幕上所需
将下拉框改为勾选框
添加一个文本类型变量
设置为可编辑实例,默认值为“设置的内容”
在控件蓝图预构造后设置文本控件的内容为变量“文本内容”
添加一个事件分发器
事件分发器添加一个输入
当勾选状态变化时调用事件分发器
2. 打开“画面设置主界面”,将通用勾选拖入,分别设置文本内容为运动模糊和垂直同步
当勾选框状态变化时逻辑如下
在事件构造后需要获取运动模糊和垂直同步状态,从而设置勾选框的状态
六、窗口化与分辨率
6.1 分辨率
在“画面设置主界面”中添加两个下拉列表,分别命名为“分辨率设置”和“窗口化设置”
由于分辨率的下拉选项有所不同,因此需要在控件蓝图构造时设置所有的下拉选项,并且设置好默认选项
当切换选项时设置屏幕分辨率
6.2 窗口化
在控件蓝图“画面设置主界面”中添加一个变量,这里命名为“窗口模式选项列表”
设置变量类型为“E窗口模式”、数组,再添加全屏、窗口化全屏和窗口化三个元素
设置窗口化下拉框包含的三个选项名称
选择窗口化选项的响应逻辑:
或
运行效果如下
参考视频:
https://www.bilibili.com/video/BV1Vm4y1m7W5/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8