lovr/README.md

3.0 KiB

LÖVR

LÖVR is a simple framework for creating virtual reality experiences with Lua, based on LÖVE.

Homepage | Documentation | Slack

Build status Version

Features

  • 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

Screenshots

Getting Started

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!

Spinning Cube

function lovr.draw()
  lovr.graphics.cube('line', 0, 1.7, -1, .5, lovr.timer.getTime())
end

3D Models

function lovr.load()
  model = lovr.graphics.newModel('teapot.fbx', 'teapot.png')
end

function lovr.draw()
  model:draw()
end

Audio

function lovr.load()
  local sound = lovr.audio.newSource('darudeSandstorm.ogg')
  sound:play()
end

Documentation

Documentation and examples are available on the website.

Community

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.

Compiling

To compile from source to create a custom build or contribute to LÖVR, see COMPILING.

Contributing

Contributions are welcome! See CONTRIBUTING for more information.

License

MIT, see LICENSE for details.