UE4支援WindowsTouch的技術嘗試

2021-07-22 07:50:27 字數 1378 閱讀 7167

目前我使用的版本是ue4.11,還沒有對pc觸控螢幕做技術支援,我看到國內外**上有很多技術人員要求ue公司提供支援,令人可惜的是到目前還沒有支援。估計可能會在4.14版本支援。鑑於我們專案的情況,我有點等不及了。所以較深入的了解了目前這部分的**狀況,發現了些問題,並提供了一部分解決方法,在這裡和大家分享下:

看了下**,發現目前的視窗訊息並沒有提供touch訊息的處理,目前所有的觸控訊息都當做滑鼠左鍵處理,在藍圖中也是一樣。看了微軟的官方文件,目前支援觸控的windows作業系統必須是win7以上。這一點在uebuildwindows.cs中是這麼描述的

if (supportwindowsxp)

else

很明顯的看出,當前版本還支援ws08和vista。但是這兩個作業系統是不支援windowstouch訊息的。也就是說如果要支援windowstouch,就需要使用者的作業系統至少公升級到win7及其win7以上。這恐怕是ue目前不願意做技術支援的原因之一,這樣的話,那些正在使用08和vista或者longhorn系統的使用者就可能流失。

好了,歸正題,如果我們要新增touch處理怎麼做?下面我粗略說下思路(這些思路我已經在本機測試過,沒有問題)

第一:保證你的開發機是win7或者win7以上作業系統,本人使用的win10開發

第二:將上面的**片段else部分修改為如下

// windows vista or higher required

inbuildtarget.globalcompileenvironment.config.definitions.add("_win32_winnt=0x0600");

inbuildtarget.globalcompileenvironment.config.definitions.add("winver=0x0601");

第三:在windowswindow.cpp的initialize函式中新增

#if(winver >= 0x601)

// register the window for touch instead of gestures

registertouchwindow(hwnd, 0);

#endif

註冊ue的視窗為可觸控視窗

case wm_touch:

break;

第五:在processdeferredmessage函式中處理當前視窗的wm_touch,偽**如下:

case wm_touch:

break;

以上的思路我在專案已驗證沒有問題,並且在打包後的應用程式中也是正確無誤的。希望對大家有所幫助,另外觸控手勢的處理是類似的原理。我個人估計ue4在4.14版本也是

類似的處理吧。

ue4玻璃材質 UE4 材質

本文中,我們將首先討論基於物理的渲染,什麼是材質域,什麼是材質,什麼是材質例項,什麼是主材質,我們將討論材質的一些建議和禁忌。最後,我們將了解一些材質概念,你可以將其用於各類專案中的材質。pbr 表示基於物理的渲染,基於物理的渲染意味著我們根據現實模擬光線,而不是根據主觀想法模擬光線。光線的最終效果...

ue4材質節點大全 UE4 材質

凹凸貼圖偏移 bumpoffset 是虛幻引擎4術語,就是通常所謂的 視差貼圖 bumpoffset表示式可以使材質產生深度錯覺,而不需要額外的幾何體。深度資訊。高度貼圖的值越亮,材質的 凸出 效果越明顯 當攝像機在表面上移動時,這些區域將產生視差 位移 較遠 其位移程度最小。在不改變原有模型面數的...

UE4物體破碎

link 遊戲開發 虛幻引擎 ue4粒子系統 vr ar vr技術 ue4的破碎通過可破壞網格物體進行實現,任何乙個網格都可以轉換為可破壞的網格。當前使用的ue4版本 4.8.0。在實際使用中,要破壞乙個物體就必須通過藍圖產生傷害或是在設定中設定碰撞傷害。傳遞傷害的藍圖節點如下 破壞效果相關的設定幾...