電腦科學、軟體程式設計晦澀難懂?Zenva帶來沉浸式教學方式
教導電腦科學並不需要虛擬現實。事實上,市場上沒有一款用於教導電腦科學的VR應用程式。Zenva發現,在缺乏直接應用的情況下,很多人都難以理解相應的抽象概念。人類習慣於與自然環境互動,並從互動產生的反饋中學習。但電腦科學缺乏這樣的直接反饋迴路,所以許多人都難以逾越初始的學習過程。
VR可以建立這樣一種模擬,支援我們以一種自然的方式來探索電腦科學概念。為此,Zenva正在研發一款用以介紹電腦科學概念或鞏固以前習得知識的應用程式Zenva Sky。
Zenva Sky的其中一個前提是,為電腦科學與編碼的教學帶來沉浸感和互動性。虛擬現實可以支援使用者以一種傳統2D或常規3D開發所無法實現的方式來與環境進行互動。
目前Zenva正在製作Zenva Sky的原型,並不斷在社群分享他們的最近進展。以下是他們本週最新分享的內容:
VR是一項全新的媒介,所以我們難以提前預知可行和不可行的用例。另外,唯一的判斷方式是構建一個真正的VR原型。線上學習網站Zenva的方法論和目標是,在未來兩週內繼續探索不同的原型和方案,直到發現一個感覺適合的解決方案。
Zenva至今所構建的原型允許他們進行了一定的嘗試,並帶來了非常有趣的發現。遺憾的是,這同樣為他們提出了需要解決的挑戰。
1。 硬體與軟體
英特爾和微軟為Zenva的探索提供了硬體和其他支援,包括搭載英特爾酷睿i7-8809G的Hades Canyon VR NUC (NUC8i7HVK),以及惠普WMR頭顯開發者版。目前Zenva正在利用Unity引擎在Windows Pro中開發Zenva Sky。
2。 編碼你周圍的世界
Zenva早前演示了一款互動式體驗,其中使用者可以將“命令”應用於互動式物件。他們現在擴充套件了這一概念,改進了UX以便原型可以完全用於VR,無需使用關鍵字。
2.1選擇一個目標物件
通過控制器,使用者可以用“鐳射指示器”指向一個物件,然後啟用一系列的命令。就目前而言,Zenva只是實現了“Move(移動)”命令。
2.2 選擇命令引數
在選擇命令時,顯示相關命令的選項將出現。在這種情況下,使用者可以選擇要移動的軸和移動的距離。與之前相比,Zenva已經取得了一定的進步:
- 目標物件現在能夠顯示座標軸,這樣使用者就能知道每個軸指向哪裡。請注意,Zenva選擇使用大多數人所熟悉的右手座標系。實際上,Unity使用左手座標系。
- 使用者現在可以取消這一操作。
- 通過顯示下拉列表,使用者可以完全在VR中選擇軸或數字(使用者原來需要在鍵盤中輸入正確的數字)。
Zenva實現這種空間UI視窗的方式是,在Unity中使用Canvas物件,並將其渲染設定為“世界空間”,這意味著UI將在3D世界中顯示(而不是說2D併疊加在螢幕上)。
他們在這些畫布中使用Box Collider來讀取“鐳射指示器”。對於鐳射指示器,Zenva使用了第三版VRTK。
2.3 為Program增加一個指令
Program是要執行的主要指令集。使用者可以向其新增不同的命令(現在只有Move)。通過這種方式,使用者將能直觀地瞭解何謂命令和程式。這種方法類似於教導小朋友程式設計的流行機器人所採用的方法。為了區分命令所適用的物件,Program現在顯示將要移除的物件截圖。
與之前相比,一個主要更新是你可以通過“X”按鈕來移除命令,並且能看到物件的截圖。
截圖在遊戲中拍攝並儲存到變數。這利用了不渲染至VR頭顯的另一個camera:將其放置在使用者和目標物件之間,把內容渲染到紋理之中,然後再將紋理放置在UI之中。
camera將忽視場景中的特定圖層,比如說天空和UI元素。
2.4 執行程式
在執行程式時,所有的命令都將按順序地應用至相應的目標。如果移動命令與撞擊命令相遇,這個命令將結束,然後執行下一個命令。
Zanva在之前已經實現了這一點,而現在唯一的改變是在結束後數秒內將一切都撥回至初始位置。
3。 可以優化的地方?
這個原型非常有助於分析可謂一個合適的基礎可程式設計環境。但是,Zenva發現了以下問題:
- 很難理解距離,特別是如果物件在地面上移動。我們可以在地面上使用網格或3D網格來緩解問題,但這對使用者來說感覺過於複雜。
- 它變成一款複雜的空間益智遊戲。這絕對不是目標。為了解決所預想的挑戰,使用者需要使用比學習電腦科學或程式設計時更多的空間/3D心智。儘管Zenva認為空間技能在創新經濟中至關重要,但這並不是這款應用程式的願景。
- 使用者介面變得過於複雜。Zenva發現自己需要點選太多次,而且感覺不夠身臨其境。這款應用程式的願景不是將2D UI互動複製至3D環境,而是為VR環境建立自然的互動。
4。 接來下的計劃?
Zenva希望探索這個原型的兩個變體。好訊息是,至今所開發的元件都可以輕鬆移植到任意一個:
選項一:控制一輛車/機甲
- 使用者位於車輛/行走機甲之中,而所有的命令都可應用於車輛。
- 車輛只在水平平面移動。
- 地板提供了網格,因此很容易就能知道你需要移動多少個單位。所有物件都完全適合單元格網格。
- 除了移動和旋轉,機甲同時可以啟用布林邏輯閘。然後,我們可以介紹這些邏輯閘是如何以互動方式工作,而使用者必須通過“編碼”一個能夠解鎖它們的序列。
- UI可以是車輛儀表板中的物理按鈕和控制桿,因此“點選”將不復存在。
選項二:選擇一的“上帝模式”
- 與選項一相同,但使用者不位於車內,而是從上方看到網格和車輛。
- 在選項二中,程式執行速度比選項一更快(因為使用者不在車內,不存在暈車的風險,因此速度可能更高,但這將以沉浸感為代價)。
新浪宣告:新浪網登載此文出於傳遞更多資訊之目的,並不意味著贊同其觀點或證實其描述。