Obviously Tussi stands vor Tiny Ugly Science Satellite (and) Impactor. The impactor at the moment is missing, it gets delivered subsequently. Its ordered at SpaceX, so it can take a while.
Tussi isnt pretty and will not in the future, she is a proving-ground only for other macros and functionalities. And will serve as a welcome object in space-related scenes.
As some others of my packages Tussi ca be controlled with Screenplay in longer animations. Inside her macros she sometimes asks what she has to do and how she has to look like.
How to do this I showed in an Example, the result can be seen on Youtube. Also the whole sourcecode is available in the Screenplay-Zip and should answer the most questions.
The appearance can modified on different ways. Yo can use the variables at the top of the include-file, or use the 3rd macro-parameter instead as described bit lower.
Also it has some built-in functionality that modifies the visible hardware. The solarcells can be rotated and unfold, the engines activated and other things. For all parameters have a look into the include-file.
Simple example to call Tussi:
The fourth parameter is named CenterType and defines which point of tussi is centered. An empty string means the center of the can will be centered, recommended if you like to rotate her.
With "standing" or "standing-real" all Hardware are in Y+ (ignoring a maybe visible exhaust-plume of the engine), to place her somewhere on a surface, without knowledge how high she is.
To make Tussis appearance as dynamic as possible, I heavily use the macros MA_GetParam_*() from MA_Helpers. All parameters are stitched together in one string as parameter/value pairs. Many times inside the Tussi-creation-macro you will find calls of MA_GetParams*() to extract the choosen value out of the string.
The definition of all parameters happens in the upper part of the include-file:
The concat() is used only to list the parameter readable one below the other, certainly they can be stored in one long string (#declare TU_Params_Default = "body-dia:4;body-height:6 ..."). Parameter and value are separated by "=", two pairs of parameters/values by ";".
The defaults gets overwritten by new parameters delivered with the macro-call, in the example above the diameter of the main spacecafts body. Behind the call of MA_GetParams() some of the values gets modified. The last parameter of MA_GetParams() is a default-value which gets returned if the string doesnt contain the choosen parameter. In Our case it is more or less obsolete, because I mention all possible parameter inside the string.
A few times inside the main-macros other macros gets called to create separate parts of the spacecraft. With their call I send them the complete parameter-string, so the sub-macros can look itself for parameter, without direct contact from the outside, an often occuring problem when constructing complex marcros and objects.
Inside Tussi I maybe use this function a littlebit too often, but I wanted to test the functionality in a real model. As it is we could save all parameters in separate variables, it would boil down the same thing.
Commonly I make use of it in other ways. When I create a new macro I insert all values directly as they are needed and often it works for a long time. There is no need for parameters.
But sometimes I need the same macro but with slightly changed behavior, and then I can insert new parameters and code, without testing all the source-code that uses this macro. The old values are the defaults which gets overwritten if passed inside the parameter-string delivered by the first macro-parameter.
Resulting in:
Looks a littlebit complicated but I dont do it just for fun. The more the own collection of source-code grows over time, the more helpfull this type of modification will be. When my sourc-code for the ISS will get published, constructions like this will appear everywhere.
Rendered on April 26, 2025. The same plot as Flight 1, but with various improvements: Earth-Horizon, Milky Way, Moon, Rocket Flames, and I added music in a video for the first time.
See the corresponding blog post on the release.
Tussi - Flignt number 2
85 seconds - 1920x1080 pixel - 42 MB
2550 frames - 30 fps - 25 crf
Musik: Rewind by Markvard https://freetouse.com/music/markvard/rewind
Vlog Music for Video (Free Download)