LÖVR is a simple framework for creating virtual reality experiences with Lua, based on LÖVE.
Homepage | Documentation | Slack
- Easily create VR using simple Lua scripts
- Automatically detects and renders to connected VR headsets (works without a headset too!)
- 3D graphics API supporting primitives, fonts, shaders, skyboxes, framebuffers, etc.
- Import 3D models from obj, fbx, collada, or glTF files, including materials and animations.
- Create projects for Windows, macOS, Linux, or WebVR
- Spatialized audio
- 3D physics
You can download precompiled binaries from the website. There, you can also find documentation and a set of tutorials and examples. Here is the hello world example for LÖVR:
function lovr.draw()
lovr.graphics.print('Hello World!', 0, 1.7, -3, .5)
end
To run it, first create a folder for your project and put the code in a file called main.lua
.
Then, just drop the project
folder onto lovr.exe
(or run lovr.exe path/to/project
on the
command line). Put on your headset and you should see the text at the front of your play area!
function lovr.draw()
lovr.graphics.cube('line', 0, 1.7, -1, .5, lovr.timer.getTime())
end
function lovr.load()
model = lovr.graphics.newModel('teapot.fbx', 'teapot.png')
end
function lovr.draw()
model:draw()
end
function lovr.load()
local sound = lovr.audio.newSource('darudeSandstorm.ogg')
sound:play()
end
Documentation and examples are available on the website.
If you wanna be my LÖVR, you gotta get with my friends - Spice Girls
Feel free to join the LÖVR Slack for questions, info, and other discussion.
To compile from source to create a custom build or contribute to LÖVR, see
COMPILING
.
Contributions are welcome! See CONTRIBUTING
for more information.
MIT, see LICENSE
for details.