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++制作应用程序的启动画面呢 ...
随机推荐
- 利用GDB进行多线程调试
一.多线程调试 多线程调试重要就是下面几个命令: info thread 查看当前进程的线程. thread <ID> 切换调试的线程为指定ID的线程. break file.c:100 ...
- ST-4
1.(49-7)使用下面的方法printPrimes()完成后面的问题: (a)为printPrimes()方法画控制流图. (b)考虑测试用例t1=(n=3)和t2=(n=5).即使这些测试用例游历 ...
- NSLog (Log信息的输出)
概述 NSLog是 cocoa的框架中提供的一个方法 NSLog的定义 NSLog定义在NSObjCRuntime.h中 NSLog与printf的差异 1)NSLog传递进去的格式化字符是NSStr ...
- 从Python小白到第一个小游戏发布
1.安装必要的环境(附图两张) 直接下载安装程序,本人win10系统,根据电脑系统下载并安装对应的python.exe,安装路径可以选择D盘的,具体安装细节这里就不说了,不知道的可以留言或者找度娘 2 ...
- 属于自己的MES(一)概念
什么叫MES(生产制造执行系统)? 从几个方面来简单说下: 1.定位 没有MES前的工厂生产模式,公司MRP系统与生产现场之间透过人为方式沟通,使生产现场如同黑箱作业,无法掌握实时正确信息. MES的 ...
- hdu1213 How Many Tables 并查集的简单应用
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 简单的并查集 代码: #include<iostream> #include< ...
- 反序列py脚本分享(原创)
代码如下: #!/usr/bin/env python # coding=utf-8 import socket import sys import requests import base64 im ...
- 全景智慧城市——NOW!!!VRSHOPPING颠覆你的购物认知!
互联网+时代,人们对现有的网络资源已经不再感冒,一般的图片.文字信息已经无法满足人们对互联网的需求,虚拟现实.身临其境的体验是不可小觑的发展趋势,尤其是VR逛街.购物,更会深入人心,再次改变人们的生活 ...
- ThinkPHP集成万象优图
项目原因 不告诉你,反正需要把腾讯云的万象优图整合进来. 下载PHP版的万象优图的SDK 下载地址:https://github.com/tencentyun/image-php-sdk git cl ...
- Day5模块-random模块
random:随机数 >>> import random>>> print(random.random()) #生成随机小数0.6906362176182085 & ...