Skip to main content
1m ago

Global Rive File Inputs and Apply Transforms Feature

Hi I have been using rive to design characters for a video game. These two features would help improve the process of accomplishing designing these characters faster and cleaner.

Feature 1: Global inputs

The idea of this is that there are inputs that are referenced by all art boards in a rive file. An example of this would be when I was designing the player character. There are 8 directions the player can face meaning 8 artboards plus the main controller artboard which adjusts which of the other nested artboards are visible depending on the direction the player is going. Each of the nested artboards have the same set of inputs for the characters design and which animation state they are in. That means I had to write the same inputs and key all of the separate ones from the main artboard 8 times. A global exposed input that all artboards can reference would be easier for this development process.

Feature 2: Apply Transforms

I have gotten to the point where I have enough characters designed that I want to reuse parts of the character for others since I have already drawn them (Arms, clothes, etc...). Since my characters are outlined with the stroke brush transferring one part of a character to another is not as easy as copy and paste. The stroke is based on the original size and scale of the object. That means that if I adjust the scale of one side and not the other the stroke is distorted. So now I have characters with various size values of strokes attempting to look the same size visibly to the eye. A nice feature would be a quick way to establish a shape and apply all the transforms to it similar to what you have to do in 3d design software. If I adjust the scale of an object and apply transforms, it sees the new size as the default shape. This will help solve the issue of stretched, mismatched strokes I am facing and may make the files more performant by removing unnecessary scale calculations by adjusting them upfront instead of everytime at runtime.

I love this tool and am excited to see where you guys continue to take it!

1 reply
1m ago

Enum datatype support might also make the process easier for pure designers working with data inputs. Under the hood it would just be a number input, but this allows them to verbalize what each number represents if the input acts as more of a state versus a range.