How can you texture a thruster in Cycles?

(colkai) #1

I’ve searched both on the forums and on Google and can’t seem to find a good example of texturing rocket thrusters within Cycles. Can anyone point me in a direction?

In Lightwave, one of the controls for texturing was “Z distance from pivot point”, (X & Y were also accessible), is there a similar option in nodes?

(colkai) #2

Here is an example I took from Lightwave, the pivot point is at the big end of the thruster, the screen shot shows various aspects of the texture. The colour is also a mix of noise texture and base colour and can be animated along a “local” Z axis, so the thrusters behave as expected when animated.

I tried the geometry node but the position is global and I ideally need local / normal.


(moony) #3

See if this thread helps

(colkai) #4

Yeah, I have tried that, but I struggled to get it to work with anything other than copying it exactly. I am not sure that will animate either as the location seems to be world based and not local to the object.

(Secrop) #5

You can use the ‘object’ coordinates…
By default it will peek your object origin, but you can use an empty or any other object.

Then, you only need to perform the correct math based on the nozzle shape, temperature, pressure, fuel, etc.
… or fake it… :slight_smile:

(colkai) #6

Smashing, thank you. Any idea how you could add a fractal texture to that which would travel through it for animating whilst still locking it to the object origin? In LW, you add an envelope to the position of the texture, which operates in object space.

(Secrop) #7

depends on which texture you’re using. but you can just add/subtract an animated value to the X coordinate, so the texture moves in that direction.

(colkai) #8

Gotcha, will give that a go, see if I can get what I’m after. If not, not doubt I’ll be back here to pick your brains! :wink: Thanks again.

(colkai) #9

Well, I’m getting closer, the issue I am having now is with adding glow to the engine thrust. I’ve set a material index, but the glow is applied to the whole object and is ignoring the transparency factor of the material.
Have attached the blend file, can anyone tell me what I’m (A) Doing worng, or (B) Not doing? Ta. :slight_smile:

The attached image shows what I mean, the lower viewport is just rendered mode from the camera view, upper left is the compositor.


(colkai) #10

Hi Secrop, I tried this but am not getting anything like your result. How big is the thruster in your image? Is the pivot point located at 0,0,0? I admit, the math with the separation of the XYZ has me baffled, (maths was never my strong point), does that somehow tie in to the size/falloff of the thruster?

(Secrop) #11

If you look at the picture I posted, the origin of the thruster flame is at the same location as the 3d Cursor.

The formula I used is a small variation of the paraboloid. But you can use the sphere as in moony’s link, specially because the gradient node puts the sphere with the center at the object origin’s. If you want it to be more streched you can scale the object coordinates in the the axis you want (either by using the mapping node, or multiplying the axis by some factor, before feeding the vector into the gradient node).

Using the generated coordinates you need to subtract 0.5 to all axis for the sphere becomes in at the center of your object (the origin here is not relevant).

edit: since I’ve seen some people here trying to understand the math involved in texturing, there is this website which is quite illustrative for artists to understand it, and has most of the basic stuff to start with. It has code examples, but the same logic can be applied to nodes.

(colkai) #12

Eek, I won’t even pretend to understand that math, (as the saying goes, I got lost with Math once the alphabet got involved :wink: ).
The info about the co-ordinates has given me something to go on, so I will play with that. Would I be correct in thinking all I need to do is move the noise texture coords to produce an animated effect?

(Secrop) #13

try this:

(colkai) #14

You sir, are an absolute legend! I shall deconstruct this so I know what do do properly in future. Thank you ever so much for adding the text frame to the nodes, much appreciated. I managed to get something working last night, but not using this set up, I used the spherical mapping technique. Cheers again! :smiley: :smiley: :smiley:

EDIT: Just been playing with it, managed to figure out how to tweak it for an origin at one end of the thruster and a different size due to your clear explanation. One very happy bunny! :smiley:

(Secrop) #15

Just a note…
The setup doesn’t change the Y and Z axis. If using the ‘object’ coordinates, the radius of the thruster will be 1 blender unit (unless the object has scale transformations).

To change this, we can add two new math nodes, setted to divide or multiply, for the Y and Z (just like the division of the X component). This is mainly for the sphere gradient, as the noise can be tweaked just using the scale. For a circular section, the Y and Z should be divided/multipied by the same value. Different values will turn the section into an ellipse (which in some cases can also be usefull).

And if you’re wondering, choosing between ‘divide’ or ‘multiply’ is just a matter of preference. Division is the inverse of multiplication, so some number divided by 2 is the same as that number multiplied by 1/2.
It makes readability a bit easier… for example: x/5 is the same as x*0.2, so choose whatever looks better for you.

(colkai) #16

Thanks, the object I was, (unsuccessfully), trying to work with was only 0.5 m in diameter. I’d figured I needed to add the divid nodes for the Y/Z. Once I did this and tweaked the values, I finally got what I was after.
Good to know about divide vs multiply, as you say, “readability” wise, depends how the figures are going, probably makes more sense to ue multiply if the divide value is below 1.0 as divide by 0.1 seems less readable as multiply by 10. :slight_smile: I will try to keep that in mind. probably best to add a frame note accordingly. :slight_smile: Thank you again, it’s been really useful learning this stuff. :smiley:

(GrimZA) #17

This is something i played with while learning heat distortion, maybe you will find some of it useful.


jet exhaust.blend (2.05 MB)

(RickyBlender) #18

any link to explain how this file works

other peoples might find it interesting how to !

happy cl

(GrimZA) #19


(colkai) #20

Anyone got any answers regarding isolating the glow in compositing to the texture and not the whole object? I would of expected the glow to focus purely on the material result, not the whole object. The material is set with a unique material index and I am using that as a mask, but it doesn’t seem to matter.