Maxime Lebled b2b9b03e46 Animgraph optimisations (#3645)
* Citizen/animgraph: optimise the skid layer by cutting it out completely if there has been no wish movement for the past 3 seconds. ~10% performance gain for players who are standing still.

* Citizen/animgraph: optimise the locomotion wish layer by cutting it out if wish values have been equal to 0 for the past 3 seconds. ~5% performance gain for players who are standing still.

* Citizen/animgraph: optimise the "turn poses / rotation lean" layer by cutting it out if move_rotationspeed has been 0 for the past 3 seconds. ~5-10% performance gain for players who are standing still or moving in a straight line.

* Citizen/animgraph: optimise the "standing shuffle" layer by cutting it out when move_rotationspeed has been 0 for the past 3 seconds. ~2-4% performance gain for players who are standing still and not turning.

* Citizen/animgraph: optimise the height scaling layer by cutting out scale_heel completely if you're not wearing high heels, and bypassing the entire layer if your height is default. ~3% performance gain for players with default height; unmeasurable if different height while without heels.

* Citizen/animgraph: oops, the skid layer optimisation should be checking against the skid values, not wish

* Citizen/animgraph: optimise the facial animation subgraph by cutting out the voice lipsync bone mask & blend nodes if the voice level has been 0 for more than 3 seconds, and by replacing the random blink machine, previously based on a Choice node that effectively rolled a 85/15 dice every second (but relied on 2 constantly playing sequences) by a state machine with the new "random time between" feature. The add node is now only active during a blink. Time between blinks is now random between 0.1 and 5.0 seconds.

* Humans: derive animgraphs from Citizen updates
2025-12-19 01:26:03 +00:00
2025-12-19 01:26:03 +00:00
2025-11-24 09:05:18 +00:00
2025-11-24 09:05:18 +00:00
2025-11-24 09:05:18 +00:00
2025-11-24 09:05:18 +00:00
2025-11-24 09:05:18 +00:00

s&box

s&box is a modern game engine, built on Valve's Source 2 and the latest .NET technology, it provides a modern intuitive editor for creating games.

s&box editor

If your goal is to create games using s&box, please start with the getting started guide. This repository is for building the engine from source for those who want to contribute to the development of the engine.

Getting the Engine

Steam

You can download and install the s&box editor directly from Steam.

Compiling from Source

If you want to build from source, this repository includes all the necessary files to compile the engine yourself.

Prerequisites

Building

# Clone the repo
git clone https://github.com/Facepunch/sbox-public.git

Once you've cloned the repo simply run Bootstrap.bat which will download dependencies and build the engine.

The game and editor can be run from the binaries in the game folder.

Contributing

If you would like to contribute to the engine, please see the contributing guide.

If you want to report bugs or request new features, see sbox-issues.

Documentation

Full documentation, tutorials, and API references are available at sbox.game/dev/.

License

The s&box engine source code is licensed under the MIT License.

Certain native binaries in game/bin are not covered by the MIT license. These binaries are distributed under the s&box EULA. You must agree to the terms of the EULA to use them.

This project includes third-party components that are separately licensed. Those components are not covered by the MIT license above and remain subject to their original licenses as indicated in game/thirdpartylegalnotices.

Description
No description provided
Readme 201 MiB
Languages
C# 92.8%
HLSL 4.2%
HTML 1.5%
SCSS 1%
C++ 0.3%
Other 0.2%