ue4玄学画面设置实现
pc端项目临近发布之时,免不了向玩家提供一些自订选项,以适应各自的习惯和机能,画面设置就是必要的一环。
主要的画面选项有:
1.全屏/窗口化
2.分辨率
3.视野距离
4.抗锯齿
5.后期处理
6.阴影质量
7.贴图质量
8.特效
9.植被质量
上述选项对fps影响最大的其实还是分辨率,阴影质量如果开到0档就完全没有人影十分诡异,贴图质量以现在电脑的内存而言一般都能开到最高,对应的代码分别是:
APlayerController* PController = UGameplayStatics::GetPlayerController(gamemode->GetWorld(), 0);
PController->ConsoleCommand(TEXT("t.MaxFPS 144"), true);//先设置最大fps UGameUserSettings* MyGameSettings = GEngine->GetGameUserSettings();
MyGameSettings->SetFullscreenMode(EWindowMode::Fullscreen);
MyGameSettings->ApplySettings(true);//这句必须紧跟全屏才能立即全屏,不知为何 PController->ConsoleCommand(TEXT("r.setres " + resolutionnow), true);//先设置分辨率(形如1920x1080f,1280x720f)
//如果用的是MyGameSettings形式设置分辨率会导致不能立即全屏,原因也不详 //接下来为了方便起见,以一个总体画质变量general_quality来设置
MyGameSettings->SetViewDistanceQuality(general_quality);
MyGameSettings->SetAntiAliasingQuality(general_quality);
MyGameSettings->SetPostProcessingQuality(general_quality);
MyGameSettings->SetShadowQuality(general_quality);
MyGameSettings->SetTextureQuality(general_quality);
MyGameSettings->SetVisualEffectQuality(general_quality);
MyGameSettings->SetFoliageQuality(general_quality); MyGameSettings->SaveSettings();
然而这样设置看似非常正确,实则还有问题。
每次设置画面之后的确能立即变更画质,然而下一次重新开启游戏后画面选项仍旧回到了引擎默认设置,至少需要再点一次应用设置才能见效,非常地离奇。
我查阅了一下log发现每次新打开游戏进行上述设置之后,这些选项会自动被设置回来。
于是我只好使出杀手锏——运行两次大法,也就是把上述代码段执行两次。。
for (int i = ; i < ; i++)
{
//。。。。。。。。
}
结果成功解决了!!!
ue4玄学画面设置实现的更多相关文章
- iOS7的启动画面设置及asset catalogs简介
如果上网搜索一下“iOS App图标设置”或者“iOS App启动画面设置”肯定能找到不少文章,但内容大多雷同,就是让你按照某种尺寸制作若干张png图片,再按照苹果的命名规范,加入到项目中去,一行代码 ...
- [UE4]Montage动画设置Slot
最后一张图看下,配合官网motage教程,容易理解push anim具体用法 http://aigo.iteye.com/blog/2277545 如何新建一个Montage的步骤这里省略了,网上很多 ...
- [UE4]图片按钮设置技巧
- [UE4]编辑器偏好设置,在同一个窗口以标签打开蓝图
- LcdTools如何实现PX01设置不同的画面不同的背光亮度
背光驱动分两种原理:恒压模式和恒流模式.恒压背光顾名思义提供恒定电压即可,这种屏正常来讲自带背光驱动电路,只需提供背光工作电压.背光使能和背光调光占空比控制.恒流背光指屏的背光只有纯灯串,需外部提供相 ...
- UE4关于Oculus Rift (VR)开发忠告
转自:http://blog.csdn.net/cartzhang/article/details/42493843 UE4虚拟现实 实现的注意事项 https://docs.unrealengine ...
- iOS 启动画面 代码自定义
先来看一个可能会遇到的问题: 如果你已经删除了xcode为你的项目自动生成的LaunchScreen.storyboard, 然后你在测试你的app的时候发现,屏幕里出现了黑色的区域,如上图(画红线的 ...
- 重新打开singleTask画面时传值问题
记录学习之用 大家都知道假如当我们的A画面设置了android:launchMode="singleTask"时,从A画面跳到B画面之前没有finishA画面,然后在B画面使用st ...
- 用VC制作应用程序启动画面
摘 要:本文提供了四种启动画面制作方法. 使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序):二是 可以用来显示软件名称和版权等提示信息.怎样使用VC++制作应用程序的启动画面呢 ...
随机推荐
- 为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
B树: B+树 1) B+-tree的磁盘读写代价更低 B+-tree的内部结点并没有指向关键字具体信息的指针.因此其内部结点相对B 树更小.如果把所有同一内部结点的关键字存放在同一盘块中,那么盘块所 ...
- [Git]06 如何提交空目录
git和 svn不同,仅仅跟踪文件的变动,不跟踪目录.所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的. 只跟踪文件 ...
- yum 安装vim编辑器
在我们使用的vi编辑器中没有配色不是很好用,我们安装一个vim富文本编辑器方便我们的文本编辑. [root@localhost ~]# yum install vim -y已加载插件:fastestm ...
- Struts2拦截器登录验证
Struts2拦截器 Struts2拦截器的概念和Spring Mvc拦截器一样. Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截 ...
- javascript ES3小测试
一.温故知新 做做题,总是能有温故知新的体验.这套题是2010年的了,比较老了, http://perfectionkills.com/ 还有一套http://perfectionkills.com ...
- 从零开始构建一个的asp.net Core 项目(二)
接着上一篇博客继续进行.上一篇博客只是显示了简单的MVC视图页,这篇博客接着进行,连接上数据库,进行简单的CRUD. 首先我在Controllers文件夹点击右键,添加->控制器 弹出的对话框中 ...
- Maven的简单搭建
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.接下来将从下面几个方向介绍maven: (1)Maven简单介绍 (2)Maven安装与配置 (3)Maven ...
- 关于“foreach循环”中遇到的几个问题总结
1.列表页面用"foreach循环"的时候数据没有显示,此时需要检查你对象模型中属性的首字母是否大写,切记不能大写(本人在做一个项目的时候,对象模型是别人建立的,属性首字母大写了, ...
- LINQ基础(一)
LINQ(Language Integrated Query,语言集成查询),在C#语言中集成了查询语法,可以用相同的语法访问不同的数据源. LINQ提供了不同数据源的抽象层,所以可以使用相同的语法. ...
- miller_rabin算法检测生成大素数的RSA算法实现
import math from functools import reduce #用于合并字符 from os import urandom #系统随机的字符 import binascii # ...