王薇 王德貴
XRmaker的作品有安卓手機(jī)和PCWindows兩種類型,在創(chuàng)建作品時就需要確定下來。本期我們通過案例“飛行員”來學(xué)習(xí)PC操作。
1.模塊管理
在“編程”選項(xiàng)卡里,模塊最下方的“模塊管理”。它可以修改作品的設(shè)備類型,也可以設(shè)置多個設(shè)備類型。
2.作品類型
PC操作的前提,是在創(chuàng)建新作品時選擇3D→Windows類型,這樣在“編程”時,才會有“PC”模塊。
3.修改作品類型
用“模塊管理”在編程時也可以修改或是添加為“3D→Windows類型”,而新建作品時只能選擇一種類型。
設(shè)置時必須先選擇模型后,才能使用“模塊管理”。
在PC模塊中,有鼠標(biāo)和鍵盤操作的模塊,用于偵測用戶的交互動作。下面分別討論鍵盤操作和鼠標(biāo)操作(圖1)。
1.鍵盤操作
“鍵盤‘按住‘A”,這個鍵盤的操作積木是尖角,屬于邏輯操作符,結(jié)果為布爾值真或假。操作方法:按住、按下和松開。
(1)按?。喉憫?yīng)按下時間稍長的操作。
(2)按下:響應(yīng)按下時的動作,即按下某鍵時,才會檢測到動作,一般與松開對應(yīng)使用。(3)松開:只有某按鍵松開時,才會響應(yīng)的事件。一般與按下事件對應(yīng)使用。
2.獲取鍵盤屬性
“鍵盤按住左右”“鍵盤按住上下”獲取按下的方向按鍵,積木為圓角,屬于運(yùn)算模塊。按上和右鍵,輸出0到1的浮點(diǎn)值,下和左是-1到0的浮點(diǎn)值。
1.左右鍵操作
左右鍵操作也有按住、按下和松開三種操作。積木為尖角,屬于邏輯運(yùn)算,結(jié)果為布爾值真或假。
2.獲取鼠標(biāo)位置操作
“鼠標(biāo)在屏幕中‘X位置”積木為圓角,屬于算術(shù)運(yùn)算,能獲取鼠標(biāo)當(dāng)前x,y坐標(biāo)的浮點(diǎn)值。屏幕左下角坐標(biāo)為(0,0),右上角為屏幕分辨率值。
3.選中模型
鼠標(biāo)操作的“XX被選中時”非常實(shí)用,當(dāng)鼠標(biāo)與模型接觸時,即是“被選中”狀態(tài),其實(shí)它也可以理解為鼠標(biāo)與模型的碰撞事件,測試該積木代碼如圖2。
1.資源列表(見下表)
戰(zhàn)斗機(jī)音效是創(chuàng)造資產(chǎn),免費(fèi)用戶可能沒有,可自行導(dǎo)入音效。
2.設(shè)計(jì)思想
(1)思路
用XRmaker模擬航模訓(xùn)練。鍵盤控制飛機(jī)起飛和降落。機(jī)場設(shè)置標(biāo)識,以備飛行時識別,同時顯示飛行數(shù)據(jù):位置坐標(biāo)、方位角和飛行速度。
鍵盤設(shè)定:上:油門+;下:油門-;左:左翻轉(zhuǎn);右:右翻轉(zhuǎn);A:左轉(zhuǎn)彎;D:右轉(zhuǎn)彎;W:機(jī)頭俯;S:機(jī)頭仰。
(2)油門
通過上下鍵控制油門,同時也控制了飛行速度。
(3)起飛
必須達(dá)到一定速度方能起飛,通過按S鍵實(shí)現(xiàn)仰角控制,對應(yīng)W鍵是俯角控制。
(4)翻轉(zhuǎn)
翻轉(zhuǎn)即Self空間Z軸方向的角度變化。
(5)音效
飛機(jī)在飛行時,有飛行音效,音量與速度匹配,即速度越大,音量也越大。
(6)跑道
地面設(shè)定不同方向的幾個跑道,以備飛機(jī)降落。
(7)機(jī)場標(biāo)識
機(jī)場設(shè)置了樹木、建筑物等標(biāo)識,四周設(shè)置了熱氣球標(biāo)識,方便飛機(jī)降落。
3.程序設(shè)計(jì)
作品稍復(fù)雜,程序較多,請先在“壹零社”公眾號下載源程序(2023-20.zip),在“文件→新建→導(dǎo)入作品”后再對比學(xué)習(xí)。
(1)攝像機(jī):攝像機(jī)需要綁定在飛機(jī)上,否則無法控制。關(guān)于綁定的知識,以后會單獨(dú)介紹(如圖3)。
(2)飛機(jī)_11:即是我們控制的飛機(jī)。飛行中讓飛機(jī)Self空間前進(jìn),速度來自上下鍵(如圖4)。
油門控制(如圖5)。
左右方向控制(如圖6)。
俯仰控制(如圖7)。
翻轉(zhuǎn)控制(如圖8)。
(3)樹木標(biāo)識:樹木在起飛跑道兩側(cè),也是為了降落時方便辨識。兩棵樹木克隆自己,程序相同(如圖9)。
(4)蘋果_01:將蘋果綁定到飛機(jī)上,顯示飛行數(shù)據(jù),所以蘋果設(shè)置比例很小,不需要看到它(如圖10)。
(5)熱氣球標(biāo)識:熱氣球放在機(jī)場四周,標(biāo)識作用(如圖11)。
(6)音效(如圖12)。
4.小結(jié)
案例是前面學(xué)習(xí)知識的綜合運(yùn)用,比較復(fù)雜,請比對源程序?qū)W習(xí)。