王薇 王德貴
XRmaker的作品有安卓手機和PCWindows兩種類型,在創建作品時就需要確定下來。本期我們通過案例“飛行員”來學習PC操作。
1.模塊管理
在“編程”選項卡里,模塊最下方的“模塊管理”。它可以修改作品的設備類型,也可以設置多個設備類型。
2.作品類型
PC操作的前提,是在創建新作品時選擇3D→Windows類型,這樣在“編程”時,才會有“PC”模塊。

3.修改作品類型
用“模塊管理”在編程時也可以修改或是添加為“3D→Windows類型”,而新建作品時只能選擇一種類型。
設置時必須先選擇模型后,才能使用“模塊管理”。
在PC模塊中,有鼠標和鍵盤操作的模塊,用于偵測用戶的交互動作。下面分別討論鍵盤操作和鼠標操作(圖1)。
1.鍵盤操作
“鍵盤‘按住‘A”,這個鍵盤的操作積木是尖角,屬于邏輯操作符,結果為布爾值真或假。操作方法:按住、按下和松開。
(1)按住:響應按下時間稍長的操作。
(2)按下:響應按下時的動作,即按下某鍵時,才會檢測到動作,一般與松開對應使用。(3)松開:只有某按鍵松開時,才會響應的事件。一般與按下事件對應使用。
2.獲取鍵盤屬性
“鍵盤按住左右”“鍵盤按住上下”獲取按下的方向按鍵,積木為圓角,屬于運算模塊。按上和右鍵,輸出0到1的浮點值,下和左是-1到0的浮點值。

1.左右鍵操作
左右鍵操作也有按住、按下和松開三種操作。積木為尖角,屬于邏輯運算,結果為布爾值真或假。
2.獲取鼠標位置操作
“鼠標在屏幕中‘X位置”積木為圓角,屬于算術運算,能獲取鼠標當前x,y坐標的浮點值。屏幕左下角坐標為(0,0),右上角為屏幕分辨率值。
3.選中模型
鼠標操作的“XX被選中時”非常實用,當鼠標與模型接觸時,即是“被選中”狀態,其實它也可以理解為鼠標與模型的碰撞事件,測試該積木代碼如圖2。

1.資源列表(見下表)
戰斗機音效是創造資產,免費用戶可能沒有,可自行導入音效。
2.設計思想
(1)思路
用XRmaker模擬航模訓練。鍵盤控制飛機起飛和降落。機場設置標識,以備飛行時識別,同時顯示飛行數據:位置坐標、方位角和飛行速度。
鍵盤設定:上:油門+;下:油門-;左:左翻轉;右:右翻轉;A:左轉彎;D:右轉彎;W:機頭俯;S:機頭仰。
(2)油門
通過上下鍵控制油門,同時也控制了飛行速度。
(3)起飛
必須達到一定速度方能起飛,通過按S鍵實現仰角控制,對應W鍵是俯角控制。
(4)翻轉
翻轉即Self空間Z軸方向的角度變化。
(5)音效
飛機在飛行時,有飛行音效,音量與速度匹配,即速度越大,音量也越大。
(6)跑道
地面設定不同方向的幾個跑道,以備飛機降落。
(7)機場標識
機場設置了樹木、建筑物等標識,四周設置了熱氣球標識,方便飛機降落。

3.程序設計
作品稍復雜,程序較多,請先在“壹零社”公眾號下載源程序(2023-20.zip),在“文件→新建→導入作品”后再對比學習。
(1)攝像機:攝像機需要綁定在飛機上,否則無法控制。關于綁定的知識,以后會單獨介紹(如圖3)。
(2)飛機_11:即是我們控制的飛機。飛行中讓飛機Self空間前進,速度來自上下鍵(如圖4)。
油門控制(如圖5)。
左右方向控制(如圖6)。
俯仰控制(如圖7)。
翻轉控制(如圖8)。
(3)樹木標識:樹木在起飛跑道兩側,也是為了降落時方便辨識。兩棵樹木克隆自己,程序相同(如圖9)。
(4)蘋果_01:將蘋果綁定到飛機上,顯示飛行數據,所以蘋果設置比例很小,不需要看到它(如圖10)。
(5)熱氣球標識:熱氣球放在機場四周,標識作用(如圖11)。
(6)音效(如圖12)。
4.小結
案例是前面學習知識的綜合運用,比較復雜,請比對源程序學習。