DCS环境下的多屏幕设置(A-10C,Ka-50)
有人问,所以应景写个简单的小教程,时间有限,可能会有地方说的很简约,但我会尽量把原理和意思说清楚,至于自己回去搞不搞得定,看个人理解能力和人品了{:soso_e113:},好了,废话少说,以A-10C为例,现在开始:一、先来理解ED的DCS各个游戏中的多屏设置是个什么原理
这个是游戏中选项里的屏幕设置选项:
首先,不要被这个下拉菜单中的1 Screen,3 Screen这些字样所迷惑,就认为这是针对单屏或者三屏的相应选择,其实,DCS这里的Screen的意思只是说,游戏画面是被分割为了几个窗口,事实上DCS是不管你物理上有几台显示器的,它只是按照显示设置里的分辨率来进行这种窗口分割。
如果你只有一个显示器,你可以尝试着在这个下拉里选择不同的设置后,进游戏看是个什么样子,这时你会发现如下图这般的变化:
你可以发现,DCS只是在当前分辨率的条件下对画面进行了不同的分割罢了!所以,分辨率的正确设置在多屏环境下很重要!
二、多屏分辨率在游戏里的设置(以双屏为例,三屏类推)
[*]如果两个显示器尺寸一致、分辨率相同,那么就很简单了,在游戏分辨率设置里:
宽度 = 显示器的分辨率宽度*2;
高度 = 原高度
[*]如果两个显示器尺寸不一致、分辨率不同,在游戏分辨率设置里:
宽度 = 大显示器宽度 + 小显示器宽度;
高度 = 两个显示器高度大的那个值
举例:
1、两个相同尺寸的1280*1024组双屏,游戏中分辨率设置为:2560*1024
2、一个1280*1024的显示器和一个1024*768的显示器,根据显示器不同的摆放设置,可以设置为:2304*1024(两个屏都横着摆放,如下图中的B,红色部位在游戏中将没有显示)或者2048*1024(大屏横着,小屏竖着摆放,如下图中的A,是最佳摆放位置)
分辨率设置好了之后,后面对游戏中的画面的分割设置就以此分辨率为基准,后文讲到的分辨率均为这个分辨率而非单屏的分辨率,切记!
三、游戏的MonitorSetup
不管是A-10C的单机版还是DCS World版,都是在安装目录里的\Config\MonitorSetup文件夹下修改多屏显示的配置文件。在这个文件夹下,你会发现游戏选项的Monitors下拉菜单中的选项这里都有对应的lua格式的配置文件,以LMFCD+Camera+RMFCD.lua这个为例进行讲解,打开它,内容如下:
<font size="3">_= function(p) return p; end;
name = _('MFCD'); 引号内显示的名字,即是游戏下拉菜单中显示的配置名字
Description = 'Left MFCD on the left monitor,Right MFCD on the right and camera on the center' 描述
Viewports =
{
Center =
{
x = screen.width / 3;
y = 0;
width = screen.width / 3;
height = screen.height;
viewDx = 0;
viewDy = 0;
aspect = screen.aspect / 3;
}
}
LEFT_MFCD =
{
x = 0;
y = 0;
width = screen.width / 3;
height = screen.height;
}
RIGHT_MFCD =
{
x = screen.width *(2 / 3); 右MFCD的左上角起点x坐标在整个显示宽度值的2/3
y = 0; 右MFCD的左上角起点x坐标为零,即紧贴上缘
width = screen.width / 3; 右MFCD的宽度为整个显示宽度值的三分之一
height = screen.height; 右MFCD的高度为整个显示高度值一样
}
UIMainView = Viewports.Center</font>基础知识:
[*]screen.width,游戏中设置的分辨率中的宽度值;screen.height,游戏中设置的分辨率中的高度值
[*]x、y,为所对应显示物体的坐标,以左上角为原点,x从左向右变大,y从上向下变大,最大值为游戏中设置的分辨率值
[*]Viewports,即显示游戏画面的主窗口;RIGHT_MFCD,右MFCD显示;LEFT_MFCD,左MFCD显示(如果是黑鲨,相应的是Shkval和ABRIS显示)
[*]公式都是加减乘除,自己演算
以上面的大小不一致的双屏的A图摆放设置为例(分辨率2048*1024的那个)来做这种修改,配置文件应该如下:
_= function(p) return p; end;
name = _('2 screens test');
Description = 'Left MFCD on the left monitor,Right MFCD on the right and camera on the center'
Viewports =
{
Center =
{
x = 0;
y = 0;
width = 1280;
height = 1024;
viewDx = 0;
viewDy = 0;
aspect = 1.25;
}
}
LEFT_MFCD =
{
x = 1280;
y = 0;
width = 768;
height = 1024 / 2;
}
RIGHT_MFCD =
{
x = 1280;
y = 1024 / 2;
width = 768;
height = 1024 / 2;
}
UIMainView = Viewports.Center游戏中选择了这个配置后,效果就是:
设置原理就是这样,掌握这个原理之后,不管什么样的显示器摆放位置和分辨率,都可以轻松设置,还有不懂的跟帖!{:soso_e151:}
好东西,一楼顶起来。专心学习下。以后换电脑好用这东西 技术贴留名。。。等以后买了双屏再试试:lol 管理员大人辛苦了:victory: 本帖最后由 =C.V.P=064 于 2012-8-26 11:48 编辑
飞猫总结很精辟,屏幕组合的位置是不受限制的,副屏不论在主屏位置的上下左右都可以,只要LUA档配置正确就可以。希望更多的兄弟迈入多屏时代。
另外,多屏最好使用HELIOS,19寸显示器再买套MFD框贴在显示器左右上角,会更大增加快乐省去做座舱的麻烦
附带一个=C.V.P=614/卡爷整理的帖子
DCSW平台下雙屏無線電菜單位置移位的問題
目前已經更換到DCSW 1.2.0.0的飛友在使用雙屏時,如果你的擺設方式是在左右延伸而不是上下延伸的,可能會遭遇到一個問題就是無線電的菜單因為屏幕擴展了導致移位,在ED論壇下也有發現同樣的問題的可參考他們的處理方式,經過測試是可行的,還沒動工更換雙屏配置的可以不需要重算座標了,方法如下:
1.找到DCSW安裝路徑下無線電菜單檔案的路徑位置:(如下)
DCS World/Scripts/UI/RadioCommandDialogPanel/CommandMenu.lua
找到這個LUA檔CommandMenu.lua
2.使用NOTEPAD++開啟檔案修改
3.在第55行找到(如下圖一)
menuWidth = 280
4.後面的那個數字就是你菜單在你雙屏延伸起點的座標位置,假設你的副屏位置是擺放在右側那麼,你就可以把目前顯示出來的座標值(280)+你的副屏分辨率X軸的數值,那麼就直接將這個菜單搬到主屏的起始點了
假設:你的副屏分辨率是 1366*768 那麼X軸就是1366, 1366+280=1646就是你要修改的座標數值(menuWidth =1646)
然後將CommandMenu.lua儲存即可!!
5.可以試試看是不是位置變了!!
http://a10c.dyndns.info/bbs/data/attachment/forum/201207/24/02523036hkvyn0h65iakba.png
對於雙屏使用者在使用單機或是連機時簡報以及戰積分欄位偏移的修正方法一併提到如下:
1.找到DCSW安裝路徑下下列的檔案位置:
DCS World/Scripts/UI/ Debriefing.lua
找到這個LUA檔......Debriefing.lua
2.使用NOTEPAD++開啟檔案修改
3.在第115行裡找到
window:setBounds((mw-w)*0.5, (mh-h)*0.5, w, h)
然後修改方式同前文(可參考前一篇發帖)依據你的主屏分辨率修改你的mw和mh
然後儲存即可 本帖最后由 =C.V.P=064 于 2012-8-26 11:54 编辑
在DCSW(DCS WORLD)对于加油/加弹或是更改挂载油料大幅度的修改了一个人性化的介面方式:
按下" 左ALT+' "
然後在下图出现以鼠標设置好你要的挂载后,按下OK就进入平常我们要求挂载的无线电信文回覆了,这样可以针对不同任务类型完全自行调整挂载了!!如果还不知道这个功能的人试试吧!感覺實用多了!!....
註記:對於使用雙屏的仍然會有方塊移位的問題,等找到解決方案後面再補上!!
http://a10c.dyndns.info/bbs/data/attachment/forum/201207/25/18421077i3igiqiqlhzii0.png
上面對於雙屏使用者掛載方框偏移的修正方法如下:
1.找到DCSW安裝路徑下下列的檔案位置:
DCS World/Scripts/UI/ MissionResourcesDialogs.lua
找到這個LUA檔......MissionResourcesDialogs.lua
2.使用NOTEPAD++開啟檔案修改
3.在第240及241行兩行裡找到(如下圖一)
window = base.Window.new((mw - window_width)*0.5,
(mh - window_height)*0.5,
然後修改如下:
此時必須知道你的主屏分辨率;假設主屏分辨率為1920*1080,則將 mw 修改為 1920,mh 修改為 1080,如下:
window = base.Window.new((1920 - window_width)*0.5,
(1080 - window_height)*0.5,
完成以上修改即可將檔案儲存然後進入遊戲測試
(建議修改前先將原始檔備份,如果有問題可以還原)
http://a10c.dyndns.info/bbs/data/attachment/forum/201207/26/001831twj9etdzziodoiwj.png
我靠 如来也跑来 INSKY传道了啊 我佛慈悲普渡众生:lol =C.V.P=064 发表于 2012-8-26 12:02 static/image/common/back.gif
我佛慈悲普渡众生
这个如来看着好面熟啊{:1_228:} 技术贴要顶!