Skip to content

ReyEngine v0.4.1-beta

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Sep 17:39
· 212 commits to main since this release

This release is about characters. A champion now opens in an editor of its own — picked by name, previewed through Riot's own compiled shaders rather than an approximation of them, with its materials editable live and its skeleton, spells and VFX attached. It also adds Cinematic Capture, so a camera move through a map can be exported as a frame sequence, and bulk editing for placed particles and materials.

Added

  • Character Editor. Pick a champion, a character and a skin, and get one window that previews the model and edits its materials — a material editor with the same controls the map side has always had, a submesh outliner that names the material each part draws with, and a champion picker for the install the skin came from. Edits show on both renderers as you make them.
  • Champions draw through Riot's own shaders. The character preview renders on Direct3D 11 with the game's compiled shaders and the skin's own render state, instead of the OpenGL approximation. Bones, the gizmo, VFX and the target dummy all came across with it.
  • What a character does. An ACTIONS list built from the champion's own record: Q/W/E/R in the order the game lists them, move, recall and the basic attack — each with the clip, missile, windup frame and hit the record actually names, rather than invented numbers. Casts are aimed at the cursor by their targeting kind, gated by cooldown, walk into range first, and draw their cast-range ring on the ground.
  • Arena. Play the character on a map the game ships, on that map's own navigation grid, so a walk cycle and a spell can be watched where they belong instead of over an empty grid.
  • Cinematic Capture. Fly a camera through the map on keyframes and export the move as a numbered PNG sequence. Every frame renders at a fixed time step, so the result is smooth whatever the viewport is doing and identical on every run. The sequencer does blending, per-move timing and keyframe editing.
  • Bulk editing. Select several placed particles — or several materials — and edit the fields they have in common in one shared inspector. Mixed values read as "—", one edit writes every selected object, and the whole thing is a single undo step.
  • A character's runtime states. A champion's materials often do not draw what their values say: they are driven at runtime by whether the champion is dead, buffed or playing a particular animation. The Material tab now offers those conditions as switches — built from the skin's own data, so each champion offers exactly the states it actually has — with a slider that walks the transition, because a death dissolve held to its end has removed the champion entirely.

Improved

  • Mesh particles run on Riot's own mesh shaders, with the birth rotation and per-axis scale the effect authors, instead of a stand-in. The OpenGL path gained the colour-palette and erosion stages it never had, so the two renderers agree on far more effects.
  • Particle fidelity: the mask texture is resolved and scrolled, the multiplier atlas is described to the shader that samples it, cast effects are aimed the way the game aims them, and a colour-palette strip no longer blends its first and last colours into a grey band.
  • The Direct3D 11 preview reports what it actually did — which materials drew, which submesh resolved to what, and why one did not — instead of failing quietly.

Fixed

  • Champion vertex colours never reached the shaders, and once they did, they arrived with their bytes in the wrong order. Shaders that use the channel as a mask — Locke's, for one — either ignored it or discarded the whole body.
  • Champion bones were posed in the wrong space. The shaders were handed a world-space camera while their positions were in view space, so every rim light, the fog-of-war lookup and the depth push were computed from a view direction that meant nothing. It showed up first on a champion whose whole look is rim lighting.
  • Material values a skin drives at runtime were drawn at their authored value. For Locke that meant previewing him part-way through his death dissolve, with no way to tell that was what you were looking at.
  • The Direct3D 11 character drew nothing at all, for four separate reasons in turn: its vertices were re-centred out of the pose its bones expected, it was never registered with the renderer, its materials reported none resolved, and its shader parameters defaulted to zero.
  • Direct3D 11 particles never moved after they were placed, and the erosion and palette permutations were selected without their values ever being sent.
  • Champion materials were all drawn alpha-blended and two-sided regardless of what they authored.
  • A gizmo arm measured between two different coordinate spaces, and a single exception inside the frame loop that could stop it for good.