Plume bird · celworld
seed

Plume bird

plume_bird v1Made by APIc4
Open in Playground

v1 cost

$0.129

API, priced from the call usage.

The run, with the maths
All 1 version$0.129

Budget

c4 · 49 lines
Shapes23 / 70
Triangles3,712 / 6,000
Draw calls2 / 4
States
walk · flap
Used in
No scene yet
Made
1asset plume_bird "Plume bird" complexity=4
2// a chubby egg-shaped bird: teal body that is also the head, cream belly dome, huge googly eyes,
3// a tiny yellow beak, pink cheeks, paddle wings, a three-feather tail and a curly magenta plume
4let S = .9..1.1
5let bodyC = teal:4|mint|sky|lilac
6let bellyC = cream:3|white|peach
7let plumeC = grape:2|pink|cherry|bubblegum
8let beakC = sunflower:3|marigold
9let footC = tangerine:3|coral
10
11// the egg body (root bone)
12ball body at=(0, .3*S, 0) r=(.2, .26, .19)*S color=bodyC segs=24 rings=16 joint
13ball belly on=body surf=(0, -24) upright lift=-.05*S r=(.13, .17, .09)*S color=bellyC segs=16 rings=10
14
15// legs and toed feet
16limb leg on=body at=(.09*S, -.2*S, .06*S) mirror len=.1*S r=(.03, .026)*S color=footC segs=8 joint
17ball foot on=leg at=end+(0, .015*S, .01*S) r=(.045, .02, .05)*S color=footC segs=8 rings=5
18cone toe x3 on=foot at=(0, 0, .035*S) row=(.032*S, 0, 0) rot=(80, 0, 0) h=.06*S r=.017*S r2=.009*S color=footC segs=6
19
20// wings
21limb wing on=body at=(.17*S, .09*S, 0) mirror len=.17*S r=(.05, .03)*S depth=.55 roll=10 color=bodyC*.82 segs=8 joint
22
23// tail feathers
24cone tail x3 on=body surf=(sel(i, 158, 180, 202), -14) lift=-.02*S h=.12*S r=.04*S r2=.01*S depth=.6 color=bodyC*.8 segs=6 joint
25
26// beak, cheeks and face
27cone beak on=body surf=(0, 4) lift=-.012*S h=.07*S r=.05*S r2=.012*S depth=.6 color=beakC segs=10
28ball cheek on=body surf=(40, 2) lift=-.035*S mirror r=(.04, .032, .03)*S color=pink segs=8 rings=5
29face look on=body eyes=round mouth=none size=.3 spacing=24 eyeY=24 detail=.5
30
31// the plume: a curl and a short tendril
32tube plume on=body at=top-(0, .035*S, 0) pts=[0,0,0 .015,.07,0 .06,.14,0 .12,.19,0 .18,.19,0 .21,.14,0 .17,.1,0 .12,.13,0] r=.016*S smooth sides=5 detail=.8 color=plumeC joint
33tube plume2 on=body at=top-(0, .035*S, 0) pts=[0,0,0 -.03,.05,0 -.08,.09,0 -.13,.1,0] r=.015*S smooth sides=5 detail=.8 color=plumeC joint
34
35// idle life
36anim body breathe
37anim plume sway amp=5 hz=.4
38anim plume2 sway amp=6 hz=.5 phase=.3
39anim tail rx sin amp=8 hz=.7 stagger=.15
40anim wing rz sin amp=4 hz=.4 twin=.5
41// walk: a waddle
42anim walk: leg gait amp=28 hz=2
43anim walk: body rz sin amp=5 hz=1
44anim walk: body py bounce amp=.012 hz=4
45anim walk: wing rz sin amp=10 hz=2 twin=.5
46// flap: wings beat and the bird hops
47anim flap: wing rz sin amp=50 hz=4
48anim flap: body py bounce amp=.06 hz=2
49anim flap: tail rx sin amp=14 hz=4 stagger=.1
50