Round chirp bird · celworld
seed

Round chirp bird

chirp_bird v1Made by APIc4
Open in Playground

v1 cost

$0.128

API, priced from the call usage.

The run, with the maths
All 1 version$0.128

Budget

c4 · 51 lines
Shapes24 / 70
Triangles3,578 / 6,000
Draw calls3 / 4
States
walk · flap · hop
Used in
No scene yet
Made
1asset chirp_bird "Round chirp bird" complexity=4
2// an egg-shaped chibi bird: a fat teal body with a cream belly, huge eyes, a small yellow beak,
3// stubby side wings, a little tail fan, orange three-toed feet and a curly plume on top.
4// It breathes, sways its plume and wags its tail at rest; walk, flap and hop are named states.
5let S = .9..1.1
6let bodyC = teal:3|sky|mint|lilac
7let wingC = bodyC*.85
8let pale = cream:3|white
9let plumeC = #c8387f:3|grape|cherry
10let beakC = marigold:3|tangerine
11let footC = tangerine:3|coral
12
13// body: the root bone
14ball body at=(0, .33*S, 0) r=(.23, .28, .22)*S color=bodyC segs=22 rings=14 joint
15ball belly on=body surf=(0, -10) upright lift=-.07*S r=(.16, .2, .11)*S color=pale segs=16 rings=10
16tube chevron x3 on=belly surf=(0, sel(i, 18, -4, -26)) decal lift=.002 pts=[-.05,.025,0 0,0,0 .05,.025,0] r=.007 sides=5 detail=.5 ink=thin color=pale*.85
17
18// face, beak and cheeks
19face look on=body eyes=round mouth=none size=.3 spacing=24 eyeY=24 detail=.6
20cone beak on=body surf=(0, 4) lift=-.02*S h=.09*S r=.06*S r2=.012*S depth=.6 color=beakC segs=10
21ball cheek on=body surf=(42, 2) mirror lift=-.012*S r=(.05, .035, .025)*S color=coral segs=8 rings=5
22
23// wings: short flat paddles at the sides
24limb wing on=body at=(.2*S, .1*S, 0) mirror roll=18 len=.22*S r=(.065, .04)*S depth=.4 color=wingC segs=10 joint
25
26// tail fan at the back
27cone tail on=body surf=(180, 22) lift=-.02*S h=.2*S r=.05*S r2=.014*S depth=.6 color=wingC segs=8 joint
28cone tailside on=body surf=(158, 8) mirror lift=-.02*S h=.15*S r=.04*S r2=.012*S depth=.6 color=wingC segs=8
29
30// feet: flat orange pads with three toes
31ball foot on=body at=(.09*S, -.295*S, .03*S) mirror r=(.05, .035, .06)*S color=footC segs=10 rings=6 joint
32rod toe x3 on=foot at=(0, -.012*S, .03*S) to=(sel(i, -.045, 0, .045)*S, 0, .09*S) r=.02*S sides=6 color=footC
33
34// the curly plume
35tube plume on=body at=(0, .25*S, .01) pts=[0,0,0 .02,.08,0 .06,.16,0 .12,.21,0 .18,.18,0 .18,.12,0 .13,.1,0 .1,.14,0] r=(.026, .018) smooth sides=6 detail=.7 color=plumeC joint
36tube plume2 on=plume pts=[0,0,0 -.05,.04,0 -.1,.07,0 -.14,.11,0] r=(.022, .016) smooth sides=6 detail=.6 color=plumeC
37
38// idle
39anim body breathe
40anim plume sway amp=6 hz=.5
41anim tail wag amp=18 hz=1.2
42// walk: little waddle
43anim walk: foot gait amp=32 hz=2
44anim walk: body bob amp=.015 hz=4
45anim walk: body sway amp=5 hz=2
46// flap: wings whirr
47anim flap: wing rz sin amp=28 hz=4
48anim flap: body bounce amp=.04 hz=2
49// hop: a happy jump
50anim hop: body bounce amp=.1 hz=1.4
51anim hop: wing rz keys=[0:0 .4:30 1:0] hz=1.4
52