LÖVR 是一个简单的 Lua 框架,用于快速构建 VR 体验,而无需太多设置或编程经验。该框架小巧、快速、开源,并支持许多不同的平台和设备。
特征
- 跨平台:在 Windows、Mac、Linux、Android、WebXR 上运行。
- 跨设备:支持 Vive/Index、Oculus Rift/Quest、Pico、Windows MR,并具有 VR 模拟器。
- 初学者友好:只需几行 Lua 代码即可创建简单的 VR 场景。
- 快速:用 C99 编写并使用 LuaJIT 编写脚本,包括优化的单通道立体渲染。
- 资产导入:支持 3D 模型(glTF、OBJ)、骨骼动画、HDR 纹理、立方体贴图、字体等。
- 空间音频:使用 HRTF 自动空间化音频。
- 矢量库:对 3D 矢量、四元数和矩阵的高效支持。
- ……
入门
开始使用 LÖVR 制作东西真的很容易。从 https://lovr.org/download 获取可执行文件的副本,然后编写main.lua
脚本并将其父文件夹拖到可执行文件上。示例项目:
Hello World
function lovr.draw() lovr.graphics.print('Hello World!', 0, 1.7, -3, .5) end
Spinning Cube
function lovr.draw() lovr.graphics.cube('line', 0, 1.7, -1, .5, lovr.timer.getTime()) end
Hand Tracking
function lovr.draw() for _, hand in ipairs(lovr.headset.getHands()) do lovr.graphics.sphere(vec3(lovr.headset.getPosition(hand)), .1) end end
3D Models
function lovr.load() model = lovr.graphics.newModel('model.gltf') end function lovr.draw() model:draw(x, y, z) end
构建
可以使用 CMake 从源代码构建 LÖVR。以下是使用命令行的步骤:
mkdir build cd build cmake .. cmake --build .