Decals in OpenRocket: a not-so-quick and fairly complete tutorial

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

neil_w

OpenRocketeer
TRF Supporter
Joined
Jul 14, 2015
Messages
16,642
Reaction score
11,412
Location
Northern NJ
Table of Contents
This tutorial has gotten to be fairly comprehensive (not so quick and incomplete anymore), so here's a table of contents to help find all the bits and pieces.

The Simple, Straightforward Approach to doing Decals


Deep Dive: Really understanding the Appearance Tab Controls
Extras

The Simple, Straightforward Approach to doing Decals, part 1: Introduction

I am still no longer an OpenRocket newbie, and I seem to have figured out the way it handles decals. Here's a quick tutorial showing the way I do it; it's by no means the only way (or even the best), but it enables me to do what I need without going insane.

Here's the simple little design we'll use:
View attachment decal_test.ork

Which, when we're finished, looks like this:
decal_test.png

Everything here derives from a single simple principle:
Use the decal controls in OpenRocket as little as possible.
In other words, do all the hard work in your image editor, so the decal will drop into OpenRocket and look correct immediately without further fiddling. The controls in OpenRocket seem to derive from properties you can directly manipulate in the textures in their 3D package, and they do not behave in a human-friendly way. Fortunately, it is (relatively) easy to avoid the need to use them, and once you get the knack it's not too hard. So pick an image editor you like. On PC, I use Paint.net.

In general, larger decal images will produce better quality. I've used some really small ones here to keep the file sizes small. As far as I can tell, OpenRocket embeds the images you use in the ORK file, so large images will directly affect the size of the ORK file. However, I admit that I haven't totally figured out the way OpenRocket manages texture files. As long as you pick the right aspect ratio, you can make the images as large or small as you want.

The base color of the part will show through the transparent parts of the decal image, so it simulates the paint color. You could also just forget the base color because we'll be using images that completely cover the parts, but I still like to really simulate a decal with transparent background over paint [NOTE: This has changed; see later note].

I'll cover body wraps and fins only here, haven't tried decaling any other kinds of parts yet.

Coming next: Body Wraps, and then Fins.
 
Last edited:
Part 2: Body Wraps

Body wraps cover any details applied to body tubes. We're going to make a single image that completely covers the tube, so if you really will use multiple decals to accomplish this, you'll just have to paste them all together in your image editor.

First, figure out the necessary dimensions of the image to completely cover the body tube. In our example, the main body tube is 40cm long by 5cm diameter. Therefore the relative dimensions are 40 cm by (5cm * PI) = 40 x 15.7. Scaling that up a bit, you get 254x100. (As mentioned above, this is really too small to get good quality, you'll want to do something bigger; just scale it up. I like to do my decal images at 100 DPI for OR, and then redo them at 300 DPI for printing, but you could use 300 DPI images in OR as well if you like).

Create a new image with the calculated dimensions, and go to town. Generally, the vertical center of the image will face you in the 3D preview.

[As mentioned in Part 1, I like to use a transparent background and only put the actual decal parts in this image, but you could fill the whole thing with color and completely cover the body tube.]

When you're happy with your result, rotate the whole image 90 degrees clockwise. *Now* it's ready for OpenRocket. Here's the image used in the demo file above:
test_wrap.png
ASIDE: In OR, body tube (and nose cone and transition) decals map the top of the image to the front of the rocket. This is exactly opposite to the way Rocksim does it. IMHO the OR way makes more sense; in Rocksim you're always working with decals that seem to be upside-down.

Now, to use the decal, go to the appearance tab for the body tube:
  1. Uncheck "use default"
  2. Set the paint color and shine as desired.
  3. [EDIT: this instruction has changed] Set the "Repeat" option to "Clamp Edge Pixels".
  4. Open the "Texture" pulldown, and select "From file...". Select your body wrap image and say OK.
  5. There is no step 5.

If everything is correct, you should see your lovely decal image staring at you from the body tube. Notice we didn't touch any of the scale, offset, or rotation options. Remember the guiding principle.

If you want to edit the image, click the "Edit" button to the right of the Texture pulldown. This will give you a choice of whether to use the "default" image editor, or "command line". Because the default image editor on my Windows machine is still Microsoft Paint, I selected "Command Line" and then selected Paint.net. Now, when I click "Edit", it'll open the image directly in Paint.net. I recommend rotating the image counterclockwise 90 degrees before editing, and then remember to rotate it back before saving.

And that's it for body wraps. Easy peasy!
 
Last edited:
Part 3: Fins

Fins are a bit trickier to set up, but not too bad as long as we follow our guiding principle.

Once again, our first step is to figure out our necessary image aspect ratio. Determine the outermost dimensions of your fins: for the demo file, the fins are 12 cm x 6 cm, so I need a simple 2:1 image. I pick 200x100 for the demo. Create a blank image in your image editor.

The orientation of the fin decal in the image is exactly opposite of how you'd expect it. The top of the image represents the root edge, and left side of the image represents the aft of the fins. Oh well!

If you want, you can just go right ahead and create your decal image, and apply it to the fins the same we we did the body tube. Here's the image used in this demo:
test_fins.png

However, I find it easier to work with an outline of the fin so I know what the heck is going on in there. So, I call up the "Side View" in OR, take a screen grab, crop to just the outline of one fin, and rotate it 180 degrees. Then I clear out the middle, and resize it to my fin decal size (in our case here, 200x100). We end up with this:
fin_template.png

I copy this in a new layer on top of the decal, and then edit the actual decal layer underneath. This way I can pretty clearly see what it's going to look like. When we eventually save a PNG for the decal, we're going to hide this layer. I can't attach the Paint.net file I ended up with, but here's a screen shot that shows it pretty well:
demo_pdn_screen.png

Now, whenever I edit the decal image using the "edit" button in OR, I'm *not* going to get this whole thing; I'll just get the decal layer. What I do is edit inside the layered PDN file, save it, and then copy/paste the decal layer to the OR image.

And that's it!
 
Last edited:
Neil,

Thanks for documenting a way which works. You are right that the decal files are packed into the ork file when it's saved. This is so one can share an ork file and have it appear correctly. There is one trick which is rather neat, OR will actually poll the files used for changes and apply them "nearly immediately". There are two ways this works:

1) When you're applying a decal image to a component the first time and you select a file from your file system, OR will poll this file for saved changes. So in your body tube example, if in Step 5 you edit the image some in paint and save, when you go back to OR, the new image should appear.

2) When you open an ork file which already has decals, the decals are used from the ork file, not from the file system. In order to edit the graphic, you need to "export" it (can't recall where it is in the menus off hand) and save it to a file. Now you can edit the graphic and see what it looks like in OR. When you save the ork file, the new graphic will be put into the ork file.

Kevin
 
Thanks for the tutorial... One small problem... Layering? Lemme guess Photoshop.
 
Ah... I'll have to go and download it (Paint.net)

Thanks to the Tutorial, here's what I've been able to do with MS Paint:



This is the Simplified (PRC Chinese characters) version of 伶盗龙 (Líng Dào Lóng)/Velociraptor... I'd have done the rear fins as well, but thanks to a glitch in Windows 10, my computer shuts down at random times, so I saved it, and on que, Blue Screen of Death.

The actual rocket will use Traditional Chinese characters so the text will read as "伶盜龍".
 
Last edited:
Let's say you have a split-fin design such as this one (courtesy K'Tesh):
spit_fin_side.png

and you would like it to look like this:
split_fin_design.png

Although you have to do a bit more work to handle the split fins, it's basically the same method as documented above. Let's dive in.

First, as before, take a side-view screen shot from OR, trim it and rotate 180 degrees to create a template. You end up with this:
split_fin_template.png

I realized that my previous description of this process was needlessly difficult. No need to measure the fin aspect ratio beforehand, just take the screenshot from OR and trim it to the necessary size. I also deleted the interiors of the two fins; the checkerboard is what Paint.net displays where there are no pixels there.

Next, on a new layer, draw the design. You can put the layer under or over the template layer, as preferred. Here's the new layer I drew:
split_fin_decal_layer.png

I make it against a transparent background and let the color for the part set in OR show as the background. I think it's easier to make changes that way. Here's the decal layer as it shows in Paint.net underneath the template layer:
split_fin_layered_decal_file.png

We're almost there, all we have to do is use this file as source material to create the two decal files for the fins. First, the front: on the decal layer, select a rectangle just exactly containing the front fin:
split_fin_trim_front.png

Copy it to clipboard, and then paste that into a new image. Front fin decal is done, and it looks like this:
front_fin.png
(it's showing white background because that's the forum page background)

Next, we do the same exact thing for the rear fin:
split_fin_trim_rear.png --> copy and paste into --> rear_fin.png

No apply each decal to it's respective fin in OR,; no further tweaking is necessary. If you want to change it, you go back to the original Paint.net file, change the design, and then copy/paste the two decal files again.

Here's the final ORK file:
View attachment split_fin.ork

The layered Paint.net file is available for download here.

One last caveat: I have occasionally encountered wonkiness in Photo Studio with this sort of thing, but I could never isolate a reason or fix. Usually everything's fine, and the regular 3D finished view generally works correctly.

Enjoy!
 
Last edited:
Thanks for the thread Neil. Now not everyone has to learn the hard way.

I find Paint.NET is great for quick edits. I also use GIMP for some more Photoshop-level capabilities. Both have their strengths and are both FREE!
 
Thanks for showing us that. I think this is going to help a lot of people.

I have a few questions, now that I'd like to pose.

First, I only have MS Paint again. Can this be done in Paint? Or am I forced to use something like paint.net?

Next, when you get to this stage:

attachment.php


how come the back of the decal is cut to a 90º angle relative to the root edge? If you cropped it from the shape of the fin, wouldn't it match the angle of the trailing edge of the fin?
 
Has anyone figured out text on fins? I had a issues as one side would always come out backwards. Never really sorted it out just too pictures of the side where it was correct.
 
First, I only have MS Paint again. Can this be done in Paint? Or am I forced to use something like paint.net?

You really *want* to use a paint program that supports layers. You could do it with Paint, but it would be a lot more work. You can't spell "MS Paint" without "Pain" (also true for Paint.net, but let's not think about that).

Since Paint.net is free and an easy download, I strongly recommend using it unless you have a particular reason why you can't.

Of course, Photoshop and other more advanced apps are obviously OK too, but for me Paint.net is the best combination of ease of use and functionality and price. Frankly I wish I had it on my Mac, haven't found anything I like as much.

Next, when you get to this stage:

attachment.php


how come the back of the decal is cut to a 90º angle relative to the root edge? If you cropped it from the shape of the fin, wouldn't it match the angle of the trailing edge of the fin?

I'm not sure I perfectly understand your question, but I'll try: The decal image above is larger than it needs to be; the back edge of the image will be cropped off. It's drawn like that just because I found it easiest to work from the edges of the image. If you look at this screenshot:
split_fin_layered_decal_file.png

you get a pretty exact representation of what's going to happen inside OR, much like if you printed the decal on paper, glued it on, and then trimmed the edges off. So the only part of the image that *matters* is what's inside the template. As I said, I just found it easier to draw all the way to the edges.

Does that answer it?
 
Has anyone figured out text on fins? I had a issues as one side would always come out backwards. Never really sorted it out just too pictures of the side where it was correct.

Ha ha, that is a toughie. Because the same image is used on both sides of the fins, one of them is always going to look backwards. However, now that I think about it, if you really want it badly, and are willing to do more work than it's really worth, you could do it with a second set of fins that mostly overlaps but is offset by a few degrees. Then only one side of each fin would be visible, and you could create separate decals for each.

If you think you might seriously want to do that, I can whip up an example (I think).
 
If you think you might seriously want to do that, I can whip up an example (I think).

OK, it was interesting to try, and by golly it worked, so here it is. I'll just give a high-level idea here, and you can get the gory details by looking into the ORK file. Here it is:
two-sided_screen.png
View attachment split_fin_double_sided.ork

Here I applied the two-sided process to the rear fins only. Here's what I did:
1) Apply the "side1" decal to the fins. This decal should have normal text, and will show in the orientation shown.
2) Create a duplicate set of fins. Set the "Fin Rotation" value to 0.5 degrees. That value worked for me; depending on the fin thickness and/or BT diameter, you may need to use a slightly higher value (don't go above 1 degree). These new fins will only show their "other" side, e.g. the bottom fin in the image above. To test it, try changing the color of the second fin set, and you'll see.
3) Create a new decal for the second fin set. Flip the text so it is backwards in your decal image (look at the decal images inside the ORK file above to see).

Voila!

I'm not sure this is worth the effort, but there you go. The second fin set will definitely affect the simulation, even if you set the weight to zero, so be careful.

And now it occurs to me that a similar trick can also be used to have different colors on the inside and outside of tail rings:
two-sided_ring.png
The rings are black; for each one I created a duplicate that is slightly smaller, and colored green. Neato.
 
Last edited:
OK, it was interesting to try, and by golly it worked, so here it is. I'll just give a high-level idea here, and you can get the gory details by looking into the ORK file. Here it is:
View attachment 280411
View attachment 280410

Here I applied the two-sided process to the rear fins only. Here's what I did:
1) Apply the "side1" decal to the fins. This decal should have normal text, and will show in the orientation shown.
2) Create a duplicate set of fins. Set the "Fin Rotation" value to 0.5 degrees. That value worked for me; depending on the fin thickness and/or BT diameter, you may need to use a slightly higher value (don't go above 1 degree). These new fins will only show their "other" side, e.g. the bottom fin in the image above. To test it, try changing the color of the second fin set, and you'll see.
3) Create a new decal for the second fin set. Flip the text so it is backwards in your decal image (look at the decal images inside the ORK file above to see).

Voila!

I'm not sure this is worth the effort, but there you go. The second fin set will definitely affect the simulation, even if you set the weight to zero, so be careful.

Translation: This is how you can simulate the look of a classic roll pattern on a scale (or scale-like) rocket.
 
Thanks for that. What I ended up doing was to change the set of 3 fins into 3 separate fins, which allowed me to set two fins up correctly, when you rotated the view so you can see the third fin it will always be wrong. It does however still provide an acurate simulation. This method also allows you to setup a fin in a different color without even using decals.
 
Is there extant, somewhere, written documentation on how the various controls with respect to appearance operate? I've got some of them figured out at this point, but I have got to admit that, aside from being less than intuitive on the whole, some of the controls make some weird changes when moving from applying a patterned finish to a body tube as opposed to applying the same finish to a fin.

Lacking written documentation, is there some member on this site who has this information or knows of someone out there in "cyberspace" who does?

And, for whatever it's worth, my thanks to neil_w and K'Tesh, among others, for your posts on this subject.

Ya'll at least try to have a good day.

Diggr
 
Is there extant, somewhere, written documentation on how the various controls with respect to appearance operate? I've got some of them figured out at this point, but I have got to admit that, aside from being less than intuitive on the whole, some of the controls make some weird changes when moving from applying a patterned finish to a body tube as opposed to applying the same finish to a fin.
I've not seen any such documentation, though I suppose it may exist. I actually think I know what they're doing under the hood, but even so they're inherently unintuitive and it's very difficult to get good results by tinkering. I've had occasional success but eventually gave up in favor of the approach documented here, where you do all the heavy lifting in an image editor and leave the controls alone.
 
Documentation is on their To-Do list. It would be great if there was some kind of "grab-and-move" interface using the mouse.

For a programmer, writing documentation is really boring. The temptation is to spend time tweaking a feature that isn't 100% yet or to add some new feature that is needed such as an intuitive interface for applying textures... It's a lot of work and I'm surprised they've done as much as they have - for free.
 
Any effort spent on improving the UI would be better than writing docs IMHO, because for the most part OR is a UI disaster. That's more of an observation than a complaint; I'm incredibly grateful that OR exists, and I understand that it's being done in folks' spare time.

Really, what I want most from it right now is for it to be stable on the Mac. It's a crazy crash-fest right now.
 
I've not seen any such documentation, though I suppose it may exist. I actually think I know what they're doing under the hood, but even so they're inherently unintuitive and it's very difficult to get good results by tinkering. I've had occasional success but eventually gave up in favor of the approach documented here, where you do all the heavy lifting in an image editor and leave the controls alone.

I agree wholeheartedly! But I had to at least make the attempt to find out.

@Cabernut

Agree 100%!!! As an addition to your comment, I would also offer some of my experience over the last 60+ years. Far too often those people who write what I'm going to call "technical documentation", do it from the reference point of someone who fully understands everything about what they're explaining. That point of view, of a "rocket scientist/programmer" doesn't do the "crazy old fart (me)" much good trying to understand what the program is trying to do.

I'm completely pleased with what OR is capable of. And it's free! I just wish they might have made it a bit more easy to learn from.
 
......I'm not sure this is worth the effort, but there you go. The second fin set will definitely affect the simulation, even if you set the weight to zero.......

I've been messing around with your ideas on "painting" for a while now. Thank you for your posts. But I think this idea re the second set of fins is/would be worth the effort! What you're looking for is a graphic representation of a paint job. I've been messing around with the "flight" numbers in OR, and you're correct. They will change. And here's why.

When you add the second fin set, regardless of rotational position, the stability margin increases, the CG moves aft, and the CP moves aft. Then, when you reduce the mass of the second fin set to 0, the CG returns to it's former position, but the stability margin increases even more.

So to anyone watching, this is a great spoof of OR but I suggest keeping two files of your creations, one being the flight model and the second being a representation of "what I want it to look like".

Sorry to interrupt your day.

Diggr
 
I believe I have now figured out all the remaining details of the various decal controls, and will be documenting them here as soon as I can. Then the "Incomplete" in the thread title may be removed. :)
 
I believe I have now figured out all the remaining details of the various decal controls, and will be documenting them here as soon as I can. Then the "Incomplete" in the thread title may be removed. :)

I'm going to have to sit down and study this, I would really like to figure out how it's done. I didn't even know it was possible until I saw this thread, and then saw one as a 'sample rocket' in OR.

Thank you for the time and effort you have put into this.

Though I'd better quit simming stuff and do more building!
 
Diggr, this one's for you.

The next series of posts will show how to achieve master-level decal-fu in OpenRocket. When finished, you'll know how all the controls work, and how to make them do your bidding. And then you'll still go back to doing it the easier way described previously in this thread. ;) We'll cover these controls:
controls.png
This is gonna take a few posts across a few days, so buckle in.

First, let's make sure we have the basics nailed down. We'll use this simplified design, not really a rocket but suitable for decal experimentation:
dd_test_plain.png
View attachment dd_test.ork

For now, we'll use this square decal image. It's not supposed to be pretty, just informative:
dd_test_decal.png
The text is upside-down because (as we saw earlier) that'll make it appear right-side up on the top fin. The text will make it easy to track how the image is oriented when applied to the rocket. It is square because it'll help us understand how the image is stretched and scaled.

Here are the results of the decal applied to each fin set and the body tube, with all other settings left at default:
dd_test_rear_single.png
dd_test_front_single.png
dd_test_bt_single.png

Two things to note here:
1) The decal image is always scaled to fit the bounding rectangle of the target object. So the square image fits perfectly on the square aft fins without distortion, but is stretched horizontally to fit the wider front fins. The image is stretched crazy to wrap around the body tube.
2) The edge of the BT decal, where the two ends of the wrap meet, is at the top, or 0 degrees.

Now, what about the "Repeat" option? By default, it is set to "Repeat". For now, if you try the other options (Repeat and Mirror, Clamp Edge Pixels, and Sticker), you'll find they make no difference at all. That'll change in the next post.
 
Last edited:
Back
Top