Rive Get Started
statemachine
animation per layer
Procedural Animation in Rive: How To Engineer a Dynamic Character
- [The Power of ‘Functions’ in Rive: Learn to Automate Your Workflow](https://withloveapp.substack.com/p/the-power-of-functions-in-rive-learn)
1. the two transitions, between the animation states, and set both conditions to the trigger input.
1. Target the listener to the artboard
1. ‘Input Change’ “Listener Action”
How to Call the ‘Function’
- Fire an event from a transition in the state machine.
- Fire an event from an animation state in the state machine.
- Keyframe an event to fire from a timeline.
Build Interactive Characters in Rive
rive bone bindings
- https://qiita.com/ari-chel/items/e0675cb94cbae3ff6fec
- https://www.youtube.com/watch?v=2ShhjWKENvY
- https://www.youtube.com/watch?v=ZXXg-g8g8eM
- https://www.youtube.com/watch?v=JJCQDPrSmvQ
nested artboard https://www.youtube.com/watch?v=HHGFkbEr_PI
orgin %
https://youtu.be/20aS5ZOkNpI?si=vtbp2D5AraEEYjNC&t=221
why group of group? usecase: change scale in animaion to group
- animated group + shape the origine is 0,0
- new group of the animated group and the shape this makes origin for animation is set to the new group, it breaks the animation
- redifne the origine
raster
PSD: When exporting from Photoshop, make sure you’re only using vector layers. Illustrator: Presentation Attributes Rive does not have a concept of point (pt) or millimeter (mm) sizing. SVG not supported: inherit, stroke-dasharray, mask, filter, skew importing .psd > animate each layer - replace - webP (compression)
animation get started - books
mesh
clipping
https://www.youtube.com/watch?v=u8EPxqT3LnM&t=225s
- selection color or layer to be 0% to hide it
- stroke is not used for clipping but you can clip stroke with a shape
- clipping a face with head shape
solo
https://rive.app/docs/editor/manipulating-shapes/solos
- Animating Solos
- Creating New Skins
- Change the underlying rig
- Frame-by-frame animation
trim path for stroke animation and dash animation https://rive.app/docs/editor/manipulating-shapes/trim-path
joystick with translation constrain - cusor
translation constrain - https://www.youtube.com/watch?v=i6OAPcqcPBw&t=176s - copy X, copy Y
keep showing joystick in animation needs a timeline
when creaatign a new time line, make sure the default keys are created automatically, so you need to remove the keys which are not your tagret for animation
group as target for constrain
- https://www.youtube.com/watch?v=8FK5E5WBUpM&t=12s
- https://rive.app/docs/editor/constraints/ik-constraint
text run
test style multiple fills/strokes
text modifier for bouncing text
text modifer range - charecater, words, lines - percent or index
constraints
- distance
- closer, further, exactly
- path
- https://youtu.be/9Gp_Kz-ylT4?si=-U6NrUJtkCupIrpI&t=59a
- distance percenet is used for positioning
- select a vertex for starting point
- https://youtu.be/9Gp_Kz-ylT4?si=IWCqGz-DeM62wLM_&t=236
- jumps to different paths
- the order of paths are as same as hierarchy
- https://youtu.be/9Gp_Kz-ylT4?si=-U6NrUJtkCupIrpI&t=59a
animation
switch modes, use the tab shortcut.
shortcuts cmd + “.” “,”
https://youtu.be/4U3er1uSjBw?si=5U9cs9tnaitQFIo6&t=295
- work area for loop
- work area for offset as delay
graph editor
draw order
- https://rive.app/docs/editor/animate-mode/animating-draw-order
- https://youtu.be/9gQkxPVPffs?si=6_CmKswPyGM08PbN&t=101
- change the order of a selected object against one target
state machine
F key to reset the view position of graph at center
multiple layers if you wish to mix multiple animations or add additional interactions to a staate machine
transition moves to another animation with duration, conditions and events
- duration ms
- exit time %
inputs for conditions of the transiotn
- boolean
- number
- trigger is an event that invokes the transition
listner is listening a target event of mouse (point), and then do action below
- input change
- align target
- point move then it makes dragging the target
- hit area(listening object) can be transparent and set the target to another object
- fire event
any state - five stars example
simple button
double click
options menu
expose inputs to parent artboard from nestd artboard
inputs are updated at keys of timeline, use hold interpolation
event in nested artboard
This action is hidden unless you are targeting an Artboard or Nested artboard.
audio
- audio library
- clip audio panel
- in timeline, add key of play audio or transition event to invoke play audio
- or use listener (fire event to clip1 or clip2, clip1 and clip2 are audio clips) https://youtu.be/62j3fbNgxFY?si=WiECVmoHR-G7ZVZH&t=468
- power on button workaround for sharing
layout
hug
view port(row) > content(column)
- swith off absolute position to use Fill
- fixed pt, fixed %, hug and fill
- fill ratio for each element in fill
- three timelines for 3 elements
- state machine
- any state
- input number
- condition: left to right
- duration
- listner for each element - pointer enter event to set the number
8.5 Reflow: separete artboard for background image
- text box: auto height
- empty layout with fill for gap
- Hug makes elements to go outside the bound, use Fill
- nested artboard of background: set mode Leaf then Fit:Cover
- Root layout: clip the content
- the background: Align Pos -0.5
- state machine
- portrait
- landscape
- export framer with rive plugin
- player: rive renderer
- change Fit to Layout
- player: rive renderer
- Layout > Constraints > Scroll
- for scrollbar, set target
- Layout > Constraints > Scroll
viewmodel > data biniding > target to source
converter can have data binding as a kind of argument
Export
.lottie > svg sequence > svg animation
AI Agent for Adobe tools (Adobe Photoshop and Adobe Premiere)

Framepack
o3
https://x.com/GianMattya/status/1912838692344840328
Certainly! Here’s the English translation of your request:
“I would like to generate a fantasy-style image.
Please generate three separate transparent images: a background with elements of an ‘RPG-like cityscape,’ a ‘magical girl holding a staff,’ and ‘fire effects.’ (The third image will be a transparent image of just the effects).
Also, please generate them with a layer structure in the order of background, girl, and effects, considering the positional relationship between the layers.”
Okay, I can definitely help you refine the prompt to make it clearer and more likely to generate the images you envision. Here are a few options, focusing on different aspects you might want to emphasize:
Option 1 (More Detailed Description):
Generate three separate transparent PNG images for a fantasy-style scene.
**Image 1 (Background):** A detailed background depicting an RPG-like cityscape. This could include elements such as medieval-style buildings, cobblestone streets, perhaps a marketplace or ancient ruins in the distance. Ensure the perspective suggests a place where an adventure could unfold. Make this image transparent.
**Image 2 (Character):** A magical girl holding a staff. She should have a visually distinct fantasy appearance, perhaps with stylized clothing and hair. The staff should also look magical, possibly glowing or ornate. Ensure this image is transparent, isolating the girl and her staff.
**Image 3 (Effects):** Dynamic fire effects. These could be bursts of flame, trails of fire, or a magical-looking fire aura. The effects should be visually interesting and suggest magical power. This image should be transparent, containing only the fire effects.
The intended layering is: Background (bottom layer), Magical Girl (middle layer), and Fire Effects (top layer), with the elements positioned in a way that makes sense within the scene (e.g., the fire might be emanating from the girl's staff or surrounding her).
Option 2 (Emphasis on Mood and Style):
Create three distinct transparent images for a fantasy composition.
**Image 1 (Background):** A background evoking the atmosphere of an RPG town. Consider a slightly painterly or illustrative style. The scene should feel immersive and hint at adventure. Ensure transparency.
**Image 2 (Character):** A magical girl with a staff, designed in a fantasy anime or game art style. Her expression and pose should suggest she is capable of using magic. Make sure the background is transparent.
**Image 3 (Effects):** Fiery magical effects with a vibrant and energetic feel. These should complement the magical girl's design and the overall fantasy aesthetic. This should be a transparent image containing only the fire.
These layers should be composable in the order of Background -> Magical Girl -> Fire Effects, with careful consideration of how they visually interact and are positioned relative to each other.
Option 3 (Concise but Clear):
Generate three transparent PNG images for a fantasy scene with the following layers:
1. **Background:** An RPG-style cityscape.
2. **Foreground:** A magical girl holding a staff.
3. **Overlay:** Fire effects.
Ensure each element is isolated with a transparent background and that the visual style is consistent across all three images, suitable for layering in that order.
Key improvements in these refined prompts:
- Explicitly mentions transparent PNG: This is the standard format for images with transparency.
- Provides more detail for each element: This helps the AI understand the specific characteristics you’re looking for in the background, character, and effects.
- Suggests artistic styles or moods: This can guide the AI towards a more cohesive visual outcome.
- Reiterates the layering order: This reinforces the intended composition.
- Uses clearer terminology: “Foreground” and “Overlay” can be more intuitive for some AI tools.
When you use an image generation tool, you can try each of these prompts or even combine elements from them to get the best results. Good luck! Let me know if you have any other questions.
Based on the image provided, here’s a breakdown of the colors and patterns of the cat’s face parts:
Ears:
- Color: Brown and white, with some pink visible inside.
- Pattern: The outer part of the ears shows a brown tabby pattern (darker brown/black stripes on a lighter brown/grey background). There’s some white fur at the base where the ears connect to the head.
Muzzle/Nose Area:
- Color: Primarily white fur, with a pink nose leather (the tip of the nose).
- Pattern: Solid white covers the whisker pads, the area above the mouth, and extends up the bridge of the nose between the eyes.
Eyes:
- Color: The irises are a light green or greenish-yellow. The pupils are black. The eyelids appear to be rimmed with a dark color (dark brown or black).
- Pattern: No specific pattern within the eye color itself, other than the natural coloration of the iris and pupil.
Forehead:
- Color: Brown, black, grey, and white.
- Pattern: Classic brown tabby markings, featuring stripes of darker brown/black on a lighter greyish-brown background. A distinct dark ‘M’ marking is visible on the forehead, characteristic of tabby cats. There is a patch of white fur extending up from the muzzle onto the lower part of the forehead between the eyes.
Cheeks:
- Color: Mix of brown tabby and white.
- Pattern: The upper cheeks continue the brown tabby pattern from the forehead and around the eyes, while the lower cheeks transition into the white fur of the muzzle and chin area.
Chin:
- Color: White.
- Pattern: Solid white.
Whiskers:
- Color: White.
Overall, the cat has a “tabby and white” pattern on its face, combining the striped tabby markings on the upper parts (forehead, ears, around eyes) with significant white areas on the lower parts (muzzle, chin, bridge of nose).
https://www.techno-edge.net/article/2025/04/18/4289.html
https://www.recraft.ai/community?imageParentType=vector_illustration
Generate SVG code for a simple, illustrative cat face.
The cat face should have the following elements based on a common tabby cat appearance:
- Head: A rounded shape, wider at the top and slightly narrower towards the bottom. Use a base color representing tabby fur (e.g., a mid-grey or light brown).
- Ears: Two simple triangular shapes positioned at the top of the head, slightly pointed upwards. Use the same color as the head, maybe with a slightly lighter inner ear color (e.g., light pink or pale grey).
- Eyes: Two simple shapes (like circles or rounded ovals) placed in the upper half of the face. Color the irises a yellowish-green or greenish-gold. You can represent pupils as simple vertical lines or small ovals within the irises.
- Nose: A small, simple shape (like a triangle or rounded point) positioned below and between the eyes. Color it light pink.
- Muzzle and Chin: A distinct white area below the nose, extending downwards to form the chin. This should cover the area where the mouth would be.
- Whiskers: A few simple lines extending outwards from the sides of the white muzzle area. Use a light color like white or light grey for the strokes.
- Optional (Simple Pattern): You can add a very basic representation of tabby markings using a few simple shapes or lines on the forehead and cheeks if possible, but keep it very minimal and simple, not detailed stripes.
The output must be valid SVG code.The overall style should be clean and graphic, like a simple icon or a flat design illustration, not realistic or hand-drawn, use shapes like ovlas, triagnles and rectagnles or polygones as much as possible insead of paths. Create a group element for each face element. tUse solid colors or simple gradients where appropriate for the style.
https://replicate.delivery/xezq/pDgHockV6o4BDdVvDsehfknlkL1y7sNi6zOLBP151f0AsZIpA/tmpddqow8li.svg
by claude
can you analyse the cat.svg and make groups of shapes such left/right eyes, ears, mouth etc?
identify and extract the bounding boxes for the key parts of the cat illustration (like headphones, ears, eyes, legs, tail, etc.) and return a JSON with each part's name and bounding box coordinates.
wrap subsets of the SVG’s shapes into new groups whose id values match the bounding‐box region names from your JSON. In the example below the file is broken into regions for headphones, left/right ears, left/right eyes, nose, whiskers, mouth, collar, left/right legs, and tail. You can then later move or adjust the shapes inside each group as needed.
Below is one approach to wrap subsets of the SVG’s shapes into new groups whose id values match the bounding‐box region names from your JSON. In the example below the file is broken into regions for headphones, left/right ears, left/right eyes, nose, whiskers, mouth, collar, left/right legs, and tail. You can then later move or adjust the shapes inside each group as needed.
For example, you could modify your SVG file like this:
cat_headphone.svg
Wrap the existing <path> elements (or portions thereof) into groups matching the bounding‐box names.
stacking order (z-index)
{ “headphones”: { “x”: 390, “y”: 250, “width”: 360, “height”: 240 }, “left_ear”: { “x”: 470, “y”: 130, “width”: 100, “height”: 120 }, “right_ear”: { “x”: 700, “y”: 200, “width”: 120, “height”: 130 }, “left_eye”: { “x”: 470, “y”: 340, “width”: 50, “height”: 40 }, “right_eye”: { “x”: 600, “y”: 360, “width”: 50, “height”: 40 }, “mouth”: { “x”: 520, “y”: 450, “width”: 100, “height”: 100 }, “left_leg”: { “x”: 420, “y”: 860, “width”: 100, “height”: 100 }, “right_leg”: { “x”: 560, “y”: 860, “width”: 100, “height”: 100 }, “tail”: { “x”: 750, “y”: 690, “width”: 190, “height”: 260 }, “collar”: { “x”: 500, “y”: 570, “width”: 140, “height”: 50 }, “whiskers”: { “x”: 370, “y”: 380, “width”: 300, “height”: 80 }, “nose”: { “x”: 520, “y”: 420, “width”: 40, “height”: 30 } }