Merge branch 'master' of https://github.com/iNavFlight/inav-configurator into iNavFlight-master

pull/1331/head
Darren Lines 3 years ago
commit ef3ae7adbd

@ -16,18 +16,20 @@ I recently made a couple of 3D models for the setup page of configurator, so tho
Create the model in your preferred 3D package. I use Fusion 360 and created quite large models. The size doesn't matter, it can be resized in Blender. I simply created the model, combined most parts, and added colour where I wanted it. The annoying thing is that the materials don't copy across in to Blender. But it's easier to get everything set with the package you're comfortable with. I would also highly reccomend naming each object in the model, as it will make things simpler later on. I also name the materials, as I'm sure Blender understands the material names. Once you're happy with the model, export it as an .obj file.
## Basic modification in Blender
Open Blender, and import your .obj. This should be pretty uneventful.
###Scaling
### Scaling
But if your model is large, you may just see an obstructed camera. If this is the case, switch to a flat on view (Top, Bottom, Left, Right, Front, or Back); which you access from the View menu in the bottom left corner of the screen, next to the 3D cube.
![image](https://user-images.githubusercontent.com/17590174/120713107-6193c480-c4b9-11eb-80f0-9e95cf0cae4b.png)
At that point, you should be able to use the + and - keys on the number pad to zoom in and out. Zoom out until you can see your complete model. Then click the __Scale__ button and move the mouse to resize the model. You want to make it smaller until you can see a grid area underneath it. A good size seems to be around 2.75 empty grid squares around the largest dimensions.
###Rotating
### Rotating
At this point, your model should be the right size. However, it may not be facing the correct way. From the __Top__ view, you should be looking down on the top of your model. However, when using the __Front__ view, I have found that looking at the back of the model is the correct way around for Configurator. To rotate your model, click the __Rotate__ button and move the mouse. If you hold the __shift__ key while moving the mouse, you have finer control.
###Materials
### Materials
Next up, you will want to replicate the materials that you selected when designing the model. I'm not going to go in to detail, but select the part that you wish to edit from the list in the top right of the screen. Below that is a button menu for what you can modify. Find the 3D sphere and click that. There you will find the materials editor, where you can change colours etc.
![image](https://user-images.githubusercontent.com/17590174/120714284-e59a7c00-c4ba-11eb-83d6-cff07a8fb476.png)
###Joining
### Joining
The final stage before exporting the model is joining all the individual parts. You can still edit things afterwards. But if you don't do this, you will only export the last selected part. First, select all the parts of the 3D model that you want visible in configurator. Click on the triangle to the left of the object name, in the obkect list in the top right of the screen. Hold the __shift__ key to select multiples. Once they're all selected, hold __Ctrl__ and press __J__. The parts should all now join, and you will see only one object in the list (objects not selected to be joined will of course still be there). If it didn't work, try __Ctrl__ + __J__ again, as sometimes I have had to issue the command twice.
## Exporting the model to JSON
Select you joined object and head to the top menu with __File__ > __Export__ > __Three.js (.json)__. Selecting the export folder and giving it a name should be pretty straight forward. However, you'll be wanting the __Export THREE__ export settings. These have worked fine for me.

@ -3062,6 +3062,12 @@
"osdElement_GPS_SPEED_HELP": {
"message": "Shows GPS ground speed."
},
"osdElement_GPS_MAX_SPEED": {
"message": "GPS Maximum Speed"
},
"osdElement_GPS_MAX_SPEED_HELP": {
"message": "Shows highest GPS ground speed."
},
"osdElement_MSL_ALTITUDE": {
"message": "MSL Altitude"
},
@ -3074,6 +3080,18 @@
"osdElement_3D_SPEED_HELP": {
"message": "Shows 3D speed considering both horizontal and vertical speed."
},
"osdElement_3D_MAX_SPEED": {
"message": "3D Maximum Speed"
},
"osdElement_3D_MAX_SPEED_HELP": {
"message": "Shows highest 3D speed considering both horizontal and vertical speed."
},
"osdElement_AIR_MAX_SPEED": {
"message": "Maximum Air Speed"
},
"osdElement_AIR_MAX_SPEED_HELP": {
"message": "Shows highest air speed."
},
"osdElement_GPS_SATS": {
"message": "GPS Satellites"
},

File diff suppressed because one or more lines are too long

@ -13207,27 +13207,27 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -13207,27 +13207,27 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -13210,27 +13210,27 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -13204,27 +13204,27 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -124,6 +124,7 @@ SYM_HEADING_E | SYM.HEADING_E | Heading graph East
SYM_HEADING_W | SYM.HEADING_W | Heading graph West | 203 | 0xCB
SYM_HEADING_DIVIDED_LINE | SYM.HEADING_DIVIDED_LINE | Heading graphic | 204 | 0xCC
SYM_HEADING_LINE | SYM.HEADING_LINE | Heading graphic | 205 | 0xCD
SYM_MAX | SYM.MAX | Max icon | 206 | 0xCE
| | | |
SYM_LOGO_START | | INAV Logo | 257 - 280 | 0x101 - 0x118
SYM_AH_LEFT | SYM.AH_LEFT | AHI Arrow left | 300 | 0x12C

@ -13183,60 +13183,60 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010000
01010100
00010101
01001010
00010010
10000101
01001010
00010010
10000101
01001010
00010010
10000101
01001010
00010010
10000101
01001010
00010010
10000101
01010000
01010100
00010101
01010000
01010100
00010101
01001010
00010010
10000101
01001010
00010010
10000101
01010000
01010100
00010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -13204,30 +13204,30 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -13207,27 +13207,27 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -13210,27 +13210,27 @@ MAX7456
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
01010101
00010001
01000101
00010001
10001000
00100000
10001000
10101000
10001000
10001000
10001000
10101000
00100001
10001000
10001000
10001000
10001000
10001000
10001000
00010001
00010001
00010001
01010101
01010101
01010101

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -99,6 +99,7 @@ SYM.MAH_NM_1 = 0x61;
SYM.AH_NM = 0x3F;
SYM.WH_NM = 0x70;
SYM.VTX_POWER = 0x27;
SYM.MAX = 0xCE;
SYM.AH_AIRCRAFT0 = 0x1A2;
SYM.AH_AIRCRAFT1 = 0x1A3;
@ -865,6 +866,26 @@ OSD.constants = {
return FONT.symbol(SYM.AIR) + speed;
}
},
{
name: 'AIR_MAX_SPEED',
id: 127,
enabled: function() {
return SENSOR_CONFIG.pitot != 0;
},
preview: function(osd_data) {
// 3 chars
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 2: // Metric + MPH
case 3: // UK
return FONT.symbol(SYM.MAX) + FONT.symbol(SYM.AIR) + FONT.embed_dot('135') + FONT.symbol(SYM.MPH);
case 4: // GA
return FONT.symbol(SYM.MAX) + FONT.symbol(SYM.AIR) + FONT.embed_dot('177') + FONT.symbol(SYM.KT);
default: // Metric
return FONT.symbol(SYM.MAX) + FONT.symbol(SYM.AIR) + FONT.embed_dot('217') + FONT.symbol(SYM.KMH);
}
}
},
{
name: 'RTC_TIME',
id: 29,
@ -1308,23 +1329,6 @@ OSD.constants = {
return FC.isFeatureEnabled('GPS');
},
items: [
{
name: 'GPS_SPEED',
id: 13,
preview: function(osd_data) {
// 3 chars
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 2: // Metric + MPH
case 3: // UK
return FONT.embed_dot('115') + FONT.symbol(SYM.MPH);
case 4: // GA
return FONT.embed_dot('100') + FONT.symbol(SYM.KT);
default: // Metric
return FONT.embed_dot('185') + FONT.symbol(SYM.KMH);
}
}
},
{
name: 'MSL_ALTITUDE',
id: 96,
@ -1350,6 +1354,23 @@ OSD.constants = {
}
},
},
{
name: 'GPS_SPEED',
id: 13,
preview: function(osd_data) {
// 3 chars
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 2: // Metric + MPH
case 3: // UK
return FONT.embed_dot('115') + FONT.symbol(SYM.MPH);
case 4: // GA
return FONT.embed_dot('100') + FONT.symbol(SYM.KT);
default: // Metric
return FONT.embed_dot('185') + FONT.symbol(SYM.KMH);
}
}
},
{
name: '3D_SPEED',
id: 85,
@ -1359,11 +1380,45 @@ OSD.constants = {
case 0: // Imperial
case 2: // Metric + MPH
case 3: // UK
return FONT.embed_dot('115') + FONT.symbol(SYM.MPH_3D);
return FONT.embed_dot('127') + FONT.symbol(SYM.MPH_3D);
case 4: // GA
return FONT.embed_dot('110') + FONT.symbol(SYM.KT_3D);
default: // Metric
return FONT.embed_dot('204') + FONT.symbol(SYM.KMH_3D);
}
}
},
{
name: 'GPS_MAX_SPEED',
id: 125,
preview: function(osd_data) {
// 3 chars
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 2: // Metric + MPH
case 3: // UK
return FONT.symbol(SYM.MAX) + FONT.embed_dot('138') + FONT.symbol(SYM.MPH);
case 4: // GA
return FONT.symbol(SYM.MAX) + FONT.embed_dot('120') + FONT.symbol(SYM.KT);
default: // Metric
return FONT.symbol(SYM.MAX) + FONT.embed_dot('222') + FONT.symbol(SYM.KMH);
}
}
},
{
name: '3D_MAX_SPEED',
id: 126,
preview: function(osd_data) {
// 3 chars
switch (OSD.data.preferences.units) {
case 0: // Imperial
case 2: // Metric + MPH
case 3: // UK
return FONT.symbol(SYM.MAX) + FONT.embed_dot('150') + FONT.symbol(SYM.MPH_3D);
case 4: // GA
return FONT.embed_dot('100') + FONT.symbol(SYM.KT_3D);
return FONT.symbol(SYM.MAX) + FONT.embed_dot('130') + FONT.symbol(SYM.KT_3D);
default: // Metric
return FONT.embed_dot('185') + FONT.symbol(SYM.KMH_3D);
return FONT.symbol(SYM.MAX) + FONT.embed_dot('241') + FONT.symbol(SYM.KMH_3D);
}
}
},

Loading…
Cancel
Save