Total found:2391
Hi EhrlichFire, you can absolutely copy from one show to another. This forum topic may help: https://finale3d.com/groups/english/forum/topic/combining-shows/ The copy/paste functionality is designed to be very robust, here's a technical article from our documentation: https://finale3d.com/documentation/copy-paste/
Hi Dirk, I am not sure why I cannot paste from Script 1 to Script 2. When I right click on Script 2, I do not get a drop-down with any options, i.e. "Paste" However, doing a "Save As", saving Show 1 as Show 2 and moving the positions, could be a viable solution. Thanks Bryan "EhrlichFire"
You should be able to copy paste from one script to an other without any problems. What is the error here ? Do you not see the copied events ? Maybe the reason for this is an active filter on the script menu. I would uses saveas to save show 1 as show 2. then i would create the different positions and move the events to the new positions and delete the old ones. Dirk
I have two shows on July 4th and I am building duplicate shows, but the field setup is different. These are pyro-musical shows with the same song lineup. I would like to copy the script with the firing timing of effects from Show 1 to Show 2. I know I can copy individual or a group of effects. But when I paste them into the new show, the times do not copy and the shells are not in sync with the music. I also tried to copy the rows from the Script window from Show 1 to Show 2 but I cannot paste them into the Show 2 Script window. If the Script window performs like Excel, why can I not paste from one script to another? Copying the effects and firing times from one show to another would save me so much time. Thanks EhrlichFire Wellington, CO
Thanks everyone for the help. I was able to get the error corrected and the show working! It turned out to be the audiobox filename.
The VVIZ drone show file format is an interchange format for visualizing drone shows. VVIZ files are human-readable JSON text files that define the motion paths, colors and pyro payloads of drones in a show. The file format supports compression since drone data can be large and since drone motion and color animation compress well with negligible visual degradation. Finale 3D imports drone show files as described in Importing drone shows for scripting pyro in Finale 3D to coordinate with the drones or for making simulation videos of hybrid shows combining drones and fireworks. Finale 3D's import functions facilitate a work flow in which the user may iteratively edit the drone show in external drone show editing software, export the updated VVIZ drone show file, and import it into Finale 3D to update a hybrid show being designed in Finale 3D. The import function will replace the previously imported drone data without affecting the pyro being scripted. Finale 3D does not support editing drone motion paths or exporting VVIZ drone show files from Finale 3D. The import path is a one-way road, from external drone show software into Finale 3D. File structure The file structure is a JSON object with attribute-value pairs, as shown in the following example. The comments beginning with // are not part if the script format. Please do not attempt to include // comments in your imported script files. "version": "1.0", "defaultPositionRate": 2.0, "defaultColorRate": 10.0, "timeOffsetSecs": 120.0, "performances": [ { "id": 0, "agentDescription": { "homeX": -7.5, "homeY": 0.0499995537, "homeZ": -7.49999952, "homeH": 0.0, // optional heading in degrees "agentTraversal": [ { "dx": 0.0, "dy": 0.0, "dz": 0.0, "dh": 0.0 // optional heading delta in degrees }, { "dt": 1.5, // optional time delta from previous sample to this sample in seconds "dx": 0.0, "dy": 0.0, "dz": 0.0, "dh": 0.0 // optional heading delta in degrees } // and more samples... ] }, "payloadDescription": [ { // optional but very common LED light animation payload "id": 0, "type": "Light", "payloadActions": [ { "r": 0, "g": 0, "b": 0 }, { "r": 255, "g": 255, "b": 255, "frames": 505 // optional time delta from previous sample to this sample in units of 1/defaultColorRate } // and more samples... ] }, { // optional and less common pyro payload "id": 1, "type": "Pyro", "eventTime": 37.7, "vdl": "10s Gold Glittering Gerb", "partNumber": "" } ] } ] } The defaultPositionRate and defaultColorRate define the default sampling rate for position coordinates and RGB values for LED lights on the drones, in samples/second. The position data samples include dx, dy, and dz attributes that are position deltas in meters from the previous position to the sample's position. The position data samples may include a dh heading delta in degrees. The samples may or may not include a dt attribute, indicating the time delta from the previous sample to this sample in seconds. If dt is present, the time delta is dt seconds (unaffected by defaultPositionRate). If dt is missing, the default time delta is 1/defaultPositionRate seconds. The homeX, homeY, homeZ, and homeH are the initial coordinates of the drone in the coordinate system defined below. The color data samples with integer 8-bit RGB components may or may not include a frames attribute, indicating the time delta from the previous sample to this sample. If frames is present, the time delta is frames/defaultColorRate seconds (i.e., it is affected by defaultColorRate). If frames is missing, the implied time delta is 1/defaultColorRate seconds. The magnitude of the color sample values represents linear intensity. Values <10,10,10> are less intense than values <255, 255, 255>. Additional intensity scale attributes may be added to the VVIZ specification in the future. Finale 3D will interpolate the data values from the previous sample to this sample over the time delta specified in this sample, or the default if not present. Thus the time delta looks backward, not forward. The time delta is not a "hold for" time. The timeOffsetSecs field is an optional offset in seconds that applies to the entire imported file. When the user imports a VVIZ file into Finale 3D, the user is given the option to enter a time offset at which to import the file. The default time offset presented to the user is the value in the VVIZ file itself, in the timeOffsetSecs field. The performances field is an array of drone "performances", each performance including a drone motion path (the agentDescription) and a list of drone payloads (payloadDescription). The payloads are LED light animation or triggered pyro payloads. Each drone performance contains a unique integer id, which is nominally the name of the drone. Each payloadDescriptionalso contains a unique integer id, which is a programming convenience that has no meaning to the user. The LED light animation is a sequence of RGB color samples. The pyro payloads are triggered pyro effects defined by a trigger time (the eventTime in seconds), and the VDL visual effect description (vdl), and a various optional attributes. Pyro payloads A pyro payload must contain an eventTime and vdl attribute and a type attribute ("Pyro" or "Light"). Additionally, it may contain partNumber, notes, rail, pin, tilt, and pan attributes, as in this example: { "id": 1, "type": "Pyro", "eventTime": 90.0, "notes": "my notes", "rail": "0", "pin": "1", "tilt": 180, "pan": 0, "vdl": "30s Gold Glittering Gerb", "partNumber": "" } The angles are relative to the drone. A drone may contain multiple pyro payloads at various angles and trigger times. Coordinate system All VVIZ position coordinates are relative the global origin (defined by "Origin Man" in Finale 3D) , with the X-axis aiming to the right of the screen from viewer perspective, the Y-axis aiming up into the sky, and the Z-axis aiming into the screen. The coordinate system in the VVIZ file is similar to Finale 3D's coordinate system except that the Z-axis is inverted. A VVIZ heading of zero degrees aims toward the audience in Finale 3D's coordinate system (+Z in Finale 3D, -Z in VVIZ). A positive heading delta rotates around the Y-axis in a counter-clockwise direction, as viewed from above. If you import a google map into Finale 3D, the origin is the latitude and longitude, and North is into the screen. You can change the default orientation for the Front, Side, and Top camera buttons and for the "up" direction in site layout diagrams by right clicking the ground and choosing "Set default orientation". Compression and troubleshooting Finale 3D‘s table cells, which hold all the imported drone data, are limited to 16k characters per cell. As of June 2024, Finale 3D automatically compresses the Motion Data and Effect Data in table cells to make the drone information fit within the 16k character limit, eliminating any problems with the size of the data being imported. If you are concerned that the compression is resulting in a visualization that is different from your original data, please see Importing drone shows for instructions to disable compression or modify compression limits. Auxiliary attributes The curly-brace JSON objects in the VVIZ file may contain auxiliary fields that are not defined in the VVIZ format, for debugging or for platform specific concerns. The example files exported by the Verge software contain fields airframe, colorType, sourceType, and others which have no meaning in VVIZ. Readers of VVIZ can ignore auxiliary terms. Writers of VVIZ can add auxiliary terms at their discretion. Table 1 – Example files and downloads Download link Explanation test-AGT.vviz Example Verge Aero drone show with animated RGB lights test-pyro.vviz Example Verge Aero drone show with pyro payloads
Drones, saxons, wheels, and castiles all involve animated positions and orientations. Drone lights also involve animated colors during the course of the light effect. Finale 3D uses the Effect Data field in the script window, and the Motion Data in the position window, to hold the animation information. Both fields have a similar format for storing the information. The information usually gets filled in as a result of an operation like "Import drone show", but the information is also readable and editable by users as a text field, which makes it possible for users to animate positions and colors for their own purposes. Syntax of Motion Data and Effect Data fields The syntax of both the Motion Data and Effect Data fields is a pair of curly braces defining an object with attribute-value pairs in square brackets within the curly braces. The values for most attributes are lists of numbers that are also in square brackets, leading to a large number of brackets in the text string that must be carefully matched up without typos if you are entering data by hand. An example that defines the motion path for effect on a 0.5m radius wheel rotating clockwise 10 full 360 degree cycles over 10000ms (10 seconds) is, {[pos2 [0 .5 0 0]] [hpr [10000 0 0 -3600]]} An example defining the animated motion path of a drone over 5 minutes is, {[hash 1908853237] [pos [13000 0.0 7.9 0.0 19500 2.77 11.06 3.33 20500 3.42 12.1 4.59 21500 3.75 13.22 6.22 22000 3.61 13.76 7.17 22500 3.12 14.16 8.1 23000 2.39 14.3 8.74 24500 0.13 14.32 9.82 26000 -2.49 14.32 10.72 27000 -4.54 13.39 11.22 28000 -6.84 12.47 11.58 29500 -10.73 11.07 11.7 31000 -15.06 9.68 11.14 32000 -18.12 8.76 10.27 33000 -21.24 7.83 8.94 34000 -24.34 6.9 7.09 35000 -27.3 5.98 4.68 36000 -30.0 5.14 1.69 37000 -32.31 5.14 -1.88 37500 -33.27 5.14 -3.86 38000 -34.07 5.14 -5.97 38500 -34.69 5.14 -8.2 39000 -35.12 5.14 -10.52 39500 -35.34 5.14 -12.93 40000 -35.33 5.14 -15.4 40500 -35.07 5.14 -17.91 41000 -34.56 5.14 -20.44 41500 -33.77 5.14 -22.95 42000 -32.71 5.14 -25.42 42500 -31.38 5.14 -27.81 43000 -29.76 5.14 -30.08 43500 -27.87 5.14 -32.21 44000 -25.71 5.14 -34.14 44500 -23.31 5.14 -35.86 45000 -20.68 5.14 -37.3 45500 -17.84 5.14 -38.45 46000 -14.84 5.14 -39.27 46500 -11.71 5.14 -39.72 47000 -8.49 5.14 -39.78 47500 -5.24 5.14 -39.43 48000 -2.01 5.14 -38.66 48500 1.15 5.14 -37.46 49000 4.16 5.14 -35.82 49500 5.73 5.37 -34.2 50000 5.33 6.16 -32.54 50500 5.1 6.96 -30.66 51000 5.03 7.75 -28.51 52000 5.33 9.33 -23.28 52500 5.66 9.86 -20.87 53000 6.01 10.17 -18.88 54000 6.53 10.17 -16.47 55000 6.68 10.17 -13.81 55500 6.58 10.17 -12.41 56500 5.99 10.17 -9.54 57000 5.47 10.17 -8.1 58000 3.99 10.17 -5.28 58500 3.01 10.17 -3.96 59500 0.6 10.18 -1.56 60000 -0.83 10.18 -0.53 61000 -4.05 10.18 1.06 61500 -5.82 10.18 1.59 62000 -7.67 10.18 1.92 62500 -9.57 10.35 2.04 63000 -11.41 10.83 1.87 63500 -12.85 11.01 1.21 64500 -15.71 11.18 -0.75 65000 -17.07 11.2 -2.03 65500 -18.33 11.21 -3.5 66000 -19.47 11.24 -5.14 66500 -20.47 11.29 -6.94 67000 -21.29 11.41 -8.87 67500 -21.93 11.61 -10.89 68000 -22.36 11.91 -12.98 68500 -22.59 12.34 -15.1 69000 -22.61 12.9 -17.2 69500 -22.42 13.61 -19.26 70000 -22.04 14.48 -21.22 70500 -21.47 15.51 -23.06 71000 -20.74 16.69 -24.72 71500 -19.86 18.03 -26.2 72000 -18.87 19.5 -27.44 72500 -17.78 21.1 -28.43 73000 -16.63 22.81 -29.15 73500 -15.43 24.59 -29.59 74000 -14.24 26.44 -29.74 74500 -13.05 28.32 -29.6 75000 -11.92 30.2 -29.17 75500 -10.84 32.05 -28.47 76000 -9.85 33.86 -27.51 76500 -8.96 35.59 -26.31 77000 -8.19 37.23 -24.89 77500 -7.54 38.75 -23.29 78000 -7.02 40.13 -21.53 78500 -6.64 41.37 -19.64 79000 -6.39 42.46 -17.66 79500 -6.26 43.38 -15.62 80500 -6.38 44.74 -11.46 81500 -6.93 45.48 -7.39 82500 -7.83 45.68 -3.6 83500 -8.97 45.45 -0.21 84500 -10.26 44.91 2.69 85500 -11.62 44.2 5.05 86500 -12.97 43.42 6.9 87500 -14.25 42.7 8.26 89000 -15.94 41.89 9.51 90000 -17.35 41.62 10.25 90500 -18.44 40.89 10.82 92000 -20.65 39.07 11.72 93000 -22.08 38.17 12.28 94500 -24.17 37.26 13.21 95500 -25.5 36.93 13.91 96500 -25.4 36.82 13.78 99500 -22.78 36.81 12.01 105000 -20.81 29.72 15.0 105500 -19.62 27.8 14.1 106000 -18.18 25.78 13.35 106500 -17.56 25.1 13.48 109000 -17.68 26.2 16.13 110000 -17.62 25.84 17.46 112000 -18.0 25.43 20.1 114500 -18.35 27.07 22.52 115500 -18.67 27.9 23.33 118000 -19.54 28.2 26.17 119500 -20.38 28.71 27.6 120500 -20.83 29.53 28.18 122000 -21.54 30.99 28.63 123500 -22.47 32.21 29.01 124500 -23.47 32.76 29.56 125500 -24.69 33.33 29.93 127000 -26.7 34.29 30.03 128000 -27.35 35.29 29.95 129000 -27.77 36.42 29.78 129500 -28.24 36.88 29.68 130500 -28.87 37.97 29.4 131000 -29.58 38.34 29.28 132500 -31.67 39.48 28.62 134000 -33.62 40.65 27.6 135000 -34.42 41.79 27.19 135500 -35.0 42.68 26.49 137000 -41.73 51.43 14.21 156500 -32.35 49.75 19.48 157000 -30.51 49.22 19.72 158000 -28.05 47.93 17.72 159000 -25.99 46.69 15.27 160000 -24.42 45.55 12.45 161000 -23.38 44.53 9.34 162000 -22.91 43.68 6.05 162500 -22.89 43.32 4.38 163500 -23.29 42.76 1.02 164500 -24.26 42.41 -2.25 165500 -25.77 42.3 -5.33 166500 -27.77 42.43 -8.11 167500 -30.19 42.78 -10.52 168000 -31.54 43.04 -11.55 169000 -34.44 43.71 -13.23 170000 -37.56 44.58 -14.37 171000 -40.79 45.6 -14.92 172000 -44.02 46.75 -14.87 173000 -47.14 47.99 -14.22 174000 -49.79 49.16 -13.13 174500 -51.36 48.62 -14.01 175000 -53.17 48.29 -14.74 176500 -59.26 47.82 -16.54 177000 -61.16 47.56 -17.22 177500 -62.81 47.09 -18.05 178000 -64.12 46.35 -19.07 178500 -65.03 45.28 -20.34 179000 -65.49 43.86 -21.88 179500 -65.21 42.21 -23.46 180000 -64.6 40.3 -25.25 183500 -56.64 33.85 -30.0 190000 -71.73 46.09 -20.99 192000 -69.21 44.05 -22.49 192500 -67.08 43.24 -23.24 193000 -62.26 42.42 -22.64 193500 -57.62 41.03 -21.4 194000 -53.33 39.38 -19.46 194500 -49.73 37.61 -16.51 195000 -46.95 36.12 -12.64 195500 -44.57 35.26 -8.34 196000 -42.09 35.07 -4.01 196500 -39.5 35.49 0.25 197000 -36.85 36.51 4.36 197500 -34.16 38.12 8.25 198000 -31.48 40.37 11.81 198500 -28.89 43.31 14.91 199000 -26.53 46.97 17.36 199500 -24.56 51.26 18.96 200000 -23.31 56.04 19.63 200500 -22.8 60.99 19.24 201000 -22.88 65.72 17.68 201500 -23.35 69.71 14.75 202000 -23.89 72.18 10.48 202500 -24.18 72.69 5.55 203000 -23.96 71.57 0.71 203500 -23.0 69.24 -3.6 204000 -21.17 66.34 -7.22 204500 -18.68 62.77 -9.62 205000 -15.96 58.68 -10.44 205500 -13.33 54.5 -9.76 206000 -10.96 50.63 -7.71 206500 -9.03 47.4 -4.44 207000 -7.08 44.56 -0.83 207500 -4.21 41.52 1.88 208000 -0.61 38.28 3.04 208500 3.15 35.03 2.66 209000 6.72 31.86 1.21 209500 9.9 28.7 -0.99 210000 12.04 25.86 -4.48 210500 13.51 23.21 -8.46 211000 14.44 20.66 -12.65 211500 14.77 18.2 -16.99 212000 14.31 16.11 -21.5 212500 12.69 14.69 -25.99 213000 9.96 13.6 -30.02 213500 6.41 12.65 -33.39 214000 2.2 11.84 -35.95 214500 -2.49 11.21 -37.54 215000 -7.44 10.83 -38.03 215500 -12.38 10.73 -37.35 216000 -17.07 10.85 -35.64 216500 -21.43 11.0 -33.2 217000 -25.32 11.15 -30.07 217500 -28.52 11.32 -26.25 218000 -30.7 11.5 -21.77 218500 -31.44 11.68 -16.85 219000 -30.63 11.88 -11.94 219500 -28.53 12.07 -7.42 220000 -25.5 12.28 -3.46 220500 -21.66 12.5 -0.28 221000 -17.16 12.73 1.86 221500 -12.28 12.94 2.84 222000 -7.3 13.13 2.55 222500 -2.57 13.29 0.98 223000 1.51 13.38 -1.88 223500 4.54 13.42 -5.83 224000 6.42 13.55 -10.45 224500 6.99 13.96 -15.38 225000 5.97 14.73 -20.18 225500 3.35 15.89 -24.25 226000 -0.53 17.42 -26.93 226500 -5.1 19.24 -27.44 227000 -9.58 20.49 -25.68 227500 -13.46 21.09 -22.61 228000 -16.33 21.13 -18.55 228500 -17.52 20.57 -13.76 229000 -16.41 19.49 -9.06 229500 -14.6 17.86 -4.73 230000 -11.69 16.0 -1.2 230500 -7.14 14.82 0.32 231000 -2.28 14.2 -0.49 231500 1.88 13.88 -3.19 232000 4.79 13.7 -7.23 232500 6.5 13.79 -11.91 233000 6.73 14.22 -16.86 233500 5.26 15.07 -21.53 234000 2.23 16.34 -25.27 234500 -1.94 17.99 -27.37 235000 -6.57 19.73 -27.08 235500 -10.89 20.74 -24.83 236000 -14.5 21.16 -21.42 236500 -16.93 21.02 -17.09 237000 -17.41 20.27 -12.21 237500 -15.72 19.09 -7.69 238000 -13.84 17.32 -3.45 238500 -10.31 15.61 -0.45 239000 -5.52 14.61 0.28 239500 -0.81 14.1 -1.19 240000 2.97 13.82 -4.41 240500 5.5 13.7 -8.71 241000 6.76 13.89 -13.52 241500 6.43 14.46 -18.45 242000 4.41 15.45 -22.89 242500 0.95 16.84 -26.16 243000 -1.42 17.81 -26.51 256000 9.53 15.0 14.07 264500 0.0 15.0 0.0 297000 0.0 -3.99 0.0]]} The attribute-value pairs are defined in Table 1, below. The attributes are the same for the Effect Data field (of effects in the script) and the Motion Data field (of positions), except that the time values for the Motion Data are relative to the beginning of the show, whereas the time values for the Effect Data are relative to the beginning of the effect itself. Also, the "rgb" color animation attribute only applies in the Effect Data field in the script table, because it doesn't make sense to apply colors to positions. The "hash" attribute is an optimization for large imported data, such as data from importing a drone show. If you are entering data by hand, your data should not include a hash attribute. Property in Motion Data or Effect Data Example Meaning pos [pos [0 0 0 0 1000 0 10 0 2000 10 10 0 3000 10 0 0 4000 0 0 0]] The syntax is: [pos [t0 x0 y0 z0 t1 x1 y1 z1...]]. The list of numbers in brackets is a list of samples defining a motion path of coordinates in connected line segments from sample point to sample point. Each sample point is represented as four numbers, so the length of the list is 4N for N sample points. Each sample point consists of an integer number of milliseconds followed by X, Y, Z coordinates in meters (integers or floating point numbers). The milliseconds represent an absolute time, not a time delta. If the first sample in the list does not begin at time 0, then the implicit starting point at time 0 is 0, 0, 0 coordinates, and the path will interpolate from there to the first sample point explicitly in the list. Implicitly, the motion path after the last sample point continues with the coordinates of the last sample point. hpr [hpr [10000 0 0 3600]] The syntax is: [hpr [t0 h0 p0 r0 t1 h1 p1 r1...]]. The list of numbers in brackets is a list of samples defining a motion path of orientations. Each sample point is represented as four numbers, so the length of the list is 4N for N sample points. Each sample point consists of an integer number of milliseconds followed by heading, pitch, and roll angles in degrees (integers or floating point numbers). The milliseconds represent an absolute time, not a time delta. Heading, pitch, and roll values are not restricted to 360 degrees. From sample point to sample point, the intermediate heading, pitch and roll values interpolate between the two samples individually as numbers, and the intermediate orientation is constructed from the interpolated heading, pitch and roll values; as opposed to the intermediate orientations being constructed by interpolating between the orientations defined by the heading, pitch and roll values at the sample points. These interpolation mechanics support "spinning" multiple rotation cycles between sample points. The example [hpr [10000 0 0 3600]] means at time 10 seconds (10,000 milliseconds) , the roll is 3600 = 360 degrees * 10. Interpolating from the implicit identity orientation at time 0 to this sample point at 10 seconds thus rotates the orientation completely around 10 times in the span of 10 seconds. pos2 [pos2 [0 .5 0 0]] The syntax is: [pos2 [t0 x0 y0 z0 t1 x1 y1 z1...]]. The list of numbers has the same syntax and meaning as for pos, except that pos2 defines a position offset that is rotated by the hpr rotation, if present, and then added to the pos position offset. To make a spinning wheel with the pyro effect at the end of a 0.5m spoke, the positions and orientation offsets could be: [pos2 [0 .5 0 0]] and [hpr [10000 0 0 3600]]. This position offset is constant, radially out 0.5m from the origin, but the hpr spins that position offset around the origin 10 cycles over 10 seconds. hpr2 [hpr2 [10000 3600 0 0]] The syntax is: [hpr2 [t0 h0 p0 r0 t1 h1 p1 r1...]]. The list of numbers has the same syntax and meaning as for hpr, except that hpr2 does not affect pos or pos2 offsets. Hpr2 defines an orientation that is composed with hpr to construct the final orientation of the effect. Hpr2 applies within the frame of reference of hpr. In a human arm analogy, the hpr2 is the wrist orientation, and the hpr is the elbow orientation. rgb (in Effect Data only) [rgb [0 255 10000 65280]] The syntax is: [rgb [t0 rgb0 t1 rgb1...]]. The list of numbers in brackets is a list of color samples defining a color animation from sample point to sample point. Each sample point is represented as two numbers, so the length of the list is 2N for N sample points. Each sample point consists of an integer number of milliseconds followed by integer RGB value with B represented by the low 8-bits of the number, G represented by bits 8-15, and R represented by bits 16-23. The milliseconds represent an absolute time, not a time delta. If the first sample in the list does not begin at time 0, then the implicit starting point at time 0 is black, and the color animation will interpolate from black to the first sample point explicitly in the list. Implicitly, the color after the last sample point continues with the color of the last sample point. The RGB colors defined by this syntax apply to effects whose VDL contains the color term, "ScriptRGB" instead of an explicit color like "Red" or "Blue". The ScriptRGB term indicates the effect should get its color from the Effect Data field. hash [hash 1908853237] The hash attribute value is an integer identifying full payload of the Motion Data or Effect Data field (excluding the hash value itself). The hash attribute is an optional optimization for large imported data, such as data from imported drone shows, enabling the Finale 3D renderer to determine quickly whether the data has changed. If you are entering Motion Data or Effect Data manually, your data is probably small enough that the hash attribute optimization is insignificant, so your data does not need to include the hash attribute. If you are generating large data manually or by some programmatic method, you should calculate and include a hash based on the data content using any hash algorithm that is likely to produce a different hash value for different data.
The Pro version of Finale 3D has the capability of importing drone show scripts (file type ".vviz") created externally in drone design software. In Finale 3D you can combine the imported drone shows along with fireworks in the 3D view for the purpose of designing hybrid shows or making videos. The menu item to import a drone show is "File > Import > Import drone show". The function will import or re-import the drone show, merging it into the active show which may already contain pyro or drones. Importing a drone show replaces any existing drones in the active show while leaving pyro unaffected. Figure 1 – Example drone show imported into Finale 3D to combine with fireworks In Finale 3D, drones are represented as positions. In Figure 1, the pink positions in the shape of a heart in the sky are the drones. If you import a drone show with 300 drones, the import function will add 300 positions to the show you are working on, with position names identifying the drones, like D001 and D002. Drones may contain pyro payloads or colored LED light effects or both. Thus, in addition to importing positions to represent the drones themselves, the import function also imports effects in the script window and the Per-show effects collection to represent the visual effects attached to the drones. To avoid overwhelming the timeline and script window with so many events as to make scripting pyro difficult, the import function automatically groups the imported drone effects into a single row in the script window, and hides the trajectories and timeline bars of the drone effects in the 3D view and timeline. You can see all the drone effects as individual rows or collapse them into a single row by clicking the blue gear icon in the upper right of the script window and toggling "Show groups as one row". If you want to unhide the drone effects' timeline bars and trajectories, you can do the menu item "Script > Unhide all". To re-hide them, do "Edit > Select special > Select drone effects" and "Script > Hide special > Hide timeline bars and trajectories as group". Designing and exporting the drone show When designing and exporting the drone show in drone show software or in Blender, you need to specify any pyro effects carried by the drones (if any), and you need to specify the compression of the file when you export it. The Verge Aero software and DSS Drone Show Creator software shown in Figure 2a-c have dialogs for these purposes shown in Figure 3 and Figure 4a-b. Figure 2a – Verge Aero drone design software Figure 2b – DSS Drone Show Creator design software Figure 2c – DSS Path Viewer drone show visualization software Importing or adding pyro payloads for the drones In addition to the LED light values specified as RGB colors, VVIZ files may contain pyro payloads for the drones. A pyro payload is typically a gerb, but it could also be a comet shooting down or at an angle, or a comet "cake" that shoots comets out radially. A drone can have multiple pyro payloads. In Finale 3D, pyro payload effects are imported aiming down by default since that is the usual case, though the VVIZ file can specify pan andtilt angles. A designer can specify the specific pyro effects and optionally firing system and shooting angle information in the drone show design software (Verge) or in drone show exporting tools or plugins (DSS/Blender). Finale 3D supports two workflows for pyro payloads: The user specifies all pyro payload information in the drone related software outside of Finale 3D. The user specifies template pyro payload information such as firing system and shooting angle information without the ignition times or specific effects in the drone related software, and then fills in the ignition times and specific effects in the script rows in Finale 3D. When the designer imports and drone show into Finale 3D, if the existing show contains pyro payloads, Finale 3D will present a dialog asking, "Preserve existing pyro on drones?" If the designer is following the first workflow, then every time the designer imports an updated drone show into Finale 3D, the designer will replace any pyro payloads in the existing show in Finale 3D with the updated information. If the designer is following the second workflow, then when the designer imports an updated drone show, the designer will choose to preserve the existing pyro since it has been modified in Finale 3D. Selecting this option causes the import process not to delete the existing pyro script rows and effect definitions, and to ignore any pyro payloads in the file being imported. If the drone IDs have changed in the updated file, then obviously the designer would need to update the script rows' position names manually to match the new drone IDs. Figure 3 – Specifying pyro payloads on drones The two pieces of information required for a pyro payload are the VDL, specifying the visual appearance, and the optional part number, identifying the stock keeping unit for purpose of inventory tracking or matching up the effect in the drone show design to pyro effect definitions in your inventory in Finale 3D (for details see Table 2, below). The VDL is a text description of the visual appearance of the effect, like "10s Gold Gerb" for a 10 second gold gerb effect, or "25mm Red Comet" for a one inch red comet. Finale 3D will create a visual simulation of the effect based on the VDL description, using whatever parameters you specify in the description. To specify various durations of gerbs, just type "10s Gold Gerb" or "20s Gold Gerb", for example. Figure 4a – Choosing compression level in the Verge export dialog Figure 4b – Choosing compression level in the DSS Path Viewer export dialog File size and resolution The file size for an exported drone show may be large, as it contains the motion paths and color changes for hundreds of drones. The export dialog in the drone design software may give you the ability to specify the quality level of the exported data, which affects compression: the higher the quality, the larger the file. Table 1 – Recommended sample rates Data type Lower bound Upper bound Position data 4 FPS 10 FPS Color data 4 FPS 20 FPS Since drones move smoothly, the compression algorithms can reduce the size of the file substantially with very little visual difference. Thus you can likely reduce the file size to 20Mb or so while still appearing high quality. At higher quality levels, your exported file may be more than 100Mb. Table 1 shows the recommended sample rates for exported VVIZ files. Although Finale 3D can import sample rates up to 100 FPS, higher frame rates require more memory and may exceed your machine's resources. In general, 10 FPS and 20 FPS are fine sample rates for position and color data for shows of less than 20 minute durations. For longer shows, depending on your machines resources, you may need to export in lower frame rates. Table 2 – Special fields of imported drone data Field Name Value Explanation Custom Part Field of effects imported into the Per-show effects collection drone The Custom Part Field helps the import function decide whether to overwrite or delete effect definitions in Per-show effects if you are re-importing a drone show. Since importing a drone show is intended to replace any previously imported drone data in the active show, the import function deletes existing effects in the Per-show effects collection that have "drone" in the Custom Part Field. Any new effect added by the import function will have "drone" in the Custom Part Field to ensure that re-importing will delete or overwrite it with newer content from the file being imported. All LED effects and any pyro payload effects that do not have part numbers in the imported script file will be imported, and will thus have Custom Part Field of "drone". Pyro payload effects that do have part numbers will also be imported -- unless their part numbers match part numbers of existing effects that do not have Custom Part Field of "drone", in which case the effect definitions being imported are ignored in lieu of the existing effect definitions for the same part numbers. If you are importing drone shows with LED effects exclusively, you don't need to pay attention to the Custom Part Field. However, if you are importing drone shows with pyro payload effects that correspond to effects in your inventory collections then you probably want to use the effect definitions from your inventory collections rather than the placeholder effect definitions constructed from the VDL in the imported script file. In this case, the best workflow is: 1) In your drone show design, use part numbers for the pyro payload effects that match your inventory part numbers, 2) Import the drone show into Finale 3D, 3) Do "Effects > Update per-show effects..." to update the imported effect definitions to match your inventory, 4) If and when you re-import the drone show into Finale 3D, you will not need to repeat step (3) since the re-imported effects will not overwrite the updated effect definitions that do not have "drone" in the Custom Part Field. Custom Script Field of events imported into the script window drone The Custom Script Field helps the import function decide whether to overwrite or delete events in the script window. Since importing a drone show is intended to replace any previously imported drone data in the active show, the import function deletes existing events in the script that have "drone" in the Custom Script Field. Any new event added by the import function will have "drone" in the Custom Script Field to ensure that re-importing will delete or overwrite it with newer content from the file being imported. Type of positions imported into the positions window drone The Type of the imported positions representing drones is "drone" as opposed to "pyro" or "fixture" or "slave". Positions with Type of "drone" are drawn in the magenta color, to make them recognizable from pyro or fixture positions. The Type value also supports the "Edit > Select special > Select drone effects" function and similar functions that recognize events as applying to drones based on the Type of position that houses them. Lastly, the position Type also affects addressing. Since pyro payloads of drones generally need firing system addresses (something has to ignite them!) but LED light effects on drones do not need firing system addresses, the addressing functions in Finale 3D do not assign firing system addresses to effects of Type "light" if they are on positions of Type "drone" (see Why is ‘Type’ so important? What depends on it?). Duration of events in the script window Duration of LED light effects Imported pyro effects contain their duration in the VDL itself, as in "10s Gold Gerb". Imported drone LED lights turn on and off and change colors during the show continuously, so Finale 3D represents the LED light effects that change over time as long duration, animated effects. Finale 3D divides the total LED effect duration into segments of maximum 60 seconds, and creates individual animated effects for each segment. The LED effects' color animation information is stored in the Effect Data field of the script window. Since imported LED light effects are limited to 60s duration, a flight path of a drone lasting longer than 60s will require multiple events, back to back in the script. Effect Data of events in the script window RGB color animation information Imported LED light effects for drones have a VDL description that includes the term ScriptRGB, as in the VDL, "ScriptRGB Point Light". That term indicates the color of the light effect, which may animate over time, is specified by information in the Effect Data field of the script event. VDL of effects in the Per-show effects collection Pyro payload description like "10s Gold Gerb" or LED light description, "ScriptRGB Point Light" The VDL of imported LED light and pyro effects specifies the visual description of the effect. All LED light effects use the same effect in the Per-show effects collection. The effect's color animation and duration are specified by fields in the script window (Effect Data and Duration). Motion Data of imported positions in the positions window Position and optionally orientation animation information Imported drones are represented as positions whose motion paths are specified in the Motion Data field of the positions. Compression and troubleshooting Finale 3D's table cells, which hold all the imported drone data, are limited to 16k characters per cell. As of June 2024, Finale 3D automatically compresses the Motion Data and Effect Data during the import process to make the data fit within the 16k character limit as a guarantee no matter what the sample rate is in the VVIZ file. Notwithstanding this guarantee, it is a good idea to export VVIZ data with the sample rates described in Table 1 to avoid exceeding your machine's resources. Finale 3D uses a high quality variable sample rate compression algorithm tuned for drone shows to compress the data with a minimum of visual difference from the original high resolution data. However, since the algorithm guarantees the data fits within a fixed data size, it cannot also guarantee that the imported path and color animation match the original exactly. Finale 3D also uses GZIP compression to encode the Motion Data as a blob in about 1/2 the number of characters. When encoded, the Motion Data in the Positions window will appear as "{[hash 112912603] [blob #["{PH4sAACmVZSa5lNQ..." instead of with human readable "pos" and "hpr2" attributes, as in "{[hash 112912603] [pos [250 0.0 0.0 0.0 10000...". If you want to read the "pos" and "hpr2" attributes, you can disable blob compression with the variable described in Table 3. Blob compression does not change the limit of the number characters; it enables more samples to fit within the limit. The combination of variable sample rate compression and GZIP blob compression enables about 48 minutes of drone flight to be encoded in the 16k character limit of the table cells before visual artifacts from the compression become significant. If you are concerned that the compression is resulting in a visualization that is different from your original data, there are some variables in Per-Show Settings that you can use to investigate the effect of compression. To use one of these compression variables, add the variable and its value to the Per-Show Settings table in Finale 3D prior to importing the drone show. Table 3 – Variables in Per-Show Settings for troubleshooting compression Variable Value Range Explanation vviz_do_not_compress true or false If true, prevents variable sample rate compression. Finale 3D will import the file, but if the data cells exceed 16k characters, then the drone show will not be saved along with the show file when the show file is saved. vviz_disable_blobs true or false If true, prevents the GZIP blob compression of Motion Data; making Motion Data in the Positions window human readable (like "{[pos [250 0.0 0.0 0.0 10000..." instead of "{[blob #["{PH4sAACmVZSa5lNQ...") but at the cost of fitting only about half as many samples within the character limit. vviz_max_data_size 1000 - 100000 If you want to test the compression of the motion data to a threshold other than 16k characters, set this field to your desired limit. If your limit is greater than 16k, then the drone show will import but will not be saved along with the show file when the show file is saved. vviz_max_rgb_samples 3 - 100000 Each RGB sample can take 15 characters to represent, depending on the size of the numbers. Thus the 16k character limit allows approximately 1092 samples. Finale 3D's default max RGB samples limit is 1088. You can change it with this variable. The drone lights are represented in Finale 3D as one-minute long effects with color animation provided by the Event Data. Thus unlike the motion samples the sample limit for RGB samples applies to at most one minute of data. The 1088 sample limit is 1088/60 = 18.13 FPS, which is obviously a fairly high resolution already.
The Moka E11 Cold Sparks Machine, Standard Fixture ID 084, is a vertical sparks machine that can be controlled by any of the DMX-capable firing systems, such as Piroshow, Pyromac, PyroSure, fireTEK, Cobra, and Mongoose. It generates spark fountains approximately 1-5 meters high, with variable height specified in the DMX signal. Figure 1 – Moka E11 Cold Sparks Machine The Cold Sparks Machine has variable height levels ("gears"). The Finale 3D effects catalog contains Cold Sparks Machine effects for a range of durations and three heights (small, medium, and large). You can create your own custom duration or height effects as described below. The Cold Sparks Machine has a two-channel DMX personality. The first channel turns the "Pre-Heat" mode on. The second channel turns the sparks fountain on and specifies the height. In Finale 3D, Cold Sparks Machine "Sparks" effects will control the second channel. The Cold Sparks Machine "Pre-Heat" effects will control the first channel. Table 1 – DMX channels DMX Channel Meaning Channel 1 (DMX Channel Base + 0) Pre-heat (0-10 = OFF; 240-255 = ON) Channel 2 (DMX Channel Base + 1) Function (0-15 = sparks OFF; 16-255 sparks ON from min to max height) Instructions To design a show for Moka E11 Cold Sparks Machines, please follow these steps: Set up. (A) Follow the flame set up instructions in the Flame systems basic instructions and Exporting a firing system script for flame systems. Depending on your DMX controller, you may choose to give each Cold Sparks Machine its own DMX universe, or give each Cold Sparks Machine a channel range in a shared DMX universe. (B) In the real world configure each physical unit's "Start Address" to be the start of the channel range you allocate for it. (C) In Finale 3D configure the "DMX Channel Base" of the fixture to match the Start Address exactly. Add the Assorted DMX supplier catalog to your Finale 3D account. Login to the finale3d.com website. At the top of the page, go to “My Account > Supplier Catalog Settings” (www.finale3d.com/supplier-catalogs-settings/). Find the Assorted DMX supplier catalog in the table, and turn the switch to ON. Then launch the Finale 3D application and synch to network. The Assorted DMX catalog will appear as one of the available collections in the effects window, which you can choose from the selector at the top of the window. Add spark fountain effects to the show and adjust their durations. (A) Right-click on the Cold Sparks Machine positions to add compatible effects from the context menu or to filter the effects window to compatible effects. Although the catalog contains effects with short durations, you can adjust the durations of the effects on the timeline after inserting them. Add a "With DMX Pre-Heat / Safety Channel" effect and adjust its duration to cover the time range you want the pre-heat mode ON. Choosing the DMX channel ranges for fixtures Each Cold Sparks Machine fixture requires two channels, so if you are putting multiple fixtures in the same DMX Universe, you need to set the Start Address on the fixture in the real world and the corresponding DMX Channel Base on the fixture in Finale 3D to a range of channels that doesn't overlap with others. A DMX universe has channels 1-512. If you want to pack as many fixtures into the 512 channels of a DMX universe as you can, back-to-back ranges are the most efficient. Some DMX firing systems only support 50 or 100 channels, so you may not have all 512 channels to work with. Table 2 – Example channel ranges for Cold Sparks Machine fixtures in a DMX universe Fixture DMX Channel Base Channels Used 1 1 1-2 2 3 3-4 3 5 5-6 4 7 7-8 5 9 9-10 6 11 11-12 7 13 13-14 8 15 15-16 9 17 17-18 10 19 19-20 ... 256 511 511-512 Table 3 – Example files and downloads Download link Explanation MK-E11.pdf Moka E11 Cold Sparks Machine user manual
Will, This is how I manually fixed the issue by editing the script directly. On the move-in-black I started at 192 (which is effectively 406 degrees or once around plus 45 degrees). Then the red Move-to goes "down" to 149 (from 192, which is about a 90 degree arc). #@firmware6,,,,,,,,,, #Trigger Channel,#Trigger Button,#Deadman Button,#Return Channel,#AudioBox Filename,#Script Name,#Disable Firing Button,#Alternate Firing Button,#Alternate 2 Firing Button,#SMPTE Timecode, 1,1,,0,,cobra,,,,, #Event Time,#Channel,#Cue,#Event Description,#Disable Groups,#Fire Time,#AUX Value,#DMX Universe,#DMX Channel,#DMX Value,#DMX Duration 00:00:04.15s,,,UKMH [1200] Move-In-Black // P-01 -- Pan (+0),,,,1,1,192, 00:00:04.15s,,,UKMH [1200] Move-In-Black // P-01 -- Tilt (+2),,,,1,3,28, 00:00:04.15s,,,UKMH [1212] Red Move-To (lg) // P-01 -- Red (+7),,,,1,8,255, 00:00:05.15s,,,UKMH [1212] Red Move-To (lg) // P-01 -- Pan (+0),,,,1,1,149, 00:00:05.15s,,,UKMH [1212] Red Move-To (lg) // P-01 -- Speed (+4),,,,1,5,223, 00:00:05.15s,,,UKMH [1212] Red Move-To (lg) // P-01 -- Dimmer (+5),,,,1,6,255,2.9 END,,,,,,,,,, Looking from top down on the fixture, it spins 405 degrees (counter clockwise) for the "Move-in-Black". Then the "Red Move-To" pans 90 degrees from Right to Left. This gives me the effect I'm looking for...