Hanging Ornament
InteractiveData BindingFreeGet the file
Runtime
.rivReady to use in your app or website.
Free
Editable
.revOpen it in the Rive editor and change anything.
Free

Learn to build it
Full accessBuild this yourself, step by step. Every file in the library is included.
Courses from $119
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 HangingOrnament() {
const { rive, RiveComponent } = useRive({
src: '/hanging-ornament.riv',
artboard: 'Hanging Ornament',
stateMachines: 'State Machine',
autoplay: true,
autoBind: true,
});
// every input on this page is a view model property
const vm = rive?.viewModelInstance;
if (vm) vm.color('ballColor').value = 0xFFE73D40;
return <RiveComponent style={{ width: '100%', height: 400 }} />;
}Inputs: ballColor, capColor. All on the HangingOrnament view model.
How it's built
A Christmas ball hanging from the top edge on a thin string. Tap it and it swings out and slowly settles. Set the colours of the ball and the cap.
- 1It swings from one pivotThe string and the ball rotate around the top edge, and each swing is smaller than the last.
- 2The colours are boundballColor and capColor take any colour, and the shading on the ball follows.