王德貴
我在2019年山東武玉柱老師的培訓(xùn)課上初識(shí)了XRmaker,它讓3D設(shè)計(jì)的門檻降低了很多。2020年初,我設(shè)計(jì)了6節(jié)課程,對(duì)本市小學(xué)生做了直播。
通過我的學(xué)習(xí)和教學(xué),感覺XRmaker非常適合中小學(xué)生學(xué)習(xí)編程知識(shí),它擁有完善的積木塊程序,學(xué)生可以快速有效地制作出漂亮的3D或VR程序作品,并且支持在電腦、手機(jī)和各種VR設(shè)備等多平臺(tái)上運(yùn)行和程序輸出。
XRmaker以培養(yǎng)學(xué)生的創(chuàng)新能力、想象力和編程能力為重點(diǎn),依托云端海量的教育資源和素材庫(無單機(jī)版),開展教學(xué)活動(dòng)。學(xué)生們通過可視化、游戲化的方式進(jìn)行編程,既提高了學(xué)習(xí)編程的興趣,又增強(qiáng)了邏輯分析和獨(dú)立思考的能力。當(dāng)然,XRmaker也可以用于教師的3D課件制作、VR類產(chǎn)品設(shè)計(jì)等等。
虛擬現(xiàn)實(shí)技術(shù)(英文名稱:Virtual Reality,縮寫為VR),又稱靈境技術(shù),是20世紀(jì)發(fā)展起來的一項(xiàng)全新的實(shí)用技術(shù)。虛擬現(xiàn)實(shí)技術(shù)囊括計(jì)算機(jī)、電子信息、仿真技術(shù)于一體,其基本實(shí)現(xiàn)方式是計(jì)算機(jī)模擬虛擬環(huán)境從而給人以環(huán)境沉浸感。隨著科學(xué)技術(shù)的不斷發(fā)展,各行各業(yè)對(duì)VR技術(shù)的需求日益旺盛。VR技術(shù)也取得了巨大進(jìn)步,并逐步成為一個(gè)新的科學(xué)技術(shù)領(lǐng)域。
XRmaker客戶端32/64位網(wǎng)盤鏈接:https://pan.baidu.com/s/1g2eZKKM05HWeLq1YdgY3c
Q?pwd=XRMK 提取碼:XRMK。關(guān)注壹零社公眾號(hào)也可下載。
本軟件為綠色版,解壓后即可使用。
1.創(chuàng)建3D作品或VR作品
2.啟動(dòng)界面
啟動(dòng)界面有3個(gè)資源模型:攝像機(jī)、草原天空球和平行光。
3.菜單
4.界面布局
編輯視角和發(fā)布視角,可以通過按鈕進(jìn)行切換,方便編程和調(diào)試。
5.視圖導(dǎo)航工具
XRmaker 視圖導(dǎo)航工具,x軸紅色,y 軸綠色,z軸藍(lán)色,用鼠標(biāo)單擊xyz 軸和中間的小立方體可以進(jìn)行視圖切換。
6.資源選項(xiàng)卡
在資源商店里,可以對(duì)資源進(jìn)行搜索、圖標(biāo)尺寸縮放等資源庫操作。
公共資源里,可以找到各種庫,方便設(shè)計(jì)。
資源素材操作:
(1)右擊:在選擇的模型上右擊會(huì)彈出菜單可以對(duì)模型進(jìn)行移動(dòng)、旋轉(zhuǎn)、縮放、刪除等操作。
(2)狀態(tài)欄按鈕
(3)屬性區(qū)
(4)在當(dāng)前使用的資源列表中單擊圖標(biāo)會(huì)選中工作區(qū)中的模型,雙擊會(huì)縮放到合適的視圖。
7.編程選項(xiàng)卡
當(dāng)前資源的程序設(shè)計(jì),資源的屬性均可看到。
1.兩個(gè)空間
在XRmaker的虛擬世界中,有兩種空間,一種叫作World空間,也就是我們?cè)诰庉嬈髦性O(shè)計(jì)編輯的空間;還有一種叫作Self空間,大家可以理解為每個(gè)場(chǎng)景中的物體模型自身。
在World空間中,方向是固定的??梢岳斫鉃?,它是以地球(天空球)為參照系的。就像我們現(xiàn)實(shí)世界中的東南西北一樣,指定的是固定的方向,不隨物體模型的轉(zhuǎn)動(dòng)而改變。因此,一個(gè)物體模型無論怎么轉(zhuǎn)動(dòng),當(dāng)我們編程讓它向某一方向運(yùn)動(dòng)時(shí)(比如x方向),它都會(huì)朝著場(chǎng)景中這個(gè)方向移動(dòng),即便它是歪的。
而Self空間,就像我們現(xiàn)實(shí)世界中的前后左右,每個(gè)人朝向不同,他的前后左右也是不同的??梢岳斫鉃椋且阅P捅旧碜鰠⒄障档?。當(dāng)一個(gè)人朝向北邊時(shí),前北,左西,右東,后南;而當(dāng)他朝向東邊時(shí),就變?yōu)榱饲皷|,左北,右南,后西。
這里涉及的是相對(duì)運(yùn)動(dòng)的知識(shí)。相對(duì)運(yùn)動(dòng)是某一物體對(duì)另—物體而言的相對(duì)位置的連續(xù)變動(dòng),即此物體相對(duì)于固定在第二物體上的參考系的運(yùn)動(dòng)。絕對(duì)運(yùn)動(dòng)是指宇宙中沒有不動(dòng)的物體,一切物體都在不停地運(yùn)動(dòng),運(yùn)動(dòng)是絕對(duì)的,靜止是相對(duì)的。
為什么要設(shè)置兩種空間、兩種方向呢?當(dāng)然是為了我們更方便地控制物體模型在場(chǎng)景中的移動(dòng)。當(dāng)我們需要平移時(shí),可以直接用在World空間移動(dòng)的語句,這樣可以保證在場(chǎng)景中朝某一方向移動(dòng)。
當(dāng)我們需要物體模型保持向前移動(dòng)時(shí),則可以讓它在Self空間向z方向移動(dòng)(某些模型也可能是其他方向),那么無論它怎么轉(zhuǎn)向,都能保持向前移動(dòng)。
也就是說,不管模型的初始狀態(tài)如何,它們的運(yùn)動(dòng)都是相對(duì)各自的參照系運(yùn)動(dòng)的。有時(shí)效果相同,有時(shí)效果不同,這就取決于當(dāng)前的狀態(tài)。
2.三維坐標(biāo)系
XRmaker程序設(shè)計(jì)主要用到了三維立體坐標(biāo)系,即有三個(gè)坐標(biāo)軸:x,y,z,并且遵守右手螺旋法則。
在World空間和Self空間都有各自的三維坐標(biāo)系,但它們的標(biāo)度(單位長(zhǎng)度)是一樣的。
一個(gè)模型在World空間的坐標(biāo)就是它的當(dāng)前位置,例如坐標(biāo)為(10,10,0),角度(0,0,0)。在Self空間里,它的坐標(biāo)是(0,0,0) ,角度(0,0,0)。如果在Self空間沿x軸向前運(yùn)動(dòng)10,在Self空間里它的坐標(biāo)還是(0,0,0),但在World空間的坐標(biāo)就是(20,10,0),因?yàn)槟P偷慕嵌榷际?,如果角度不是0,即模型的朝向不同,那運(yùn)動(dòng)后就可能影響到在World空間的三個(gè)坐標(biāo)值。
在三維空間,一個(gè)模型有六個(gè)自由度,即x軸、y軸、z軸、x角度、y角度和z角度。角度即是模型的朝向,模型既可以沿三個(gè)坐標(biāo)軸運(yùn)動(dòng),也可以沿三個(gè)坐標(biāo)軸旋轉(zhuǎn),這就是六個(gè)自由度。這些知識(shí)點(diǎn),需要在學(xué)習(xí)中慢慢理解。
1.下載模型
因?yàn)橘Y源數(shù)據(jù)太大,XRmaker客戶端無法在本地保存資源庫和相關(guān)資料,也正是因?yàn)槿绱耍艣]有單機(jī)版,那么就需要先下載,再使用。
點(diǎn)擊“資源”選項(xiàng)卡,然后依次點(diǎn)擊“公共資源→動(dòng)物園→雕像01”。
2.添加模型
把剛才下載的“雕像01”模型拖拽到綠色“草原”上,然后看到右側(cè)的屬性設(shè)置界面。將位置屬性的x,y,z值修改為(0,0,5)。
3.添加“開始”事件
點(diǎn)擊“編程”選項(xiàng)卡,找到“事件”模塊,將“開始”事件模塊拖動(dòng)到右側(cè)編碼區(qū)。
4.添加“重復(fù)執(zhí)行”控制模塊
點(diǎn)擊“編程”選項(xiàng)卡,找到“控制”模塊,將“重復(fù)執(zhí)行”模塊拖動(dòng)到右側(cè)編碼區(qū),并放在“開始”的下方。注意,拖動(dòng)時(shí)一定要看到下方有陰影,方可松開鼠標(biāo),表示已經(jīng)連接正確。否則程序不會(huì)運(yùn)行。
5.添加顯示文字模塊
點(diǎn)擊“編程”選項(xiàng)卡,找到“外觀”模塊,將“雕像01顯示文本……”模塊拖動(dòng)到右側(cè)編碼區(qū),并放在“重復(fù)執(zhí)行”模塊的中間。
注意,一定要拖動(dòng)到中間,并且看到“重復(fù)執(zhí)行”模塊顏色變亮,方可松開鼠標(biāo),如果位置正確,在“開始”的下方有陰影。即是說,哪里出現(xiàn)陰影,就是放置拖動(dòng)模塊的位置。
修改參數(shù),顯示文字“Hello World!”,尺寸0.2,(x0,y3,z0),顏色(r1,g0,b0)。
6.運(yùn)行
點(diǎn)擊上方的“開始”按鈕,在編輯視角和發(fā)布視角均可看到“Hello World”。在編輯視角如果無法看到效果,則按住鼠標(biāo)右鍵,同時(shí)按S鍵,或是A、D鍵調(diào)整位置即可。
7.停止
點(diǎn)擊“停止”按鈕,即可停止運(yùn)行,以便進(jìn)行其他操作(運(yùn)行狀態(tài)無法修改代碼或模型屬性)。
關(guān)于XRmaker,本文就簡(jiǎn)單介紹到這,其他相關(guān)知識(shí)將陸續(xù)發(fā)布,敬請(qǐng)關(guān)注。
具體問題可以咨詢作者公眾號(hào)“鑰匙編程入門”(備注:VR)。