LOVR基于 Lua 的虛擬現(xiàn)實(shí)引擎
L?VR 是一個(gè)簡(jiǎn)單的 Lua 框架,用于快速構(gòu)建 VR 體驗(yàn),而無(wú)需太多設(shè)置或編程經(jīng)驗(yàn)。該框架小巧、快速、開源,并支持許多不同的平臺(tái)和設(shè)備。
特征
- 跨平臺(tái):在 Windows、Mac、Linux、Android、WebXR 上運(yùn)行。
- 跨設(shè)備:支持 Vive/Index、Oculus Rift/Quest、Pico、Windows MR,并具有 VR 模擬器。
- 初學(xué)者友好:只需幾行 Lua 代碼即可創(chuàng)建簡(jiǎn)單的 VR 場(chǎng)景。
- 快速:用 C99 編寫并使用 LuaJIT 編寫腳本,包括優(yōu)化的單通道立體渲染。
- 資產(chǎn)導(dǎo)入:支持 3D 模型(glTF、OBJ)、骨骼動(dòng)畫、HDR 紋理、立方體貼圖、字體等。
- 空間音頻:使用 HRTF 自動(dòng)空間化音頻。
- 矢量庫(kù):對(duì) 3D 矢量、四元數(shù)和矩陣的高效支持。
- ……
入門
開始使用 L?VR 制作東西真的很容易。從 https://lovr.org/download 獲取可執(zhí)行文件的副本,然后編寫main.lua腳本并將其父文件夾拖到可執(zhí)行文件上。示例項(xiàng)目:
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
構(gòu)建
可以使用 CMake 從源代碼構(gòu)建 L?VR。以下是使用命令行的步驟:
mkdir build cd build cmake .. cmake --build .
評(píng)論
圖片
表情
