新项目 - 来自实验室的新鲜成果
对于任何对量子力学,特别是双缝干涉实验感兴趣的人来说,量子迷你高尔夫 是一款很棒的小游戏,即使是最资深的物理学家也会觉得有趣。根据该项目的文档
量子迷你高尔夫 是一款迷你高尔夫模拟游戏,其中球的运动方式符合量子力学定律。这样的量子球可以同时存在于多个位置,并绕过障碍物发生衍射。
量子迷你高尔夫 存在两个版本:1) 纯软件版本,当您阅读此文件时,您很可能正在使用该版本,以及 2) 虚拟现实版本。在这里,用户使用真实的球杆进行游戏,球杆上标记有红外 LED,并通过网络摄像头进行跟踪。球通过安装在天花板上的视频投影仪投射到地面上。基本上,软件版本包含构建虚拟现实版本所需的所有代码。然而,构建它(目前)并不容易,因为它尚未记录在案。
安装
编译 量子迷你高尔夫 非常容易,但您需要追溯一些相当晦涩的库。该项目的 README 文件列出了以下要求
fftw3f:libfftw 的单精度 (!) 版本,www.fftw.org
SDL:www.libsdl.org
SDL_ttf:www.libsdl.org/projects/SDL_ttf
freetype:www.freetype.org
Linux Libertine 开放字体:sourceforge.net/projects/linuxlibertine
一旦您拥有了所需的库,请获取最新的 tarball,解压缩它,并在新文件夹中打开终端。输入命令
$ make
如果没有错误,您应该可以通过输入以下命令来运行程序
$ ./quantumminigolf
用法
如前所述,量子迷你高尔夫 具有两种操作模式:虚拟现实 (VR) 模式和软件模式。VR 模式在“现实世界”中外部工作,使用投影仪、摄像头和投射到场地上的球。软件版本仅仅是在计算机屏幕上发生的基本模拟。我在这里介绍软件版本,但有关真实世界版本的更多信息,请参阅 VR 模式侧边栏。
一旦您进入主游戏屏幕,您将收到一系列关于如何控制游戏的说明。您真正需要理解的基本控件是左右键更改方向,以及 Enter 键开始游戏。移动鼠标会改变您推杆的瞄准方向。
当您瞄准并准备就绪时,单击并按住鼠标左键(按住的时间越长,施加的力量越大),球将开始移动。
假设您处于量子模式,球将从固体物体切换到波形,并以各种奇怪的方式在球场上弹跳。按下空格键或 q 键,球将停止并从这种量子态切换回固体物体——如果这是您第一次玩,可能在错误的位置。这真的取决于您根据波形当时的位置来猜测球最终会落在哪里。而且,如果您不爱冒险或者只是想测试基本机制,您可以以正常模式玩它,但这真的不是这个游戏的重点,不是吗?
这个游戏真正令人着迷的地方是量子世界如何与基本的、固体的“牛顿”世界相互作用。您可以实时观看光绕过物体的运动,但方式非常复杂!以下是来自 Friedemann 网站的更多信息
对于专家:击球时,您定义一个初始动量。然后,球被初始化为一个高斯波包,具有硬编码的宽度,以位置空间中的驱动位置和动量空间中的初始动量为中心。
...由于量子力学球在大多数时间同时存在于多个位置,因此不可能说它是否在洞中。它只是“同时在洞内和洞外”。但是,有一个技巧:量子力学允许进行“位置测量”,这将使球在某个位置坍缩。将其视为给球拍照。量子粒子可以同时存在于多个位置,但在照片中,它总是只出现在一个位置......在每场比赛结束时,您都会拍摄赛道的虚拟照片。如果球出现在洞中,您就赢了。否则你就输了。
就像 Valve 的 Portal 采用了一个非常简单的概念并制作了一款令人惊叹的游戏一样,如果您将这些量子游戏机制应用到一个大型 3D 游戏中,结果会是什么?那将非常有趣。
我通常只介绍 0.x 开发阶段的东西,虽然这肯定不能称为新项目(它从 1999 年就开始了),但它似乎一直没有引起大多数人的注意。根据该项目的网站
Art of Illusion 是一个免费的开源 3D 建模和渲染工作室。它的许多功能可以与商业程序中的功能相媲美。亮点包括基于细分曲面的建模工具、基于骨骼的动画以及用于设计程序纹理和材质的图形语言。
安装
就要求而言,您需要基本的 Java 安装才能获得至少最基本的功能。AOI 需要 Java 1.5 或更高版本,并且在 GCJ 下无法正常工作,GCJ 预装在许多 Linux 发行版中。有两个相对晦涩的要求值得追溯,因为它们极大地扩展了程序的功能。Java Open GL (JOGL) 为您提供 3D 加速功能,这在动画工作中非常宝贵,而 Java Media Framework (JMF) 可让您以 QuickTime 格式而不是一系列静止图像保存动画。JOGL 很可能在您的发行版的存储库中,但您可以在 Sun 的网站上获取 JMF:java.sun.com/products/java-media/jmf/2.1.1/download.html。
该网站提供了一个 zip 文件,其中包含一个基于 Java 的安装程序,专为 i586 和 AMD64 架构设计,但如果您进一步查看页面,还可以找到其他 UNIX 和架构选项。获取最新文件并解压缩。里面有一个安装程序,文件名为 aoisetup.sh;执行此文件,但如果您想将其放在所有用户都可以运行的地方,您可能需要以 root 或 sudo 身份运行。
如果这对您来说是新的,请在 AOI 的安装程序等待您的文件夹中打开一个终端,然后输入
$ su (enter password) # ./aoisetup.sh
或者,如果您使用的是像 Ubuntu 这样的基于 sudo 的发行版,请尝试输入
$ sudo ./aoisetup.sh (enter password)
从这里,您将获得一个基本的“下一步、下一步、下一步”风格的 GUI 界面,大多数用户应该都很熟悉。安装结束时,在 AOI 的安装位置(默认为 /usr/local/ArtOfIllusion)打开一个终端,然后输入命令
$ ./aoi.sh
用法
虽然我很难在这短短的篇幅中充分介绍 AOI 的功能,但我至少会介绍一些主要元素。
四个窗格占据了屏幕的大部分空间,其中包含您将要处理的场景的相机角度。这些窗格已准备好立即“绘制”。左侧的简单侧边栏包含最常用的工具,例如移动、旋转、调整大小、创建正方形、创建球体等等。这使得跳入并实际制作东西比我遇到过的大多数其他 3D 建模程序更快、更直观。
明智的是,更高级的功能包含在工具栏的菜单中,但它们也很容易导航并且经过深思熟虑。一些很酷的功能包括脚本和存储库管理、即时渲染和动画预览,虽然我自己没有机会使用它,但有一个名为过程 3D 纹理编辑器的东西看起来非常强大。
虽然这个程序的呈现方式可能很简单,但该项目的目标始终是提供在高级商业应用程序中找到的功能(甚至在此过程中添加一些独特的功能),同时保持用户界面比商业产品更容易掌握。
一些真正让我印象深刻的功能是可脚本化对象、可动画纹理、扭曲效果(如扭曲和破碎)、带有权重、约束和反向运动学的骨骼动画,以及渲染到 HDRI 图像。
所有这些加起来就是一个非常强大而优雅的程序,它可以跨平台运行,因此说服同事尝试它可能不是一个棘手的问题。如果您在网站和论坛上查看,您会看到一些真正令人惊叹的图像是用 AOI 制作的——有些非常逼真,以至于我不得不看第二眼才意识到它们是计算机生成的!
我绝不是这个领域的专家,但这个项目应该比迄今为止受到的关注更多。虽然像 Blender 这样的程序立即让人联想到 3D 建模,但我以前从未听说过这个程序。希望这种情况即将改变。
正在酝酿新鲜、创新或令人兴奋的东西?发送电子邮件至 newprojects@linuxjournal.com。
John Knight 是一位 26 岁的、沉迷于打鼓和攀岩的狂热分子,来自世界上最孤立的城市——西澳大利亚州的珀斯。他通常要么埋头于 Audacity 屏幕,要么疯狂地敲击低音鼓。