(
映维网
2018年09月18日
)教导计算机科学并不需要虚拟现实。事实上,市场上没有一款用于教导计算机科学的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实现这种空间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发现了以下问题:
4. 接来下的计划?
Zenva希望探索这个原型的两个变体。好消息是,至今所开发的组件都可以轻松移植到任意一个:
选项一:控制一辆车/机甲
选项二:选择一的“上帝模式”
0