Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Renzora Engine

A 3D and 2D game engine and visual editor built on Bevy 0.20. It's fully compatible with the Bevy plugin ecosystem and is itself modular: every system is a plugin you can add, remove, or replace. Use it as a standalone engine to build games out of the box, or treat it as a customizable foundation you can modify into your own bespoke engine.

Renzora Editor

Warning: Early alpha. Expect bugs, incomplete features, and breaking changes between versions.

Features

AreaFeatures
EditorDockable panels with tabs, split panes and floating windows · up to four viewports · hierarchy, inspector, asset browser and console · translate, rotate and scale gizmos · infinite grid · camera presets · undo and redo · autosave · command palette · rebindable shortcuts · themes and fonts · built-in code editor · Play in its own process with live link · guided tutorial · UI scale and DPI support · runs on the web
RenderingPhysically based materials (clearcoat, anisotropy, transmission, parallax) · node material editor generating WESL · shader editor · Solari ray-traced global illumination with its own denoiser and ray-traced glass · DLSS upscaling and ray reconstruction · .rvg virtual geometry · Gaussian splatting · point, spot, directional and rectangular area lights · soft shadows, contact shadows, and cascade and bias controls · environment maps, skyboxes, light probes and parallax-corrected reflection probes · planar reflections · physical atmosphere · volumetric clouds · volumetric and distance fog · SSAO · SSR · bloom · auto exposure · depth of field · motion blur · tonemapping · MSAA, FXAA, SMAA, TAA and sharpening · order-independent transparency · forward decals · around 30 shader post effects (color grading, chromatic aberration, vignette, film grain, outline, CRT, toon and more) · Low, Medium and High quality tiers · mesh LOD with crossfade · texture streaming · GPU device-loss recovery
World buildingTerrain sculpting and painting · foliage painting · spectral FFT ocean water · wind sway · tilemaps with composite objects and randomised painting · mesh modelling tools · shape library · level presets
2DSprites · sprite animation clips · dedicated 2D view · 2D lighting · 2D physics with Y-sorting
AnimationAnimator with blend graphs, masks, transitions and events · retargeting · root motion · property animation with per-key easing · morph targets · facial animation · rigging tools · inverse kinematics · FBX animation import
Physics and simulationPluggable physics backends (Avian 3D and 2D bundled) · ragdolls · cloth · hair strands · parkour traversal and locomotion · navmesh pathfinding · GPU particles with an effect editor and effect library
ScriptingRust scripts compiled as native plugins with full &mut World access, recompiled on save · pluggable language backends from the marketplace, several per project · hooks for ready, update, fixed-timestep update, UI, drawing, RPC, animation events, HTTP and player join/leave · rebindable input action map for keyboard, mouse and multiple gamepads · touch input with taps, pinch and twist · save slots · APIs for physics, animation, IK, particles, parkour, ragdolls, navigation and game UI
AudioOwn audio backend · mixer with buses and effects · spatial audio with distance falloff · pluggable audio backends
UIEmber UI toolkit for the editor and games · game UI editor with markup templates · gamepad navigation of game menus · rich text · font switching and weights · SVG images
Multiplayer (alpha)Client and headless dedicated server from one binary (--server) · replication and RPC over UDP · network panel
XRGames in a VR headset over OpenXR (Quest Link, SteamVR) with a desktop mirror · headset editing mode (cargo renzora xr)
PluginsEvery engine system is a removable plugin · native plugins ship as source and compile on install · bundled plugins compiled into the binary · custom panels, inspectors, material nodes, post effects, and audio, physics, network and script backends · localization
Assets and scenesBSN scene files · prefabs · scene thumbnails · glTF, FBX, OBJ, STL and PLY import with GLB compaction · hot reload · .rpak archives
ExportingOne binary is both editor and game · lean exports without unused features · Windows, Linux, macOS, Android, iOS and web, cross-compiled from one machine · built-in updater
MarketplaceBrowse and install plugins, scripts and assets in the editor · publish from the Publish panel · creator credits

Planned

This list changes as work lands. See RELEASE_NOTES.md for what each nightly actually contains.

FeatureStatus
Accessibility (screen readers) for game UINext up
IME text entry for Chinese, Japanese and Korean inputNext up
GPU occlusion culling, clustered decals, light cookies and irradiance volumesNext up
Multiplayer: client prediction, secure handshake, avatar spawning, more transportsIn progress
Facial rigging and posingIn progress
Code editor: minimap, code folding and undo historyIn progress
Shared environment and lighting across multiple viewportsIn progress
Unified world environment componentIn progress
Translating the remaining editor textIn progress
Cinematic sequencer for cutscenesLater
Behavior trees and AI perceptionLater
Crowd avoidance for navmesh agentsLater
Camera rigs with shake, blending and railsLater
Spline mesh tools for roads, pipes and fencesLater
Vertex and mesh paintingLater
Vehicle physicsLater
Data tablesLater
Lightmap bakingLater
Level streaming for large worldsLater
In-editor profilerLater
HDR display output and video captureLater
Sprite rendering moving to SpriteMeshBevy 0.21 port
Ambient lights folding into environment-map lightsBevy 0.21 port
Assets becoming entitiesBevy 0.21 port
Upstream .bsn file format and entity inspectorBevy 0.21 port

Getting Started

Prerequisites: Rust.

git clone https://github.com/renzora/engine.git
cd engine
cargo renzora             # build, stage dist/, and launch the editor

That's the whole setup. cargo renzora builds the workspace natively, stages a complete engine into dist/<platform>/, and launches the editor from it. The first build is slow; every one after that is incremental.

On Linux you also need the usual graphics/audio dev headers:

sudo apt install pkg-config libx11-dev libxcursor-dev libxrandr-dev libxi-dev \
  libwayland-dev libxkbcommon-dev libasound2-dev libudev-dev

Build Commands

CommandWhat it does
cargo renzoraBuild, stage dist/<platform>/, and launch the editor.
cargo renzora distBuild and stage without launching.
cargo renzora profileProfiling build with Tracy instrumentation compiled in.
cargo renzora syncRegenerate the plugin wiring from the renzora::add! declarations.
cargo renzora remove <crate>Delete a plugin crate and every reference to it.

Building the editor always builds the runtime too. The runtime doubles as a dedicated server: run it with --server.

Iterate with cargo check --profile dist and cargo clippy --profile dist; run tests with cargo test --profile dist -p <crate>. Always pass --profile dist. A bare cargo command builds a second full set of artefacts under target/debug/, and this workspace is far too large for two of them.

Shipping a game for a platform you're not sitting at (a macOS, Android, or web build from a Windows box) is part of the editor's export system, covered in the docs.

Documentation

Full documentation (getting started, scripting, UI, plugins, exporting, and more) lives on the website:

renzora.com/docs

Supported Platforms

PlatformDevices
Windows x64Desktop, PCVR (SteamVR, Oculus Link)
Linux x64Desktop, Steam Deck
macOSIntel + Apple Silicon
Web (WASM)Chrome 113+, Edge 113+, Firefox Nightly
Android ARM64Phones, tablets, Meta Quest, Pico, HTC Vive Focus
iOSiPhone, iPad
Apple TVApple TV 4K, Apple TV HD

Supported File Formats

FormatType
.glb / .gltf / .fbx / .obj / .stl / .ply3D models
.rvgVirtual geometry models
.bsn / .ronScene files (.ron is the legacy format)
.rs / .luaScripts (Lua through a marketplace language plugin)
.materialMaterial graphs
.wesl / .wgslShaders and post effects (.wgsl in the legacy dialect is translated)
.animAnimation clips
.vfx / .particleParticle effects (.particle is the legacy format)
.png / .jpg / .hdr / .exr / .svgTextures and images
.rmipStreamed, compressed textures
.ogg / .mp3 / .wav / .flacAudio (native only)
.rpakCompressed asset archives

License

Dual-licensed under MIT or Apache 2.0.

关于 About

2D & 3D game engine & scene editor using bevy 0.20
2d3dbevyenginegamematerialsparticlesphysicsrenzorarustshadersui

语言 Languages

Rust96.6%
HTML1.5%
Lua0.9%
Shell0.4%
WGSL0.4%
Dockerfile0.2%
PowerShell0.0%
Nix0.0%
Swift0.0%
JavaScript0.0%
RenderScript0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
2206
Total Commits
峰值: 228次/周
Less
More

核心贡献者 Contributors