Unreal Motion Graphics (UMG) 是 Unreal Engine 的內建 UI 系統,用來建立功能表和文本框等介面。 使用UMG建置的使用者介面是由小工具所組成。 我們將引導您建立新的小工具、將其新增至世界空間,以及使用系統鍵盤做為範例來啟用互動。 您可以在官方 Unreal Engine 檔中深入瞭解 UMG。
建立新的小工具
- 建立小工具藍圖以設定遊戲的 UI:
- 開啟新的藍圖,並將元件從調色盤新增至畫布。 在此情況下,我們已從 [輸入] 區段新增兩個文字框元件:
- 在 [階層] 或 [Designer] 視窗中選取小工具,然後在詳細數據面板中修改參數。 在此情況下,我們新增了一些預設的「提示文字」,以及當您將滑鼠停留在文字框上時出現的色調色彩。 與 HoloLens 互動時,文字框會在 HoloLens 上彈出虛擬鍵盤:
- 您也可以在詳細資料面板中訂閱事件:
將小工具新增至世界空間
- 建立新的動作專案、新增 Widget 元件,並將動作專案新增至場景:
- 在小工具的詳細數據面板中,將 Widget 類別 設定為稍早建立的 Widget 藍圖:
- 針對文字小工具,請確定 [ 接收硬體輸入 ] 未核取,因此我們只會從虛擬鍵盤更新其文字:
小工具互動
UMG 小工具通常會從滑鼠接收輸入。 在 HoloLens 或 VR 上,我們需要模擬具有 Widget Interaction 元件的滑鼠,以取得相同的事件。
- 建立新的動作專案、新增 Widget 互動 元件,並將動作專案新增至場景:
- 在 Widget 互動元件的詳細資料面板中:
- 將互動距離設定為您想要的距離值
- 將 互動來源 設定為 自定義
- 若要進行開發,請將 [顯示偵錯] 設定為 true:
互動來源的預設值是 「World」 ,它應該根據 Widget Interaction 元件的全球位置來傳送光線廣播。 在 AR 和 VR 中,情況並非如此。 啟用「顯示偵錯」並將暫留色調新增至小工具,對於檢查小工具互動元件是否如您所預期而執行非常重要。 因應措施是使用自定義來源,並從手部光線在事件圖形中設定光線傳播。
在這裡,我們會從事件刻度呼叫此專案:
然後將虛擬滑鼠指標事件新增至回應 HoloLens 輸入的小工具互動元件。 在此情況下,在按住手部時傳送滑鼠左鍵事件,而在未按住手時傳送滑鼠左放事件:
現在,當您將應用程式部署至 HoloLens 2 時,您會看到從右側延伸的手部光線。 如果您將它導向其中一個可編輯的文字框並進行空中點選,系統鍵盤會出現在您前面,並可讓您輸入文字。
注意事項
HoloLens 系統鍵盤需要 Unreal Engine 4.26 或更新版本。 此外,只有當應用程式在裝置上執行時,鍵盤才會出現在您的應用程式從 Unreal 編輯器串流至頭戴式裝置時。