Christmas Tree
InteractiveBones$4.99Get the file
Runtime
.rivReady to use in your app or website.
$4.99
Editable
.rev + .rivOpen it in the Rive editor and change anything. The .riv is included.
$9.99

Learn to build it
Full accessBuild this yourself, step by step. Every file in the library is included.
Courses from $119
Own a course? Sign in and every file is yours.
Use it in your own products and client work. Please don't resell or share the files themselves.
Use it on your site
import { useRive } from '@rive-app/react-canvas';
export function Tree() {
const { rive, RiveComponent } = useRive({
src: '/christmas-tree.riv',
artboard: 'Tree',
stateMachines: 'State Machine',
autoplay: true,
autoBind: true,
});
// every input on this page is a view model property
const vm = rive?.viewModelInstance;
if (vm) vm.boolean('lightsOn').value = true;
return <RiveComponent style={{ width: '100%', height: 400 }} />;
}Inputs: lightsOn. All on the Tree view model.
How it's built
A Christmas tree with ornaments, candy canes and twinkling lights. It sways on its own and the ornaments swing with it. Tap it and the tree shakes, the star hops and the snow falls off. Tap again and the snow comes back.
- 1The tree bends on bonesFour bones run up the trunk and every shape is skinned to them, so the tip moves most and the base barely moves.
- 2Each piece has its own swingOrnaments and candy canes hang from their own pivots on the bones, so they follow the tree and swing a little late.
- 3Snow is one booleanA tap flips snowy. False drops the snow with squash and stretch, true grows it back. Your app can set it too.
- 4Lights are one boolean tooSix groups of bulbs blink on one looping timeline. Set lightsOn to false and they switch off.