LOVR

基于 Lua 的虚拟现实引擎
授权协议 MIT
开发语言 C/C++
所属分类 游戏/娱乐、 游戏模拟器/工具/引擎
软件类型 开源软件
地区 不详
投 递 者 楚威
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 .
 相关资料
  • 本文向大家介绍创建Lua虚拟机,包括了创建Lua虚拟机的使用技巧和注意事项,需要的朋友参考一下 示例 5.1 5.1            

  • 系统需求 就像它的名字"基于IP"所暗示的那样,这样的服务器中每个基于IP的虚拟主机必须拥有不同的IP地址。可以通过配备多个真实的物理网络接口来达到这一要求,也可以使用几乎所有流行的操作系统都支持的虚拟界面来达到这一要求(详情请参见您的系统文档,这种功能一般被称作"IP别名",一般用"ifconfig"命令来进行设置)。 如何配置Apache 有两种配置方法来使apache支持多主机:为每个虚拟主

  • 本文档说明了如何使用基于域名的虚拟主机。 基于域名的虚拟主机和基于IP的虚拟主机比较 基于IP的虚拟主机使用连接的IP地址来决定相应的虚拟主机。这样,你就需要为每个虚拟主机分配一个独立的IP地址。而基于域名的虚拟主机是根据客户端提交的HTTP头中标识主机名的部分决定的。使用这种技术,很多虚拟主机可以共享同一个IP地址。 基于域名的虚拟主机相对比较简单,因为你只需要配置你的DNS服务器将每个主机名映

  • 本文向大家介绍Unity实现虚拟摇杆,包括了Unity实现虚拟摇杆的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Unity实现虚拟摇杆的具体代码,供大家参考,具体内容如下 面板上设置一些属性,比如摇杆拖拽的距离,是否始终可视,是否限制虚拟摇杆位置(我是把虚拟摇杆限制在了屏幕的左下区域)。 使用GetDirAndLength()方法去获得移动的方向和长度即可 以上就是本文的全部内容,

  • 本文向大家介绍Flask之pipenv虚拟环境的实现,包括了Flask之pipenv虚拟环境的实现的使用技巧和注意事项,需要的朋友参考一下 在 python 开发过程中,导入第三方库是最常见的操作,但是如果咋在本机自带 python 环境下安装第三方包。 就会造成库的冗余,比如某个项目只需要部分第三方库,但是其他项目又需要其他的第三方库。如此一来,在用 导出库依赖的时候,很可能会出现很多并不是本项

  • 本文向大家介绍Asp.Net Core 中的“虚拟目录”实现,包括了Asp.Net Core 中的“虚拟目录”实现的使用技巧和注意事项,需要的朋友参考一下 写在前面   现在部署Asp.Net Core应用已经不再限制于Windows的IIS上,更多的是Docker容器、各种反向代理来部署。也有少部分用IIS部署的,IIS部署确实是又快又简单,图形化操作三下五除二就可以发布好一个系统了。在过去As