# godot-dice-roller A Godot UI control that rolls 3D dices in a box. ## Features * Configurable setup: - Dynamic set of dices: d4, d6 and d10 - Custom colors for each dice - Configurable box size and color * 3 ways to roll: - Physics based dice rolling (slow but cool) - Turning dices to a computer generated random value (faster but unnatural) - Turning dices to a given value (useful when the actual rolling is done remotely) * Easy to integrate in your code: - Trigger rolling programmatically from buttons or shortcuts - A signal notifies after the rolling - Obtain results for individual dices or add up. * Responsive to layouts: - The control adapts to the available space given by the layout - Whichever the resulting size, the camera adapts the zoom to fully see the rolling box floor - Automatically rotates the rolling box if the control aspect ratio is inverse to the one of the box ## Usage - Install the addon in your project from the AssetLib - Exclude files outside `addons/` to avoid conflicts - Enable the plugin in the project settings - Insert a `DiceRollerControl` as part of your UI - Depending on the layout you might want to set a minimum control size - Setup the dice set attribute with some dices - You might want to adapt the box size to the number of dices to avoid rolls impossible to fit in - Trigger a roll by calling `roll()` method on the control. - Alternativelly, use the `quick_roll() to skip physics simulation - Also you may enable the `interactive` flag to roll on click or quickroll on right-click - Connect the `rollFinished(value)` to your code - Use the incoming value from the signal as the added value or use the `result()` method - You can also use the `per_dice_result()` to get individual values for each dice - You can emulate external rolls with `show_faces(result)` # Changelog ## 1.4.0 (2025-02-10) - New dice: d20 - New dice: d10x10 - `interactive` flag to enable/disable roll on click - Expose in control the `show_faces` method to represent external rolls - Control icon clearer without outline and bigger dices - Improved documentation (README and reference) ## 1.3.0 (2025-01-28) - New dice: d10 - d4: proper shape for the highlight - Android support - Example scene, now available as Android App - Generate F-Droid metadata ## 1.2.1 (2025-01-07) - Example: Full dice set editor: Add, Remove, Edit - d4 and d6 code mostly merged ## 1.2.0 (2025-01-06) - New dice: d4 - Beveled borders for d6 - Generalization to favor inclusion of more shapes of dices ## 1.1.1 (2025-01-03) - Cleaner installs - screenshots and build files excluded from package - examples moved to `examples/dice_roller/` for cleaner merge in user's project along with other plugins. ## 1.1.0 (2024-12-23) - API stabilized. From now on, api changes will imply major and minor version changes following semantic versioning. - Highlights without artifacts - New script to upload to the asset lib using project metadata ## 1.0.5 (2024-12-19) - DiceRollerControl can be created without instantiating the scene, just by creating selecting the node type. - Expose roller attributes in Control (box size and color) - Method `per_dice_result` returns the value of each dice - Example: New button to add dices interactivelly - Added Environment with ambient light for more natural look - Fix: rolling after fastrolling kept the highlight - Fix: avoid changing the dice set while rolling - Removed non essential files from the package ## 1.0.4 (2024-12-13) - More natural initial arrangement of dices - `DiceRollerControl` signal `roll_started` - `DiceRollerControl` method `quick_rolling` - Example updated to show how to use them - Scenes cleanup of uneeded properties - Packaging: Added previews and fixed name to match ## 1.0.3 (2024-12-11) - Dices set can be defined with control properties - Dices are auto-named if no name given or the name conflicts with other dices - Lights adjustments. - Fix: Dice colors looked as dark as far they were from yellow. Svg texture was loaded with a yellow background. Using png export instead. - Fix: Dice highlight position degradated with each roll. Floor offset was not properly oriented and accomulated. - Fix: Freeze when when quick rolling a set bigger than two. ## 1.0.2 (2024-12-02) - CI to release from github actions - Icon and classname for RollerBox ## 1.0.1 (2024-12-02) - Example out of the addon - Documentation and metadata ## 1.0.0 (2024-12-02) - First public release - Extracted from godatan project - Reorganized object responsability - Code distributed into a folder per scene - Roller box can be resized - Generated collision shapes to enable dinamic - Set camera so that the viewport adjust the floor of the box - Rotate the camera so that box and viewport matches portrait/landscape orientation - Added an example of usage within a UI - Debug tools
- 4.3v1.4.02D ToolsBy: vokimon
- 3.5v1.02D Tools
ProCam2D is a versatile and feature-rich custom 2D camera node for the Godot Engine, designed to provide industry-quality camera controls for any type of 2D game. This plugin offers extensive customization, including multiple follow modes, smooth transitions, and support for cinematic sequences. With a robust addon system, developers can easily extend its functionality with custom behaviors. Some inbuilt addons include shake effects, grid snapping, and more. ProCam2D is controlled via an autoload, making it accessible from any script in your project. Ideal for developers seeking precise and professional camera behavior, ProCam2D enhances game immersion and player experience. For a more recent version, contributions or bug reports, visit: github.com/daz-b-like/ProCam2D_Godot3.x/
By: kalulu_games - 4.4v1.0.1.2Tools
Custom Folder Icons Addon For Godot 4 Allows you to choose a custom icons for folders. (also works with files) How Work In the godot file system, press RMB (right click) on any folder/file you want to iconize and select Custom Icon from the menu.
By: Twister - 4.2v1.0Scripts
DokiVN is inspired by the "renpy" language, making it easy to program dialogues and interactions of a Visual Novel using only GDScript
By: QJPG - 4.3
- 4.2
- 4.2v1.02D Tools
Plugin for creating B-Spline based shapes. It allows you to: - create and edit the b-spline points and weights in the editor -create open or closed shapes - create clamped open shapes - change spline degree and rendering detail - choose border width and color - choose fill color or texture - specify virtual shape extension for creating floors and ceilings - auto-create collision polygon
By: tripodsan - 4.3v1.03D Tools
Converts CSG shapes in a scene without any setup. Adds a button to the 3D editor, visible while CSGs are selected. Convert selected (or all) CSG shapes to mesh instances or static bodies, while keeping the scene structure intact. Can read Use Collision to decide automatically. Will carry over settings and child nodes. Full Undo-Redo-Support.
By: Kirito - 4.0v1.0.23D Tools
This add-on adds a new node called NodeShaker3D, it allows you to shake any node that inherits from Node3D, there is two types of shakes that is possible, one is positional shake and another is rotational shake, each option provides a unique shake to the node.
By: Dragon20C - 4.0v2.1.12D Tools
This plugin is a Control that displays a radial progress indicator with several options. See the README.md file for more information. The plugin is a Godot 4 update of the Godot 3 asset https://godotengine.org/asset-library/asset/497 If installing from the Godot Editor AssetLib tab, only the folder addons/radial_progress/ needs to be installed. Tested in Godot 4.0.4-stable, Godot 4.1.4-stable, Godot 4.2.2-stable and Godot 4.3-beta1.
By: DaveTheCoder - 4.0v1.1Scripts
The Godot Resource Encryption Plugin enables developers to securely save and load resources in Godot with any file type, utilizing encryption to protect sensitive data. This plugin integrates seamlessly into your project, providing an easy-to-use interface for resource management. New Classes: * ResourceEncryptionSaver * ResourceEncryptionLoader Save Resources Securely: Encrypt and save any Godot resource to your chosen file extension, such as .dat, ensuring data integrity and security. Load Encrypted Resources: Decrypt and load resources, returning them as usable Godot Resource objects. Simple API: Use straightforward functions to save and load resources with encryption keys. Flexibility: Supports various file types and custom extensions, allowing for flexible resource management.
By: SolicArc - 4.0v0.2.0Misc
Made in collaboration with Cup Nooble. https://cupnooble.itch.io/
By: Maaack - 4.0v1.2.23D Tools
Custom Camera3D node that serves as a camera with included freecam flying mode! Press `Tab` to enable the camera to fly freely. Then move with `WASD` and fly up/down with `Space` / `Shift`. Speed up and slow down by scrolling the mouse wheel. The controls are taken from Minecraft, because I find them intuitive. :)
By: BananaBread - 4.0v1.13D Tools
# Node Distance Tool for Godot The Node Distance Tool is an addon for Godot Engine that allows users to select two 3D nodes and measure the distance between them. It creates a line connecting the nodes and displays the measured distance in the scene. This addon is useful for developers who need to measure distances between objects during game or simulation development in Godot. ## Features - Select two 3D nodes and measure the distance between them. - Visualize a line connecting the two nodes. - Display the rounded distance in meters between the nodes. - Shortcut "Q" for easy selection and measurement. - Option to reset measurements (remove all lines and labels) with a dedicated button. ## How to Use 1. Install the addon in your project's addons folder in Godot. 2. Enable the addon in "Project > Project Settings > Plugins". 3. In the 3D scene editor, select the first node and press "Q". 4. Select the second node and press "Q" again to measure the distance. 5. Use the reset button to remove the measurement lines and labels, if necessary. ## Requirements - Godot Engine version 4.0 or higher. /// Update 1.1 brings three new Node Distance Tool measurement modes: Normal, Continuous, and Togheter. In Normal Mode, you measure the distance between two nodes and a line connects them. In Continuous Mode, measurement is automatically performed between consecutive nodes without the need for restart. In Togheter Mode, you select multiple nodes and when you move any one, the distance between them is recalculated. - button to block the creation of lines and labels - and buttons to activate continuous and set modes ///
By: NuncaAglutinar - 4.3v1.0Templates
A really simple first person template, containing really basic stuff for developing first person games. That includes: - Player with basic movement - Interaction system - Basic pause and main menu
By: asshole42 - 4.2v1.1Tools
This Addon provides a custom node to add a Console/Textchat to your scenes. You can print messages with various text formatting or enter commands to help you debugging.
By: KeilainMan - 4.3v1.0.2Scripts
Utilities to convert godot classes to JSON and vice versa Aims for simplicity, performance and support all types
By: kyo83 - 4.3v1.02D Tools
Plugin to combine Better Terrain and Gaea plugins. Requires Godot 4.3+, Better Terrain and Gaea. Only works with TileMapLayers. https://github.com/Portponky/better-terrain https://github.com/BenjaTK/Gaea
By: Portponky - 4.0v1.0.0Tools
Filepath Generator generates a GDScript file with constants for res:// paths to all relevant files in your project, so that in your code you use `ProjectFiles.Scenes.ENEMY` instead of "res://scenes/enemy/enemy.tscn".
By: Game Gems - 4.4v0.5Tools
This addon lets you access and interact with GPIO on linux hosts like Raspberry Pis. Examples can be run from the project in the repository, including the GPIO explorer where the screenshot comes from.
By: val - 4.3v1.0.0Tools
A small GDExtension that allows to interact with the OS keyring. Currently works with Windows and Linux.
By: shomy - 4.3v0.1.03D Tools
Building Culler allows you to manage the showing/hiding of upper levels of your 3D buildings when your character enters. This is useful for third-person games where the camera collisions make navigating interiors difficult. Add a Building node to denote your building, and create BuildingLevel nodes inside of it for each level of your building. All objects inside on your BuildingLevel's will have their visibility, physics, and processing culled if the player enters a floor that is lower than the associated floor. Don't forget to add a BuildingLevel for your roof, especially for single-story buildings, to cull the roof when the player enters.
By: Norpyx - 4.2v1.1.0Misc
This native extension (GDExtension) for the Godot Game Engine allows you to use audio based controller haptics as found on DualSense or Switch Pro controllers on desktop platforms. Supported Controllers: - DualSense - DualSense Edge (untested) Supported Operating Systems: - Linux with PipeWire - Linux with PulseAudio - Windows (untested) Usage: 1. Download the latest release of the extension and add it to your project 2. Create a new audio bus, mute it and add the ControllerHaptics effect to it Example Audio Bus layout 3. Play audio on the newly created haptics bus
By: timoschwarzer - 4.2v1.0Misc
A Control node that displays text like a split flap board.
By: Jacob Ibanez Sanchez