Click here to access the documentation
If you find a bug or have a feature request you can add it here
Your PRs are welcome!
However, in order to keep a clean code base, please follow the coding conventions that are applied in this resource
- π±οΈ Cursor trace control
- If enabled, (and if the cursor is also enabled) the cursor location is translated into a local mouse position on the UI
- π₯ Camera trace control
- If enabled, the camera location and direction are used to emulate a cursor in the 3d space
- If enabled, a cursor decal is projected on the UI mesh at the trace hit location for easier navigation
- Mouse move events are sent to the UI
- LMB/RMB/MMB press and release events are sent to the UI
- Support simple and multiple (double and triple) clicks
- Prevent inputs sent to the UI from firing key events not related to a targeted
WebUI3d2d
(can be disabled if needed)
- Seamless input of characters in text fields
- Many ASCII chars filtering, allowing for a seamless navigation
- AZERTY keys support
- Supports CTRL/Alt/Shift/... CEF key modifiers
- Uppercase support with Caps lock and Shift modifiers (for A to Z letters)
- Prevent inputs sent to the UI from firing key events not related to a targeted
WebUI3d2d
(can be disabled if needed)
- Mouse scroll wheel up/down
- Middle mouse button drag
- Page up/down
- You can make the player camera focus a WebUI3d2d, and make navigation even easier
- If used, sounds emitted by the UI will play in the 3d space
- For instance, you can create a curved UI depending on the mesh you use
- Optionnaly, you can change the material index used for texture projection on the mesh
- Automatic interract distance, depending on the WebUI3d2d mesh scale
- The "target lookup" is what handles 3D UI targetting, the cursor location on a targetted UI, and so on..
- The maximum target lookup calls are made when an UI is already targetted (12 calls per second), otherwise there's only 4 calls per second
- This greatly optimizes the game experience when no WebUI3d2d is targeted (or in a decent range)
- Freeze the page when the mesh stops being rendered
- Freeze the page when the mesh is out of range from the camera