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