这个在一搬的UE开发中难以遇到,这也导致中文互联网没有针对于本问题的一个介绍。
问题就是虚幻引擎标准限制分辨率为640X480
发现这个问题是在开发一套程序时偶然发现(平时使用unity,unity没有此类限制),这个问题在编辑器下设置分辨率模拟时并不会触发日志错误警告,可能独立进程游戏模式会发现?没试过。
国内没有讨论这个问题的帖子,通过Google检索到在UnrealEngine论坛上有开发者讨论过这个问题,但无人回复。即下面这个帖子:
定位到UE源码(需要有仓库访问权限),可以看到源码中是对Windows平台做了分辨率限制,是个const 常量值。
const int32 MinResolution[] = {640,480};
if ( ::GetSystemMetrics(SM_CXSCREEN) < MinResolution[0] || ::GetSystemMetrics(SM_CYSCREEN) < MinResolution[1] )
{
FMessageDialog::Open( EAppMsgType::Ok, NSLOCTEXT("Launch", "Error_ResolutionTooLow", "The current resolution is too low to run this game.") );
FPlatformMisc::RequestExit( false, TEXT("FWindowsPlatformMisc::PlatformPreInit.ResolutionTooLow"));
}判断是发生在Windows平台预初始化函数时,如果分辨率不满足其中一条,则会弹窗提示错误信息The current resolution is too low to run this game. 。
目前尚不可得知通过源码构建修改此处限制能否突破本限制;源码构建光引擎占用300G+,而且编译费时,毕竟这个问题碰到一次下次就会规避了,不太可能多次碰到本问题。
另一种解决方案就是创建虚假分辨率,以骗过引擎。
总之,尽量不要使用这个分辨率,省事又不闹心。
评论