[AddOn] RE:Lay (Updated For Blender 2.66)

Hi All,

This top post contains the most recent version of RE:Lay, Blender’s inheritance effector. I have revised the code for 2.66 (left 2.65 available as well). RE:Lay now runs via the frame_change_pre handler instead of the rotating empty with a driver. This revisions eases the workflow as well. Prior to this release there was a sampling button and you were forced to re-sample the main animation each time you revised it. This slowed down workflow and added confusion when the source animation fell out of synch with the sampled animation. Sampling and baking have been removed.

Now RE:Lay simply samples the f-curves directly for the object that it is applied to on-the-fly.
Because of this new approach, it is now possible to sample the past and future portions of the f-curve. Thus negative offsets are now valid so target object can actually precede the source object animation wise.

New support for DATA based f-curves. What does this mean?
Previously RE:Lay only relayed LOC/ROT/SCALE. Now it will attempt to relay any animated parameter to a target object. Say you have a font object that moves around in space. That is an OBJECT based action. Say you also have the font object extruding over time. That is a DATA based action. RE:Lay will now attempt to transfer OBJECT and DATA actions to the target. If the target has a matching data parameter the data will be relayed. Continuing with our font example, an extrude relayed to a mesh has no effect, but an extrude relayed to a curve or font would.

Give it a try.


I am leaving the old tutorial video up. Most of the instructions are still valid. Simply ignore the sampling portion, you no longer need to do this.

Here is a tutorial that show how to use it.


I have often seen posts about how to use one objects animation in a delayed fashion to cause another object to move in the same way. That is what RE:Lay does. It relays the animation applied to the relay object to any targets that are in the list. Each target has an offset and time stretch parameter as well. So you can make the relayed animation lag behind and even slower (not faster yet).

RE:Lay manipulates the DELTA portion of the target object. This means you can still animate the target and get a dual style animation out of it. Also, because it only affects the DELTAs you can use the manipulator to re-position the object after it has been targeted if it has no keyframes.

Run or Install the AddOn.
Move your mouse into the 3D window and press SHIFT-A
Choose RE:Lay Offset Animator from the list.

Select an object and click the rename with relay button, under the object context. Animate the relay object. Any object named with the prefix will have a new targeting panel under it’s object properties. Add targets and play with offsets and axis mapping.

Or just download the BLEND file and press play.

Yay Atom (not stalking just fanboy).

Cool addons Atom.

That’s great. I like it when you try to reproduce MographC4D tools.
You can achieve pretty similar results with Constraints, but your method seems easier/faster to setup afterwards, which is quite important in motion design.

This is my test but something happen…i dont know this is bug or not…but i dont like it…
The text stay at original location and then pop up before follow the moving text…

Some kind of jumping does seem to be occurring.
Would you care to post that scene? I will take a look.



@Ecceptor: Thank you for posting the BLEND file. It does point out an error in each of the AddOns.

In RE:Lay, I made an assumption that if the animation was out of range, I should set the DELTA values back to 0.0. So your animation starts at -132 rotation. When the sampling range is reached, there was an abrupt jump as the object went from 0 to your starting value. In my tests, I had simply started at 0 so I saw no apparent jump. However, what it really should do is stay on the first sampled animation frame until it reaches it’s offset frame. So I have implemented that in this code.

In RE:Phrase, the font is now transferred correctly to the child characters or words as it should.

It works…Thanks Atom…:eyebrowlift:

I already facing some issue with this AddOn…
I cant change origin the text…Red dot is origin…This cannot give me the control to rotate the text properly…This is the project file cant rotate.blend (899 KB)…

You can use per-character offset to re-anchor each character you need.
Select the character and then activate the Font data context TAB.

If you can think of a more convenient way for the AddOn to manage that, feel free to reply.


Thanks Atom, I will make an Motion Graphics animation and I’ll post it here.

This is an amazing addon for Blender ! Thank you very much Atom!

Ok, ive got a problem!
The script is not working with Yafaray. It does not update the transforms during animation render.
Is this a known problem?!

It is not surprising. The Yafaray exporter “hogs” the event thread when it generates an animation. Kind of like locked in an infinite loop, not giving the frameChange a chance to activate.

I ran into this problem when I was writing the CameraPlus AddOn. I ended up inventing a hybrid threading model to scan for a frame change instead of relying on Blender to generate the event. This did work for that AddOn but I never bothered to migrate that code into my other AddOns.

Sorry for the inconvenience. It really would be nice if the Yafaray developers looked into altering their code to be more “polite” with frame change events.

I tried to use the bake feature that you have implemented, but with no luck. It still depends on the relay object.
But i think that would be the way to go… no?! Bake the animation to key frames.

@slipknot66: I have updated both AddOns, RE:Lay and RE:Phrase to work with external renderers. I have tested them with Yafaray and 3Delight on Windows XP64 only. So if you had problems before, pull down the new BLEND file and give it a try.

Post any bugs you run into here as well.


Hello, Atom.

Thank you for this update,
Did some test renders with yafaray, everything seems to be working just fine.

Thank you for this great addon. Unfortunately it doesn’t work with Blender 2.61 anymore. Any updates?

Hmm… it looks like the developers broke the code again.

Look at these images. in one point of revision all my objects show up backwards. WFT?

Blender 2.6.0

Blender 2.6.1

Nice job, how many other scripts are borken?