Skip to content

Commit 04a2af8

Browse files
committed
update readme and examples
1 parent 3d59950 commit 04a2af8

File tree

11 files changed

+157
-167
lines changed

11 files changed

+157
-167
lines changed

README.md

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,9 @@ Also check out the [Blender Servo Animation Arduino Library](https://github.com/
1818

1919
## Installation
2020

21-
> Note: this Add-on is compatible with Blender version **2.90 or higher**.
21+
> Note: the latest version of this Add-on is compatible with Blender **4.2 or higher**.
2222
23-
1. Download the [latest version of the Add-on](https://github.com/timhendriks93/blender-servo-animation/releases/latest/download/blender_servo_animation_addon.zip) as a ZIP archive.
24-
2. Open Blender and go to `File > Preferences > Add-ons`.
25-
3. Click the `Install...` button, select the previously downloaded ZIP and click `Install Add-on`.
26-
4. Enable the Add-on by checking the checkbox in the Add-ons list.
27-
28-
More information and screenshots can be found in the official [Blender Manual](https://docs.blender.org/manual/en/latest/editors/preferences/addons.html#add-ons).
23+
The Add-on can be installed as a regular [Blender Extension](https://docs.blender.org/manual/en/latest/editors/preferences/extensions.html).
2924

3025
## Providing Servo Settings
3126

@@ -73,16 +68,19 @@ Once all servo settings are provided and your animation is ready, you can calcul
7368

7469
Make sure to select the armature containing the bones/servos you want to export and choose the desired format in the `File > Export` menu:
7570

76-
![Servo Settings panel](images/export_menu.png)
71+
![Export Menu Top](images/export_menu.png)
72+
73+
Alternatively, you can also trigger the export via the timeline menu which is shown in the live mode section below:
7774

78-
Alternatively, you can also trigger the export via the timeline menu which is shown in the live mode section below.
75+
![Export Menu Timeline](images/timeline_menu.png)
7976

8077
### Export Formats
8178

82-
There are two different formats to choose from:
79+
There are 3 different formats to choose from:
8380

8481
1. `Animation Servo Positions (.h)`: An Arduino/C/C++ style header file which can be easily included in an Arduino project.
8582
2. `Animation Servo Positions (.json)`: A simple (non-formatted) JSON file which can be used in a more generic way.
83+
3. `Animation Servo Positions (.bin)`: A binary file which can be used to store the animation data on an SD card.
8684

8785
### Using the Exported Data
8886

@@ -99,21 +97,13 @@ To make the animation process even more intuitive, you can enable the `Live mode
9997

10098
This will allow you to control your servos in real-time from within Blender.
10199

102-
### Installing dependencies
103-
104-
After enabling the add-on, you can find the `Servo Positions` popover menu in the header of the timeline. Before using the live mode feature of this add-on, you might have to install some Python dependencies first by pressing the `Install dependencies` button. This will automatically install the required `pip` packages and requires an active internet connection. This process can might take a few seconds depending on the speed of your internet connection.
105-
106-
![Install dependencies button](images/live_mode_dependencies.png)
107-
108-
Afterwards you can prepare and control the connection to be used for the `Live mode` via this menu. For additional convenience, you will also find buttons to export the servo positions here.
109-
110100
### Setup a connection
111101

112102
To use the `Live Mode`, you will need to prepare a receiver which will interpret the received commands and use them to control the servo motors accordingly.
113103

114104
In most cases, the receiver can be considered an Arduino compatible micro controller. As a first step, a connection method should be selected via the `Method` dropdown menu.
115105

116-
![Timeline menu](images/timeline_menu.gif)
106+
![Livemode Timeline menu](images/timeline_menu.png)
117107

118108
> Note: starting the `Live Mode` will immediately send the position values for all servos based on the current frame. Make sure that this will not break anything, as the servos will try to move to their new position as fast as possible.
119109

examples/IK/ik.blend

32.2 KB
Binary file not shown.

examples/Scenes/scenes.blend

32.5 KB
Binary file not shown.

examples/Simple/simple.bin

0 Bytes
Binary file not shown.

examples/Simple/simple.blend

30.2 KB
Binary file not shown.

examples/Simple/simple.h

Lines changed: 50 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -17,54 +17,54 @@ const int FRAMES = 100;
1717
const int LENGTH = 600;
1818

1919
const byte PROGMEM ANIMATION_DATA[LENGTH] = {
20-
0x3c, 0x00, 0x05, 0xc0, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xc3, 0x3e, 0x0a,
21-
0x3c, 0x00, 0x05, 0xca, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xd7, 0x3e, 0x0a,
22-
0x3c, 0x00, 0x05, 0xe8, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xfd, 0x3e, 0x0a,
23-
0x3c, 0x00, 0x06, 0x16, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x32, 0x3e, 0x0a,
24-
0x3c, 0x00, 0x06, 0x51, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x73, 0x3e, 0x0a,
25-
0x3c, 0x00, 0x06, 0x97, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0xbe, 0x3e, 0x0a,
26-
0x3c, 0x00, 0x06, 0xe6, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0x0f, 0x3e, 0x0a,
27-
0x3c, 0x00, 0x07, 0x39, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0x65, 0x3e, 0x0a,
28-
0x3c, 0x00, 0x07, 0x90, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0xbb, 0x3e, 0x0a,
29-
0x3c, 0x00, 0x07, 0xe7, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x11, 0x3e, 0x0a,
30-
0x3c, 0x00, 0x08, 0x3a, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x62, 0x3e, 0x0a,
31-
0x3c, 0x00, 0x08, 0x89, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xad, 0x3e, 0x0a,
32-
0x3c, 0x00, 0x08, 0xcf, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xee, 0x3e, 0x0a,
33-
0x3c, 0x00, 0x09, 0x0a, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x23, 0x3e, 0x0a,
34-
0x3c, 0x00, 0x09, 0x38, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x49, 0x3e, 0x0a,
35-
0x3c, 0x00, 0x09, 0x56, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x5d, 0x3e, 0x0a,
36-
0x3c, 0x00, 0x09, 0x60, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x5b, 0x3e, 0x0a,
37-
0x3c, 0x00, 0x09, 0x4c, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x35, 0x3e, 0x0a,
38-
0x3c, 0x00, 0x09, 0x15, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xed, 0x3e, 0x0a,
39-
0x3c, 0x00, 0x08, 0xbe, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x89, 0x3e, 0x0a,
40-
0x3c, 0x00, 0x08, 0x4e, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x0d, 0x3e, 0x0a,
41-
0x3c, 0x00, 0x07, 0xc8, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0x7f, 0x3e, 0x0a,
42-
0x3c, 0x00, 0x07, 0x32, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0xe3, 0x3e, 0x0a,
43-
0x3c, 0x00, 0x06, 0x91, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x3e, 0x3e, 0x0a,
44-
0x3c, 0x00, 0x05, 0xea, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x96, 0x3e, 0x0a,
45-
0x3c, 0x00, 0x05, 0x42, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0xef, 0x3e, 0x0a,
46-
0x3c, 0x00, 0x04, 0x9d, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x4e, 0x3e, 0x0a,
47-
0x3c, 0x00, 0x04, 0x01, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0xb8, 0x3e, 0x0a,
48-
0x3c, 0x00, 0x03, 0x73, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x32, 0x3e, 0x0a,
49-
0x3c, 0x00, 0x02, 0xf7, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0xc2, 0x3e, 0x0a,
50-
0x3c, 0x00, 0x02, 0x93, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x6b, 0x3e, 0x0a,
51-
0x3c, 0x00, 0x02, 0x4b, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x34, 0x3e, 0x0a,
52-
0x3c, 0x00, 0x02, 0x25, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x20, 0x3e, 0x0a,
53-
0x3c, 0x00, 0x02, 0x22, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x29, 0x3e, 0x0a,
54-
0x3c, 0x00, 0x02, 0x34, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x43, 0x3e, 0x0a,
55-
0x3c, 0x00, 0x02, 0x56, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x6d, 0x3e, 0x0a,
56-
0x3c, 0x00, 0x02, 0x86, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0xa2, 0x3e, 0x0a,
57-
0x3c, 0x00, 0x02, 0xc1, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0xe2, 0x3e, 0x0a,
58-
0x3c, 0x00, 0x03, 0x05, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x29, 0x3e, 0x0a,
59-
0x3c, 0x00, 0x03, 0x4f, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x76, 0x3e, 0x0a,
60-
0x3c, 0x00, 0x03, 0x9f, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0xc7, 0x3e, 0x0a,
61-
0x3c, 0x00, 0x03, 0xf0, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x19, 0x3e, 0x0a,
62-
0x3c, 0x00, 0x04, 0x41, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x6a, 0x3e, 0x0a,
63-
0x3c, 0x00, 0x04, 0x91, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0xb7, 0x3e, 0x0a,
64-
0x3c, 0x00, 0x04, 0xdb, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0xfe, 0x3e, 0x0a,
65-
0x3c, 0x00, 0x05, 0x1f, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x3e, 0x3e, 0x0a,
66-
0x3c, 0x00, 0x05, 0x5a, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x73, 0x3e, 0x0a,
67-
0x3c, 0x00, 0x05, 0x8a, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x9d, 0x3e, 0x0a,
68-
0x3c, 0x00, 0x05, 0xac, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xb7, 0x3e, 0x0a,
69-
0x3c, 0x00, 0x05, 0xbe, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xc0, 0x3e, 0x0a,
20+
0x3c, 0x00, 0x05, 0xc0, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xc5, 0x3e, 0x0a,
21+
0x3c, 0x00, 0x05, 0xd2, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xe8, 0x3e, 0x0a,
22+
0x3c, 0x00, 0x06, 0x05, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x28, 0x3e, 0x0a,
23+
0x3c, 0x00, 0x06, 0x51, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x7f, 0x3e, 0x0a,
24+
0x3c, 0x00, 0x06, 0xb1, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0xe6, 0x3e, 0x0a,
25+
0x3c, 0x00, 0x07, 0x1d, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0x56, 0x3e, 0x0a,
26+
0x3c, 0x00, 0x07, 0x90, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0xca, 0x3e, 0x0a,
27+
0x3c, 0x00, 0x08, 0x03, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x3a, 0x3e, 0x0a,
28+
0x3c, 0x00, 0x08, 0x6f, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xa1, 0x3e, 0x0a,
29+
0x3c, 0x00, 0x08, 0xcf, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xf8, 0x3e, 0x0a,
30+
0x3c, 0x00, 0x09, 0x1b, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x38, 0x3e, 0x0a,
31+
0x3c, 0x00, 0x09, 0x4e, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x5b, 0x3e, 0x0a,
32+
0x3c, 0x00, 0x09, 0x60, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x5e, 0x3e, 0x0a,
33+
0x3c, 0x00, 0x09, 0x57, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x4d, 0x3e, 0x0a,
34+
0x3c, 0x00, 0x09, 0x3e, 0x3e, 0x0a, 0x3c, 0x00, 0x09, 0x2c, 0x3e, 0x0a,
35+
0x3c, 0x00, 0x09, 0x16, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xfd, 0x3e, 0x0a,
36+
0x3c, 0x00, 0x08, 0xe1, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0xc1, 0x3e, 0x0a,
37+
0x3c, 0x00, 0x08, 0x9f, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x7a, 0x3e, 0x0a,
38+
0x3c, 0x00, 0x08, 0x53, 0x3e, 0x0a, 0x3c, 0x00, 0x08, 0x29, 0x3e, 0x0a,
39+
0x3c, 0x00, 0x07, 0xfd, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0xcf, 0x3e, 0x0a,
40+
0x3c, 0x00, 0x07, 0x9f, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0x6e, 0x3e, 0x0a,
41+
0x3c, 0x00, 0x07, 0x3c, 0x3e, 0x0a, 0x3c, 0x00, 0x07, 0x08, 0x3e, 0x0a,
42+
0x3c, 0x00, 0x06, 0xd3, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x9d, 0x3e, 0x0a,
43+
0x3c, 0x00, 0x06, 0x66, 0x3e, 0x0a, 0x3c, 0x00, 0x06, 0x2f, 0x3e, 0x0a,
44+
0x3c, 0x00, 0x05, 0xf8, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xc0, 0x3e, 0x0a,
45+
0x3c, 0x00, 0x05, 0x88, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x51, 0x3e, 0x0a,
46+
0x3c, 0x00, 0x05, 0x1a, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0xe3, 0x3e, 0x0a,
47+
0x3c, 0x00, 0x04, 0xad, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x78, 0x3e, 0x0a,
48+
0x3c, 0x00, 0x04, 0x44, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x12, 0x3e, 0x0a,
49+
0x3c, 0x00, 0x03, 0xe1, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0xb1, 0x3e, 0x0a,
50+
0x3c, 0x00, 0x03, 0x83, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x57, 0x3e, 0x0a,
51+
0x3c, 0x00, 0x03, 0x2d, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x06, 0x3e, 0x0a,
52+
0x3c, 0x00, 0x02, 0xe1, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0xbf, 0x3e, 0x0a,
53+
0x3c, 0x00, 0x02, 0x9f, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x83, 0x3e, 0x0a,
54+
0x3c, 0x00, 0x02, 0x6a, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x54, 0x3e, 0x0a,
55+
0x3c, 0x00, 0x02, 0x42, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x33, 0x3e, 0x0a,
56+
0x3c, 0x00, 0x02, 0x29, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x22, 0x3e, 0x0a,
57+
0x3c, 0x00, 0x02, 0x20, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x24, 0x3e, 0x0a,
58+
0x3c, 0x00, 0x02, 0x31, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x45, 0x3e, 0x0a,
59+
0x3c, 0x00, 0x02, 0x60, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0x81, 0x3e, 0x0a,
60+
0x3c, 0x00, 0x02, 0xa7, 0x3e, 0x0a, 0x3c, 0x00, 0x02, 0xd2, 0x3e, 0x0a,
61+
0x3c, 0x00, 0x03, 0x00, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x32, 0x3e, 0x0a,
62+
0x3c, 0x00, 0x03, 0x67, 0x3e, 0x0a, 0x3c, 0x00, 0x03, 0x9d, 0x3e, 0x0a,
63+
0x3c, 0x00, 0x03, 0xd4, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x0c, 0x3e, 0x0a,
64+
0x3c, 0x00, 0x04, 0x43, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0x79, 0x3e, 0x0a,
65+
0x3c, 0x00, 0x04, 0xae, 0x3e, 0x0a, 0x3c, 0x00, 0x04, 0xe0, 0x3e, 0x0a,
66+
0x3c, 0x00, 0x05, 0x0e, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x39, 0x3e, 0x0a,
67+
0x3c, 0x00, 0x05, 0x5f, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0x80, 0x3e, 0x0a,
68+
0x3c, 0x00, 0x05, 0x9b, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xaf, 0x3e, 0x0a,
69+
0x3c, 0x00, 0x05, 0xbc, 0x3e, 0x0a, 0x3c, 0x00, 0x05, 0xc0, 0x3e, 0x0a,
7070
};

0 commit comments

Comments
 (0)