LESSON02

BLOCKBENCH 3D
Tell an Action Story Through the Joints

Spread your wings,
The wyvern takes flight.

Let it fly first,
Let it spit out the first ball of fire again.

Wings are not two rotating boards, and fire breathing is not about putting an orange cube near your mouth. We first find the joints and then arrange the rhythm: flapping the wings, raising the head, opening the mouth, breathing fire. This is how a cube dragon has a character.

  • An Introduction to the Next Level
  • 2–3 hours recommended
  • Blockbench 5.x
  • 2 segments of loop animation
Real-time 3D works

Loading real-time model...

Drag to rotate·Scroll wheel to zoom
First see how it flies, and then see where the fire comes from.Switch between "flapping wings/opening mouth and breathing fire". This is a model animation demonstration and does not contain game flight AI, attack or damage logic.
This time's goal106 parts, 19 groups. Make a pixel flying dragon that can flap its wings and open its mouth to spit fire.Practice Packs and Checkpoints ↓

BEFORE YOU BUILD

Take your time. You can spend three afternoons building this wyvern.

It is recommended to complete firstLesson 01: Halloween Pumpkin Lantern. You can do it in three stages:Shape and joints → Texture → Two animations. This lesson uses the native Blockbench Generic Model, no need to run Minecraft first.

Download the exercise package for this lesson · 64 KB ↓
  • 01-body.bbmodel13 parts · 3 groups · 0 animations
  • 02-head-legs.bbmodel59 parts · 10 groups · 0 animations
  • 03-wings-tail-rig.bbmodel98 parts · 17 groups · 0 animations
  • 04-flight.bbmodel106 parts · 19 groups · 1 animation
  • 05-finished-animated.bbmodel106 parts · 19 groups · 2 animations

Each of the five .bbmodels can be opened independently, with embedded textures and joints set for easy comparison and continued practice. The following 8 software screenshots were taken when the corresponding checkpoints were opened in the Chinese version of Blockbench. They were not recorded one after another from a blank project; the structural diagram is marked separately. Click on the screenshot to see the original image. Please save your own exercises and do not overwrite the reference project.

STEP1

First build a strong body

Do the chest cavity, plastron and neck first, ignoring the wings for the time being.

  1. New Generic Model, project name my_wyvernTexture sizes 64 × 64, use the face-to-face UV. Save As my-wyvern.bbmodel.
  2. Establish Wyvern → Body → Neck Grouping. add chest Cube put into Body: position −4.2 / 10 / −5.5Dimensions 8.4 / 8 / 11. This is the ribcage, not the bounding box of the entire creature.
  3. Add the hindquarters, plastron, pauldrons and dorsal spines according to the table; put the neck into Neck. Complete the main body first and then add decorations. Compare after completion 01-body.bbmodel.
X ↔ left and rightY ↑ upHead direction −Z·Tail direction +Z
Native Blockbench · Chinese interfaceView original image ↗
The chest is selected in Blockbench editing mode, the positions are −4.2, 10, −5.5, and the sizes are 8.4, 8, 11
Actual machine 01Select the Chest and Compare Position with Size
  • Select chest in the lower right outline; the first line in the upper right is the position, and the second line is the size.
  • Now there are only 13 parts. The back spines, shoulder armor and neck are already present, but the head, legs, wings and tail are missing.
The wyvern's chest, belly armor, shoulder armor, back spines and forward-leaning neck
Structure 01 / Establish the main shapes before adding details.
Expand all 13 parts of the body and neck
Part / GroupPositionSizeRotation °PivotTexture/UV
chest
Body
-4.2 / 10 / -5.58.4 / 8 / 110 / 0 / 00 / 14 / 0Scales
0 / 0 / 16 / 16
rump
Body
-3.6 / 11 / 5.27.2 / 6 / 4.80 / 0 / 00 / 14 / 7.6Scales
16 / 0 / 32 / 16
belly_scutes
Body
-3.5 / 9.7 / -4.77 / 1.3 / 12.70 / 0 / 00 / 10.35 / 1.65Scales
32 / 0 / 48 / 16
shoulder_scale_L
Body
3.5 / 15 / -31.5 / 3.7 / 60 / 0 / 04.25 / 16.85 / 0Scales
0 / 48 / 16 / 64
shoulder_scale_R
Body
-5 / 15 / -31.5 / 3.7 / 60 / 0 / 0-4.25 / 16.85 / 0Scales
0 / 48 / 16 / 64
dorsal_spine_0
Body
-0.6 / 17.6 / -31.2 / 2.9 / 1.415 / 0 / 00 / 19.05 / -2.3Scales
48 / 32 / 64 / 48
dorsal_spine_1
Body
-0.6 / 17.6 / 01.2 / 2.9 / 1.415 / 0 / 00 / 19.05 / 0.7Scales
48 / 32 / 64 / 48
dorsal_spine_2
Body
-0.6 / 17.6 / 31.2 / 2.9 / 1.415 / 0 / 00 / 19.05 / 3.7Scales
48 / 32 / 64 / 48
dorsal_spine_3
Body
-0.6 / 16.6 / 61.2 / 2.4 / 1.415 / 0 / 00 / 17.8 / 6.7Scales
48 / 32 / 64 / 48
dorsal_spine_4
Body
-0.6 / 16.6 / 91.2 / 2.4 / 1.415 / 0 / 00 / 17.8 / 9.7Scales
48 / 32 / 64 / 48
lower_neck
Neck
-2.7 / 16 / -105.4 / 5 / 5.2-20 / 0 / 00 / 18.5 / -7.4Scales
16 / 0 / 32 / 16
neck_front_scutes
Neck
-2.2 / 16.3 / -10.354.4 / 4.2 / 0.55-20 / 0 / 00 / 18.4 / -10.075Scales
32 / 0 / 48 / 16
neck_spine
Neck
-0.5 / 20.2 / -71 / 3 / 1.2-20 / 0 / 00 / 21.7 / -6.4Scales
48 / 32 / 64 / 48
STEP2

Give the Head Expression and Make the Jaw Move

The mouth must be able to be opened independently, and the teeth must be aligned with the owner.

Create under Neck Head, create under Head Jaw with Horns. Put the skull, upper snout, and eyes into Head; put the lower jaw, tongue, and lower teeth into Jaw; put the two horns into Horns.The lower jaw is not part of the head texture, but a set of movable parts.

Do these three pieces first and you will be able to see the expression.

skull: Location -3.1 / 19.3 /− 15, Size 6.2 / 4.7 / 4.6.
upper_muzzle: Location -2.8 / 19.5 / −18.8, Size 5.6 / 2.3 / 4.8.
lower_jaw: Location −2.6 / 17.9 / −18.7, Size 5.2 / 1.1 / 7.8.

Native Blockbench · Chinese interfaceView original image ↗
Expand Head and Jaw in the Blockbench outline, select the Jaw group, and the pivot coordinates are 0, 19, −11
Actual machine 02The mandible, tongue, and lower row of teeth belong together to the Jaw tube
  • The right Jaw is located within the Head, and the lower jaw is highlighted together with the lower row of teeth.
  • Look at the "pivot point": 0/19/−11, near the back of the jaw. Open your mouth around here during animation.

Then establish two hind legs under Body Leg_L / Leg_R, each of them Foot_L / Foot_R. When the legs are bent, the feet will follow, and the claws can be retracted independently. This lesson isFlying dragonThere are no other two front legs; the wings are its most visible forelegs.

The head, lower jaw, horns and two hind legs have been added, but the wings and tail have not yet been added.
Structure 02 / At this stage, there are 59 parts in total.
Expand parameters of head, jaw, horns and legs
Part / GroupPositionSizeRotation °PivotTexture/UV
skull
Head
-3.1 / 19.3 / -156.2 / 4.7 / 4.60 / 0 / 00 / 21.65 / -12.7Scales
16 / 0 / 32 / 16
upper_muzzle
Head
-2.8 / 19.5 / -18.85.6 / 2.3 / 4.80 / 0 / 00 / 20.65 / -16.4Scales
0 / 0 / 16 / 16
nose_ridge
Head
-1.2 / 21.8 / -17.72.4 / 0.6 / 3.70 / 0 / 00 / 22.1 / -15.85Scales
0 / 48 / 16 / 64
mouth_dark_interior
Head
-2.3 / 19.05 / -17.84.6 / 0.45 / 6.30 / 0 / 00 / 19.275 / -14.65Scales
32 / 16 / 48 / 32
eye_socket_L
Head
3.05 / 21.1 / -14.50.18 / 2.2 / 2.50 / 0 / 03.14 / 22.2 / -13.25Scales
32 / 16 / 48 / 32
amber_eye_L
Head
3.23 / 21.45 / -14.20.11 / 1.5 / 1.950 / 0 / 03.285 / 22.2 / -13.225Scales
48 / 16 / 64 / 32
vertical_pupil_L
Head
3.34 / 21.4 / -13.350.09 / 1.55 / 0.40 / 0 / 03.385 / 22.175 / -13.15Scales
32 / 16 / 48 / 32
eye_glint_L
Head
3.43 / 22.5 / -13.950.07 / 0.32 / 0.350 / 0 / 03.465 / 22.66 / -13.775Scales
16 / 16 / 32 / 32
brow_L
Head
2.65 / 23.15 / -14.60.95 / 0.85 / 2.80 / 0 / 03.125 / 23.575 / -13.2Scales
0 / 48 / 16 / 64
nostril_L
Head
1.2 / 20.7 / -18.930.8 / 0.6 / 0.120 / 0 / 01.6 / 21 / -18.87Scales
32 / 16 / 48 / 32
cheek_L
Head
2.7 / 19.8 / -12.71.1 / 2 / 2.20 / 0 / 03.25 / 20.8 / -11.6Scales
0 / 48 / 16 / 64
horn_base_L
Horns
2.325 / 22.7063 / -10.4251.25 / 4.3875 / 1.2539.0939 / 0 / -19.99162.95 / 24.9 / -9.8Scales
16 / 16 / 32 / 32
horn_tip_L
Horns
3.6 / 26.0072 / -80.7 / 2.0857 / 0.757.0948 / 0 / -13.87073.95 / 27.05 / -7.65Scales
48 / 32 / 64 / 48
upper_fang_L_-17.7
Head
1.85 / 18.65 / -17.70.5 / 0.95 / 0.550 / 0 / 02.1 / 19.125 / -17.425Scales
16 / 16 / 32 / 32
upper_fang_L_-15.9
Head
1.85 / 18.65 / -15.90.5 / 0.95 / 0.550 / 0 / 02.1 / 19.125 / -15.625Scales
16 / 16 / 32 / 32
upper_fang_L_-14.1
Head
1.85 / 18.65 / -14.10.5 / 0.95 / 0.550 / 0 / 02.1 / 19.125 / -13.825Scales
16 / 16 / 32 / 32
eye_socket_R
Head
-3.23 / 21.1 / -14.50.18 / 2.2 / 2.50 / 0 / 0-3.14 / 22.2 / -13.25Scales
32 / 16 / 48 / 32
amber_eye_R
Head
-3.34 / 21.45 / -14.20.11 / 1.5 / 1.950 / 0 / 0-3.285 / 22.2 / -13.225Scales
48 / 16 / 64 / 32
vertical_pupil_R
Head
-3.43 / 21.4 / -13.350.09 / 1.55 / 0.40 / 0 / 0-3.385 / 22.175 / -13.15Scales
32 / 16 / 48 / 32
eye_glint_R
Head
-3.5 / 22.5 / -13.950.07 / 0.32 / 0.350 / 0 / 0-3.465 / 22.66 / -13.775Scales
16 / 16 / 32 / 32
brow_R
Head
-3.6 / 23.15 / -14.60.95 / 0.85 / 2.80 / 0 / 0-3.125 / 23.575 / -13.2Scales
0 / 48 / 16 / 64
nostril_R
Head
-2 / 20.7 / -18.930.8 / 0.6 / 0.120 / 0 / 0-1.6 / 21 / -18.87Scales
32 / 16 / 48 / 32
cheek_R
Head
-3.8 / 19.8 / -12.71.1 / 2 / 2.20 / 0 / 0-3.25 / 20.8 / -11.6Scales
0 / 48 / 16 / 64
horn_base_R
Horns
-3.575 / 22.7063 / -10.4251.25 / 4.3875 / 1.2539.0939 / 0 / 19.9916-2.95 / 24.9 / -9.8Scales
16 / 16 / 32 / 32
horn_tip_R
Horns
-4.3 / 26.0072 / -80.7 / 2.0857 / 0.757.0948 / 0 / 13.8707-3.95 / 27.05 / -7.65Scales
48 / 32 / 64 / 48
upper_fang_R_-17.7
Head
-2.35 / 18.65 / -17.70.5 / 0.95 / 0.550 / 0 / 0-2.1 / 19.125 / -17.425Scales
16 / 16 / 32 / 32
upper_fang_R_-15.9
Head
-2.35 / 18.65 / -15.90.5 / 0.95 / 0.550 / 0 / 0-2.1 / 19.125 / -15.625Scales
16 / 16 / 32 / 32
upper_fang_R_-14.1
Head
-2.35 / 18.65 / -14.10.5 / 0.95 / 0.550 / 0 / 0-2.1 / 19.125 / -13.825Scales
16 / 16 / 32 / 32
lower_jaw
Jaw
-2.6 / 17.9 / -18.75.2 / 1.1 / 7.80 / 0 / 00 / 18.45 / -14.8Scales
32 / 0 / 48 / 16
tongue
Jaw
-1.2 / 19 / -17.22.4 / 0.2 / 5.20 / 0 / 00 / 19.1 / -14.6Scales
32 / 32 / 48 / 48
lower_fang_-1_-17
Jaw
-2.27 / 19 / -170.44 / 0.55 / 0.450 / 0 / 0-2.05 / 19.275 / -16.775Scales
16 / 16 / 32 / 32
lower_fang_-1_-15.1
Jaw
-2.27 / 19 / -15.10.44 / 0.55 / 0.450 / 0 / 0-2.05 / 19.275 / -14.875Scales
16 / 16 / 32 / 32
lower_fang_1_-17
Jaw
1.83 / 19 / -170.44 / 0.55 / 0.450 / 0 / 02.05 / 19.275 / -16.775Scales
16 / 16 / 32 / 32
lower_fang_1_-15.1
Jaw
1.83 / 19 / -15.10.44 / 0.55 / 0.450 / 0 / 02.05 / 19.275 / -14.875Scales
16 / 16 / 32 / 32
thigh_L
Leg_L
2.3 / 6.5625 / 5.22.6 / 4.5749 / 2.6166.9081 / 0 / -15.20653.6 / 8.85 / 6.5Scales
0 / 0 / 16 / 16
shin_L
Leg_L
3.2 / 2.9306 / 4.41.8 / 4.5387 / 1.8-131.4237 / 0 / 2.52564.1 / 5.2 / 5.3Scales
16 / 0 / 32 / 16
foot_L
Foot_L
2.3 / 2.4 / 0.63.4 / 1.6 / 4.80 / 0 / 04 / 3.2 / 3Scales
0 / 0 / 16 / 16
claw_L_-1
Foot_L
2.55 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 02.85 / 2.925 / 0.55Scales
16 / 16 / 32 / 32
claw_L_0
Foot_L
3.7 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 04 / 2.925 / 0.55Scales
16 / 16 / 32 / 32
claw_L_1
Foot_L
4.85 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 05.15 / 2.925 / 0.55Scales
16 / 16 / 32 / 32
thigh_R
Leg_R
-4.9 / 6.5625 / 5.22.6 / 4.5749 / 2.6166.9081 / 0 / 15.2065-3.6 / 8.85 / 6.5Scales
0 / 0 / 16 / 16
shin_R
Leg_R
-5 / 2.9306 / 4.41.8 / 4.5387 / 1.8-131.4237 / 0 / -2.5256-4.1 / 5.2 / 5.3Scales
16 / 0 / 32 / 16
foot_R
Foot_R
-5.7 / 2.4 / 0.63.4 / 1.6 / 4.80 / 0 / 0-4 / 3.2 / 3Scales
0 / 0 / 16 / 16
claw_R_-1
Foot_R
-5.45 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 0-5.15 / 2.925 / 0.55Scales
16 / 16 / 32 / 32
claw_R_0
Foot_R
-4.3 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 0-4 / 2.925 / 0.55Scales
16 / 16 / 32 / 32
claw_R_1
Foot_R
-3.15 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 0-2.85 / 2.925 / 0.55Scales
16 / 16 / 32 / 32
STEP3

Spread the wings, leaving the second joint

One wing, two joints. Do not weld the wingtips to the shoulders.

  1. Create under Body Wing_L, then create inside it Wing_Tip_L. Also create Wing_R and Wing_Tip_R on the other side. L / R is the naming in the project,Not equal to the left and right on your screen.
  2. Put the dark green wing bone first, and then lay the copper orange wing membrane. The wing membrane on each side is composed of 9 thin cuboids with a thickness of 0.38; the four sections nearest the body belong to Wing, and the rest belong to Wing_Tip.
  3. The left and right positions are symmetrical about X=0: the X interval [a, b] of a square becomes [−b, −a] after mirroring. For the already tilted wing bone, please set the rotation and pivot according to the parameter table. Do not just add a negative sign to X.
Native Blockbench · Chinese interfaceView original image ↗
The wings and complete body structure of the flying dragon in Blockbench, showing the wing assembly
Actual machine 03Both wings and wingtips occupy one layer of the outline respectively.
  • After Wing_L is expanded, Wing_Tip_L is its subgroup. Look at the level first, then set the rotation.
  • The shoulder joint is responsible for the large fanning, and the outer wingtip is responsible for following; they are not an indivisible flat plate.
Top view of the symmetrical copper-orange stepped wing membranes and green wing bones
Structure Diagram 03 / Showing both wings individually. The stepped edges come from thin squares of varying lengths.
Expand wings, wing bones and wing membrane parameters
Part / GroupPositionSizeRotation °PivotTexture/UV
wing_arm_L
Wing_L
7.825 / 13.1523 / -2.1751.35 / 9.6954 / 1.35-56.3099 / 0 / -68.16818.5 / 18 / -1.5Scales
0 / 48 / 16 / 64
wing_leading_edge_L
Wing_Tip_L
17.55 / 14.4739 / -4.80.9 / 10.4523 / 0.9-62.5924 / 0 / -73.083518 / 19.7 / -4.35Scales
0 / 0 / 16 / 16
wing_finger_inner_L
Wing_L
5.925 / 12.0475 / 4.9250.65 / 10.8051 / 0.6587.2737 / 0 / -13.37796.25 / 17.45 / 5.25Scales
0 / 0 / 16 / 16
wing_finger_mid_L
Wing_Tip_L
14.21 / 14.4524 / 1.210.58 / 9.4953 / 0.5887.4552 / 0 / -18.41814.5 / 19.2 / 1.5Scales
0 / 0 / 16 / 16
wing_finger_outer_L
Wing_Tip_L
18.25 / 16.9509 / -1.90.5 / 5.5982 / 0.583.9275 / 0 / -32.40418.5 / 19.75 / -1.65Scales
0 / 0 / 16 / 16
wing_thumb_claw_L
Wing_Tip_L
13.1 / 19.15 / -4.150.6 / 2.1 / 0.6-34.5085 / 0 / -22.392713.4 / 20.2 / -3.85Scales
16 / 16 / 32 / 32
wing_membrane_L_0
Wing_L
5 / 17.6 / -0.572.1 / 0.38 / 11.570 / 0 / 06.05 / 17.79 / 5.215Scales
16 / 48 / 32 / 64
wing_membrane_L_1
Wing_L
7 / 17.9 / -1.112.1 / 0.38 / 12.610 / 0 / 08.05 / 18.09 / 5.195Scales
0 / 16 / 16 / 32
wing_membrane_L_2
Wing_L
9 / 18.2 / -1.652.1 / 0.38 / 10.850 / 0 / 010.05 / 18.39 / 3.775Scales
0 / 16 / 16 / 32
wing_membrane_L_3
Wing_L
11 / 18.5 / -2.192.1 / 0.38 / 9.490 / 0 / 012.05 / 18.69 / 2.555Scales
16 / 48 / 32 / 64
wing_membrane_L_4
Wing_Tip_L
13 / 18.8 / -2.732.1 / 0.38 / 9.930 / 0 / 014.05 / 18.99 / 2.235Scales
0 / 16 / 16 / 32
wing_membrane_L_5
Wing_Tip_L
15 / 19.1 / -3.272.1 / 0.38 / 8.270 / 0 / 016.05 / 19.29 / 0.865Scales
0 / 16 / 16 / 32
wing_membrane_L_6
Wing_Tip_L
17 / 19.4 / -3.812.1 / 0.38 / 7.410 / 0 / 018.05 / 19.59 / -0.105Scales
16 / 48 / 32 / 64
wing_membrane_L_7
Wing_Tip_L
19 / 19.7 / -4.352.1 / 0.38 / 6.650 / 0 / 020.05 / 19.89 / -1.025Scales
0 / 16 / 16 / 32
wing_membrane_L_8
Wing_Tip_L
21 / 20 / -4.892.1 / 0.38 / 5.090 / 0 / 022.05 / 20.19 / -2.345Scales
0 / 16 / 16 / 32
wing_arm_R
Wing_R
-9.175 / 13.1523 / -2.1751.35 / 9.6954 / 1.35-56.3099 / 0 / 68.1681-8.5 / 18 / -1.5Scales
0 / 48 / 16 / 64
wing_leading_edge_R
Wing_Tip_R
-18.45 / 14.4739 / -4.80.9 / 10.4523 / 0.9-62.5924 / 0 / 73.0835-18 / 19.7 / -4.35Scales
0 / 0 / 16 / 16
wing_finger_inner_R
Wing_R
-6.575 / 12.0475 / 4.9250.65 / 10.8051 / 0.6587.2737 / 0 / 13.3779-6.25 / 17.45 / 5.25Scales
0 / 0 / 16 / 16
wing_finger_mid_R
Wing_Tip_R
-14.79 / 14.4524 / 1.210.58 / 9.4953 / 0.5887.4552 / 0 / 18.418-14.5 / 19.2 / 1.5Scales
0 / 0 / 16 / 16
wing_finger_outer_R
Wing_Tip_R
-18.75 / 16.9509 / -1.90.5 / 5.5982 / 0.583.9275 / 0 / 32.404-18.5 / 19.75 / -1.65Scales
0 / 0 / 16 / 16
wing_thumb_claw_R
Wing_Tip_R
-13.7 / 19.15 / -4.150.6 / 2.1 / 0.6-34.5085 / 0 / 22.3927-13.4 / 20.2 / -3.85Scales
16 / 16 / 32 / 32
wing_membrane_R_0
Wing_R
-7.1 / 17.6 / -0.572.1 / 0.38 / 11.570 / 0 / 0-6.05 / 17.79 / 5.215Scales
16 / 48 / 32 / 64
wing_membrane_R_1
Wing_R
-9.1 / 17.9 / -1.112.1 / 0.38 / 12.610 / 0 / 0-8.05 / 18.09 / 5.195Scales
0 / 16 / 16 / 32
wing_membrane_R_2
Wing_R
-11.1 / 18.2 / -1.652.1 / 0.38 / 10.850 / 0 / 0-10.05 / 18.39 / 3.775Scales
0 / 16 / 16 / 32
wing_membrane_R_3
Wing_R
-13.1 / 18.5 / -2.192.1 / 0.38 / 9.490 / 0 / 0-12.05 / 18.69 / 2.555Scales
16 / 48 / 32 / 64
wing_membrane_R_4
Wing_Tip_R
-15.1 / 18.8 / -2.732.1 / 0.38 / 9.930 / 0 / 0-14.05 / 18.99 / 2.235Scales
0 / 16 / 16 / 32
wing_membrane_R_5
Wing_Tip_R
-17.1 / 19.1 / -3.272.1 / 0.38 / 8.270 / 0 / 0-16.05 / 19.29 / 0.865Scales
0 / 16 / 16 / 32
wing_membrane_R_6
Wing_Tip_R
-19.1 / 19.4 / -3.812.1 / 0.38 / 7.410 / 0 / 0-18.05 / 19.59 / -0.105Scales
16 / 48 / 32 / 64
wing_membrane_R_7
Wing_Tip_R
-21.1 / 19.7 / -4.352.1 / 0.38 / 6.650 / 0 / 0-20.05 / 19.89 / -1.025Scales
0 / 16 / 16 / 32
wing_membrane_R_8
Wing_Tip_R
-23.1 / 20 / -4.892.1 / 0.38 / 5.090 / 0 / 0-22.05 / 20.19 / -2.345Scales
0 / 16 / 16 / 32
STEP4

Connect the tail into a kinematic chain

When the father joint moves, the joints behind follow.

Establish Tail_Base → Tail_Mid → Tail_Tip, then add the tail base, middle, tip and their corresponding spines in order. Do not place all three tail sections alongside each other under Body: rotating the tail base should also move the other two sections.

Wyvern
└─ Body
   ├─ Neck → Head
   │          ├─ Jaw
   │          ├─ Horns
   │          └─ Fire → Embers(第 7 步加入)
   ├─ Wing_L → Wing_Tip_L
   ├─ Wing_R → Wing_Tip_R
   ├─ Leg_L → Foot_L
   ├─ Leg_R → Foot_R
   └─ Tail_Base → Tail_Mid → Tail_Tip
Native Blockbench · Chinese interfaceView original image ↗
The local Blockbench selects Tail_Base, with Tail_Mid and Tail_Tip nested below it, and the upper right pivot displays 0, 13, and 9
Actual machine 04The tail root carries the tail center, and the tail center carries the tail tip
  • Tail_Base is highlighted; Tail_Mid and Tail_Tip are indented step by step, and all parts at the tail are selected together.
  • The upper right "pivot point" is 0/13/9. The pivots for all 19 groups are given below; Fire and Embers were added in step 7.
Expand all grouped Pivot Points·X/Y/Z
GroupingPivot Point
Wyvern0 / 14 / 0
Body0 / 14 / 1
Neck0 / 17 / -5
Head0 / 21 / -12
Jaw0 / 19 / -11
Horns0 / 23 / -10
Wing_L4 / 17 / 0
Wing_Tip_L13 / 19 / -3
Wing_R-4 / 17 / 0
Wing_Tip_R-13 / 19 / -3
Leg_L3 / 11 / 6
Foot_L4 / 5 / 4
Leg_R-3 / 11 / 6
Foot_R-4 / 5 / 4
Tail_Base0 / 13 / 9
Tail_Mid0 / 14 / 17
Tail_Tip0 / 17 / 24
Fire0 / 19.1 / -18.6
Embers0 / 19.1 / -18.6
Three-section tail with dorsal spines and orange arrow-shaped tail tip
Structure diagram 04 / The three sections are not three independent sticks, but a chain that transmits motion.
Expand the parameters of each component of the tail
Part / GroupPositionSizeRotation °PivotTexture/UV
tail_thick
Tail_Base
-1.6 / 9.3762 / 11.653.2 / 8.5475 / 3.283.9559 / 0 / -00 / 13.65 / 13.25Scales
0 / 0 / 16 / 16
tail_middle
Tail_Mid
-1.05 / 11.576 / 19.652.1 / 7.948 / 2.168.6002 / 0 / -00 / 15.55 / 20.7Scales
16 / 0 / 32 / 16
tail_tip
Tail_Tip
-0.55 / 15.2518 / 26.451.1 / 6.8964 / 1.160.4612 / 0 / -00 / 18.7 / 27Scales
0 / 0 / 16 / 16
Tail_Base_spike
Tail_Base
-0.45 / 15.7 / 130.9 / 2 / 1.220 / 0 / 00 / 16.7 / 13.6Scales
48 / 32 / 64 / 48
Tail_Mid_spike
Tail_Mid
-0.45 / 17.2 / 200.9 / 2 / 1.220 / 0 / 00 / 18.2 / 20.6Scales
48 / 32 / 64 / 48
Tail_Tip_spike
Tail_Tip
-0.45 / 20 / 260.9 / 2 / 1.220 / 0 / 00 / 21 / 26.6Scales
48 / 32 / 64 / 48
tail_arrow_center
Tail_Tip
-0.9 / 20 / 28.91.8 / 0.6 / 3.1-20 / 0 / 00 / 20.3 / 30.45Scales
48 / 0 / 64 / 16
tail_arrow_lobe_-1
Tail_Tip
-1.85 / 20 / 28.81.3 / 0.5 / 20 / 25 / 0-1.2 / 20.25 / 29.8Scales
48 / 0 / 64 / 16
tail_arrow_lobe_1
Tail_Tip
0.55 / 20 / 28.81.3 / 0.5 / 20 / -25 / 01.2 / 20.25 / 29.8Scales
48 / 0 / 64 / 16
STEP5

Assign colors to scales and wing membranes

Use a small amount of color to differentiate the body, wing membranes, horns and plastron.

  1. Import practice package textures/wyvern-scales.png, a 64 × 64 pixel atlas divided into sixteen 16 × 16 color blocks. Switch to Paint, change a small area with a 1-pixel brush, and observe where it appears on the model.
  2. Return to edit mode, select a square face, and assign texture and sampling area to it in the UV panel. Each part uses the same color block on six sides in this model; the UV of the parameter table is U1 / V1 / U2 / V2, not wide. Select all six sides of the setup first.
  3. Use light and dark green for the scales, gold for the belly armor, copper-orange for the wing membranes, and ivory for the horns and teeth. Related parts should have similar colors so that the structure is easy to recognize.
Wyvern 64 × 64 pixel atlas: dark green scales, gold belly armor, copper-orange wing membranes, ivory horns and a dark mouth
Color Also Explains the Structure.

For example, the UV of chest is 0 / 0 / 16 / 16. The plastron is taken as 32/0/48/16; the beige horn is taken as 16/16/32/32.

The exact sampling area for each component is in the rightmost column of the dimension table. Preserve pixel edges when zooming in without blurring.
Native Blockbench · Chinese interfaceView original image ↗
Flying dragon and pixel texture atlas in Blockbench painting mode
Actual machine 05Look at the texture on the left, and also look at the model in the center
  • Paint mode brings the pixel map, 3D model, and color tools together to make it easy to check which side the color falls on.
  • The checkpoint already has a texture; please save your own project first, and then try to change the color to avoid overwriting the reference image.
STEP6

First breath: flap your wings and fly

Make the main wings right first, then add the wing tips, body and tail.

  1. Switch to Animation mode (Animate)New wyvern.fly, duration 1.2 seconds, with Loop enabled. Select Wing_L, add the following five keyframes to its Rotation track, and choose Linear interpolation.
  2. Wing_L only changes Z; Wing_R uses the opposite Z value. Play it back first and make sure both sides are lifting up and down together, not up and down like a seesaw.
secondsWing_L · Z°Wing_R · Z°Wyvern · Position Y
08-80.6
0.3-32321.6
0.68-80.6
0.930-300
1.28-80.6

Then fill in Y in the table for Wyvern's Position track, and keep X and Z at 0.This animation offset is relative to the original position., instead of changing the body model coordinates to Y=0.6. Each time you add only one change, make sure it goes on.

Native Blockbench · Chinese interfaceView original image ↗
Native Blockbench flight animation, the 0.3 second key frame of Wing_L is 0, 0, −32 degrees, and the playhead stops at the same moment
Actual machine 060.3 seconds, the main wing presses down
  • Select fly · wyvern.fly on the upper left, and Wing_L on the right; the values on the lower left are X=0, Y=0, Z=−32.
  • In this screenshot, both the playhead and the selected keyframe are at 0.3 seconds. Drag the playhead to preview the pose; click a diamond keyframe to edit its values. These are different actions.

The wing tip also participates in the action: Wing_Tip_L at 0 / 0.3 / 0.6 / 0.9 / 1.2 seconds Y and Z are respectively (0,4), (−6,−10), (0,4), (8,13), (0,4); negate both Y and Z for the right wingtip, keeping X at 0. Finally, add gentle head motion, movement for all three tail sections, and folded legs. The complete values are listed below, so you do not need to guess them from screenshots.

Expand all key frames of wyvern.fly

Rotation unit is degree, Position is model unit, Scale is magnification; all frames use Linear. The scaling of Fire is 0, which is used to hide the fire when flying. It will be added after setting up Fire in step 7.

GroupingTracksecondsX / Y / Z
Wyvernposition00 / 0.6 / 0
Wyvernposition0.30 / 1.6 / 0
Wyvernposition0.60 / 0.6 / 0
Wyvernposition0.90 / 0 / 0
Wyvernposition1.20 / 0.6 / 0
Headrotation03 / 0 / 0
Headrotation0.6-3 / 0 / 0
Headrotation1.23 / 0 / 0
Tail_Baserotation00 / -7 / 0
Tail_Baserotation0.60 / 7 / 0
Tail_Baserotation1.20 / -7 / 0
Tail_Midrotation00 / 9 / 0
Tail_Midrotation0.60 / -9 / 0
Tail_Midrotation1.20 / 9 / 0
Tail_Tiprotation00 / -12 / 0
Tail_Tiprotation0.60 / 12 / 0
Tail_Tiprotation1.20 / -12 / 0
Jawrotation00 / 0 / 0
Jawrotation1.20 / 0 / 0
Firescale00 / 0 / 0
Firescale1.20 / 0 / 0
Wing_Lrotation00 / 0 / 8
Wing_Lrotation0.30 / 0 / -32
Wing_Lrotation0.60 / 0 / 8
Wing_Lrotation0.90 / 0 / 30
Wing_Lrotation1.20 / 0 / 8
Wing_Tip_Lrotation00 / 0 / 4
Wing_Tip_Lrotation0.30 / -6 / -10
Wing_Tip_Lrotation0.60 / 0 / 4
Wing_Tip_Lrotation0.90 / 8 / 13
Wing_Tip_Lrotation1.20 / 0 / 4
Leg_Lrotation025 / 0 / 0
Leg_Lrotation0.632 / 0 / 0
Leg_Lrotation1.225 / 0 / 0
Foot_Lrotation0-18 / 0 / 0
Foot_Lrotation1.2-18 / 0 / 0
Wing_Rrotation00 / 0 / -8
Wing_Rrotation0.30 / 0 / 32
Wing_Rrotation0.60 / 0 / -8
Wing_Rrotation0.90 / 0 / -30
Wing_Rrotation1.20 / 0 / -8
Wing_Tip_Rrotation00 / 0 / -4
Wing_Tip_Rrotation0.30 / 6 / 10
Wing_Tip_Rrotation0.60 / 0 / -4
Wing_Tip_Rrotation0.90 / -8 / -13
Wing_Tip_Rrotation1.20 / 0 / -4
Leg_Rrotation025 / 0 / 0
Leg_Rrotation0.632 / 0 / 0
Leg_Rrotation1.225 / 0 / 0
Foot_Rrotation0-18 / 0 / 0
Foot_Rrotation1.2-18 / 0 / 0
STEP7

The second breath: open your mouth and spit fire again

Open your mouth first, then vent your anger; first close your mouth, then shut up.

In Head Establish under Fire, then create inside it Embers. Both sets of pivots are set to 0 / 19.1 / −18.6, close to the mouth. Add the eight flame and spark parts from the size table, using the flame texture and UV coordinates 0 / 0 / 16 / 16.Fire belongs to Head, not Jaw; otherwise, if the lower jaw opens, fire will spray downward.

8 components to unfold flames and sparks
Part / GroupPositionSizeRotation °PivotTexture/UV
flame_jet_0
Fire
-0.325 / 18.775 / -19.50.65 / 0.65 / 0.80 / 0 / 00 / 19.1 / -19.1Flame
0 / 0 / 16 / 16
flame_jet_1
Fire
-0.575 / 18.525 / -20.151.15 / 1.15 / 0.80 / 0 / 00 / 19.1 / -19.75Flame
0 / 0 / 16 / 16
flame_jet_2
Fire
-0.85 / 18.25 / -20.81.7 / 1.7 / 0.80 / 0 / 00 / 19.1 / -20.4Flame
0 / 0 / 16 / 16
flame_jet_3
Fire
-0.475 / 18.625 / -21.450.95 / 0.95 / 0.80 / 0 / 00 / 19.1 / -21.05Flame
0 / 0 / 16 / 16
ember_0
Embers
-1.45 / 19.75 / -21.70.3 / 0.3 / 0.40 / 0 / 0-1.3 / 19.9 / -21.5Flame
0 / 0 / 16 / 16
ember_1
Embers
1.25 / 18.25 / -21.20.3 / 0.3 / 0.40 / 0 / 01.4 / 18.4 / -21Flame
0 / 0 / 16 / 16
ember_2
Embers
0.45 / 20.15 / -22.30.3 / 0.3 / 0.40 / 0 / 00.6 / 20.3 / -22.1Flame
0 / 0 / 16 / 16
ember_3
Embers
-0.95 / 17.95 / -22.10.3 / 0.3 / 0.40 / 0 / 0-0.8 / 18.1 / -21.9Flame
0 / 0 / 16 / 16

In the flight animation, increase the Scale of Fire at 0 seconds and 1.2 seconds. 0 / 0 / 0, hiding the flame and its child groups. At this point, compare your work with 04-flight.bbmodelIt already contains flame structures, but it can't be seen while flying.

  1. New wyvern.fire_breath, duration 3.2 seconds, Loop. Choose Jaw, Rotation X on 0 / 0.45 / 0.85 / 2.35 / 2.8 / 3.2 secondsSet to respectively 0 / −27 / −30 / −30 / 0 / 0 degreesY, Z hold 0.
  2. Select Fire and add Scale keyframes using the table below. Z is larger than X and Y so that the fire stretches forward from the mouth instead of expanding into a ball.
GroupingTracksecondsX / Y / Z
Firescale00 / 0 / 0
Firescale0.60 / 0 / 0
Firescale0.750.6 / 0.6 / 1.5
Firescale11.7 / 1.7 / 4.8
Firescale1.31.4 / 1.4 / 5.4
Firescale1.61.9 / 1.9 / 4.8
Firescale1.91.5 / 1.5 / 5.6
Firescale2.21.7 / 1.7 / 5
Firescale2.50 / 0 / 0
Firescale3.20 / 0 / 0
Native Blockbench · Chinese interfaceView original image ↗
Fire is selected for the Blockbench fire-breathing animation, the playhead is at 1 second, and the Scale on the left is 1.7, 1.7, 4.8
Actual machine 071 second: Flame protrudes from the mouth
  • The right Fire's pivot is 0 / 19.1 / −18.6; the left 1 second keyframe scale is 1.7 / 1.7 / 4.8.
  • The bottom 10 key frames are arranged for firing and closing. Embers are in Fire and will inherit its scaling.
The wyvern opens its lower jaw and breathes an orange-yellow pixel flame forward.
Action structure diagram / mouth opening and flame stretching at close to 1 second; the complete timing is subject to the real-time animation above.

The wings must continue flapping during this action. Change the five keyframe times for the main wings and body to 0 / 0.8 / 1.6 / 2.4 / 3.2 seconds, the position remains constant and is suspended at a slower pace.The two segments are complete segments that are switched and played, not stacked together for playback.

Expand all key frames of wyvern.fire_breath (including head, lower jaw and flight posture)
GroupingTracksecondsX / Y / Z
Wyvernposition00 / 0.6 / 0
Wyvernposition0.80 / 1.6 / 0
Wyvernposition1.60 / 0.6 / 0
Wyvernposition2.40 / 0 / 0
Wyvernposition3.20 / 0.6 / 0
Headrotation00 / 0 / 0
Headrotation0.5-8 / 0 / 0
Headrotation1.10 / 0 / 0
Headrotation2.30 / 0 / 0
Headrotation2.7-3 / 0 / 0
Headrotation3.20 / 0 / 0
Tail_Baserotation00 / -7 / 0
Tail_Baserotation1.60 / 7 / 0
Tail_Baserotation3.20 / -7 / 0
Tail_Midrotation00 / 9 / 0
Tail_Midrotation1.60 / -9 / 0
Tail_Midrotation3.20 / 9 / 0
Tail_Tiprotation00 / -12 / 0
Tail_Tiprotation1.60 / 12 / 0
Tail_Tiprotation3.20 / -12 / 0
Jawrotation00 / 0 / 0
Jawrotation0.45-27 / 0 / 0
Jawrotation0.85-30 / 0 / 0
Jawrotation2.35-30 / 0 / 0
Jawrotation2.80 / 0 / 0
Jawrotation3.20 / 0 / 0
Firescale00 / 0 / 0
Firescale0.60 / 0 / 0
Firescale0.750.6 / 0.6 / 1.5
Firescale11.7 / 1.7 / 4.8
Firescale1.31.4 / 1.4 / 5.4
Firescale1.61.9 / 1.9 / 4.8
Firescale1.91.5 / 1.5 / 5.6
Firescale2.21.7 / 1.7 / 5
Firescale2.50 / 0 / 0
Firescale3.20 / 0 / 0
Wing_Lrotation00 / 0 / 8
Wing_Lrotation0.80 / 0 / -32
Wing_Lrotation1.60 / 0 / 8
Wing_Lrotation2.40 / 0 / 30
Wing_Lrotation3.20 / 0 / 8
Wing_Tip_Lrotation00 / 0 / 4
Wing_Tip_Lrotation0.80 / -6 / -10
Wing_Tip_Lrotation1.60 / 0 / 4
Wing_Tip_Lrotation2.40 / 8 / 13
Wing_Tip_Lrotation3.20 / 0 / 4
Leg_Lrotation025 / 0 / 0
Leg_Lrotation1.632 / 0 / 0
Leg_Lrotation3.225 / 0 / 0
Foot_Lrotation0-18 / 0 / 0
Foot_Lrotation3.2-18 / 0 / 0
Wing_Rrotation00 / 0 / -8
Wing_Rrotation0.80 / 0 / 32
Wing_Rrotation1.60 / 0 / -8
Wing_Rrotation2.40 / 0 / -30
Wing_Rrotation3.20 / 0 / -8
Wing_Tip_Rrotation00 / 0 / -4
Wing_Tip_Rrotation0.80 / 6 / 10
Wing_Tip_Rrotation1.60 / 0 / -4
Wing_Tip_Rrotation2.40 / -8 / -13
Wing_Tip_Rrotation3.20 / 0 / -4
Leg_Rrotation025 / 0 / 0
Leg_Rrotation1.632 / 0 / 0
Leg_Rrotation3.225 / 0 / 0
Foot_Rrotation0-18 / 0 / 0
Foot_Rrotation3.2-18 / 0 / 0
Embersrotation00 / 0 / 0
Embersrotation1.60 / 0 / 25
Embersrotation3.20 / 0 / 0
STEP8

Switch, check, save your dragon

In the end, it is not to add an extra decoration, but to check the completeness of the action.

  1. Open 05-finished-animated.bbmodel Comparison: 106 parts, 19 groups, 2 textures, 2 animations. Drag the playhead to view 0 seconds, mouth opening, maximum fire breathing, fire closing, and loop junction.
  2. Play fly → fire_breath → fly. When you return to flight, the mouth should be closed, the Fire scale returned to zero, and the wings continuing to cycle. Look again at the side and front, and check whether the mouth, wing roots and tail roots are falling apart.
  3. Save as own my-wyvern.bbmodel. Open it again and confirm that the texture and two animations are there; then make your own changes.
Native Blockbench · Chinese interfaceView original image ↗
Blockbench finished fire breathing animation, playhead at 1 second, selected jaw key frame at 0.85 seconds, X rotation is −30 degrees
Actual machine 08Jaw and flame, two tracks combined into one action
  • Bottom shows both Jaw rotation and Fire zoom; playhead at 1 second, selected Jaw frame at 0.85 seconds, X=−30°.
  • At this moment, the mouth opens and the flame stretches forward. Switch back to fly and make sure the mouth is closed and the flames are hidden; do not change the preview pose to the default modeling pose.
GOAL!

YOUR DRAGON, YOUR STORY

Now, it's your turn to decide its character.

You have given a group of blocks articulation, a center of gravity, and a rhythm. Keep the finished version first, then change just one variable to see who the dragon turns into.

  • Make It Lighter:Reduce body undulation and main wing angle to compare whether it is like gliding or hovering.
  • Hesitate:Wait another 0.2 seconds after the mouth opens before releasing the fire, then adjust the ending to preserve a complete loop.
  • Change the atmosphere:Save the blue-green texture to make the ice dragon; if the vision changes, the game damage type will not automatically change.

QUICK RESCUE

Which Part of Your Wyvern Is Misbehaving?

The wings move up and down, like a seesaw.

The Z rotation of the left and right main wings should have opposite signs. Looking at the pivots again: Wing_L is 4/17/0 and Wing_R is −4/17/0. Don't judge the group name just by looking at the left and right sides of the screen.

The wing tips or tail tips stayed in place and did not move.

Check the indentation of the outline: Wing_Tip must be under Wing on the same side; Tail_Tip must be under Tail_Mid, and Tail_Mid must be under Tail_Base. Grouping side by side does not equal a parent-child relationship.

The flame sprays downward, or hangs on the mouth while flying.

Fire should be placed directly inside the Head rather than the Jaw; the pivot is 0 / 19.1 / −18.6. The Fire Scale of the flight animation should be set to 0 / 0 / 0 at the beginning and end. The fire breathing clip should also reset to zero after 2.5 seconds.

The position of the oblique bones, legs or horns is incorrect.

First check the Position and Size of the component, and then check the Pivot and Rotation of the component itself. Do not use grouped rotations instead of individual part rotations. Available Phase 03 Compare with your own project.

The model has no texture, or the flames appear as four strips.

Prioritize opening checkpoints for embedded textures. The scale image is 64×64; the flame image is 16×64, but the UVs per frame are 16×16, don’t spread the entire strip onto one surface. The static single-frame version is available for beginners.

The 3D webpage fails to load, can I still learn?

Yes. Screenshots, parameters and downloaded projects are available independently. The real-time model requires WebGL and an Internet connection to load Three.js; you can also open the complete .bbmodel in Blockbench locally to view.

Tool Description and Extended Reading

The part and keyframe values come directly from this lesson's wyvern project, and the screenshots were captured in the actual software. Refer to the official Blockbench documentation for interface tools and export concepts.

Official: Interface, grouping and animation tools ↗Official: Export format ↗Back to Course Contents →