Matrix Scaling
This guide explains how to use transformation matrices to scale, move, and rotate custom particles in League of Legends modding.
This guide explains how to use transformation matrices to scale, move, and rotate custom particles in League of Legends modding. It is based on a system commonly used in 3D rendering and adapted here for particle manipulation.
Required Tools
| Tool | Purpose |
|---|---|
| Jade | Edit .bin files visually (recommended) |
| Ritobin | Alternative: convert .bin to .py for editing |
| VS Code or Notepad++ | Needed only with the Ritobin text workflow |
Written Guide
How Matrices Work
Transformation matrices are a mathematical way to handle:
- Translation (moving)
- Rotation
- Scaling
Step 1 – Adding a Default Matrix
First, you'll add a default matrix at the end of your VfxSystemDefinitionData block. This default matrix doesn't change anything; it simply acts as a placeholder.
Example:
Transform: mtx44 = {
1, 0, 0, 0
0, 1, 0, 0
0, 0, 1, 0
0, 0, 0, 1
}This keeps your transformation "neutral" — no scaling, moving, or rotating by default.
Step 2 – Editing Size (Scaling Particles)
Decreasing Size (Shrink)
To make a particle smaller, use values below 1.
Example (2× smaller):
Transform: mtx44 = {
0.5, 0, 0, 0
0, 0.5, 0, 0
0, 0, 0.5, 0
0, 0, 0, 1
}Increasing Size (Enlarge)
To make a particle larger, use values greater than 1.
Example (2× or 4× larger):
Transform: mtx44 = {
2, 0, 0, 0
0, 2, 0, 0
0, 0, 2, 0
0, 0, 0, 1
}Step 3 – Moving the Particle (Editing XYZ Positions)
You can move a particle along specific axes by changing values in the last row of the matrix.
Moving Up (Y-Axis)
Move the VFX upward:
Transform: mtx44 = {
1, 0, 0, 0
0, 1, 0, 0
0, 0, 1, 0
0, 250, 0, 1
}(Moves 250 units up.)
Moving Sideways (Z-Axis)
Move the VFX left or right:
Transform: mtx44 = {
1, 0, 0, 0
0, 1, 0, 0
0, 0, 1, 0
0, 0, 250, 1
}(Moves 250 units along Z.)
💡 Tip: You might need to test and tweak values to get the exact placement you want!
Mirror Particle System
To completely mirror a particle system:
Transform: mtx44 = {
-1, 0, 0, 0
0, 1, 0, 0
0, 0, -1, 0
0, 0, 0, 1
}File Formats
Modding League of Legends involves working with several key file types. Master these three formats and you'll be able to edit anything in the game.
Static Materials
``plaintext materialOverride: list[embed] = { SkinMeshDataProperties_MaterialOverride { material: link = "a_unique_name" submesh: string = "yoursubmesh" } } ``
