Heart free 3D model & sprite sheet

2D pixel art by Pixor, from the 3D model

32×32 px · ×8
SideFront
Animationpulse
Size
Colours
selout · 32px · 8 sides

3D the model it was rendered from

Heart, 3D model
Open in browser demo Open in Pixor
Download ▾
Open in Pixor downloads a small file that opens in Pixor (desktop). No Pixor yet? Get it or try the browser demo. Godot and Aseprite files are in the zip.

GIFs to share

For a devlog, a post or a Discord message. CC0 like the rest: no credit needed.

Heart, animated pixel-art GIF
From the front Download
Heart from all 8 sides, animated pixel art
Every side Download

A puffy red heart that pulses gently, the universal sign for health. The model is a thick rounded plate with a soft rim, so it reads as a solid object rather than a flat shape, and the sprites show it swelling and settling in a calm loop that suits both a pickup and a health bar.

The heart starts as one outline. Its rounded rim is lofted from offset copies of that outline, and the halves are sliced from the very same outline, so every variant lines up exactly. Those variants live in the extras: an empty heart in dark iron and a half heart that is full on the left and empty on the right.

With the full, half and empty hearts you can build the classic row of health containers seen in action adventures and roguelikes. Use the pulsing full heart as a drop that restores health, then reuse still frames of all three for the HUD. The pulse is added by Pixor when it renders, not keyed in Blender.

As a pickup the heart is centred in its 32-pixel cell. To make a shield or mana meter instead, swap the red material for blue or gold and render again. It pairs well with the potion for a second kind of healing item.

Use it in your game

  • Godot 4: godot/heart-selout-32.tres is a SpriteFrames resource with 8 animations (pulse_South, pulse_Southeast … pulse_Southwest): drop it on an AnimatedSprite2D and play pulse_South.
  • Aseprite: aseprite/heart-selout-32.aseprite has a tag for each of those, 64 frames in all, to touch up by hand; its .json sits next to it.
  • Unity, GameMaker and the rest: sprites/selout/heart-32px-8-sides.png has 8 rows of 32×32 px cells, one per action and side, South (front) first. A 4-side sheet and the 48 and 64 px sizes are next to it.
  • Posts and devlogs: the GIFs above, also in the zip’s gifs/ folder.
  • 3D: the GLB opens in Blender, Godot, Unity and three.js. The .blend keeps its modifiers, named parts and materials.

How this look was made

The sprite above is Pixor’s selective outline look. In Pixor every step of a look is a node you can change: the light bands, the outlines, the palette. This is that look’s Style graph:

Light and shade
dither
0
fill
0
hysteresis
0.05
min highlight
2
rim
none
shadows
on
specular
0.96
Line work
convex
none
crease
selout1
crease angle
55
depth jump
2.5
inner
selout2
min inner line
3
outer
selout3
outer inside
off
part lines
on
Combine
fill
shaded
Cleanup
antialias
0
max orphan
1
passes
4
pixel width
1
Layered Render
The Style graph of this look: what each node makes, and its settings. Each name links to what the node does.

The other looks in the player (clean, retro, flat) are other Style graphs. With Pixor you can open this asset, change any node, and render your own.

Related free assets