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

Hi Atom.
I really love your script. they are all very useful for motion graphic work.
Is there a chance you can make those script into .py file?
Maybe add some button to set up the control so people don’t need to download the scene.
I think it would be more convenient this way:)

They are already .py files. Just save them out from the text editor in Blender to your AddOn folder (no installer is needed).

So the code is freely available for anyone to view and or fix for 2.6.1 compatibility.

I could definitely use this, but don’t have any scripting skills, so, yeah, anybody who could make it compatible with 2.61, it would be hugely appreciated!

Just from looking at the images I’m guessing the ‘bug’ is caused by matrix row/col being flipped now to make them more math-like.

please report bugs, I only just found this thread and really rather not use blenderartist for an issue tracker.

also, I may have caused this breakage - or it may be an intentional change so am willing to spend time to investigate.

Yeah, I just made it a point to start doing this and have reported two bugs so far.

All you have to do is create an account (although watch out for your password and username, because those are case sensitive, as I was frustrated as heck trying to log in!) and then follow the relatively simple instructions. You’ll usually get people replying within a day, max.

http://www.blender.org/development/report-a-bug/

Sorry, I just get tired of fixing stuff every revision. I did try to fix it, but other things came up.

I do report bugs when I can isolate them. But with complex scripts it is hard to say what line actually causes the bug. Counting both RE:Phase and RE:Lay together there are over 1,400 lines of code. I did not think it would be fair to the developers to just drop that into the bug base without a clue as to what was really causing the problem. It would probably be dismissed anyway as my coding error.

I have posted the most recent version at the top of this thread.

The only reference to matrix in the code is ob_matrix = ob.matrix_world.copy() which I think is safe. I did notice a report on www.graphicall.org about some delta_scale transform issues that crept in recently. Because RE:Lay uses the delta transforms that may be the problem.

If you are interested in spending some time in the code I would suggest looking in file frame_re_lay.py. Line 100-400 is where all the coordinates get transferred.

I checked it again and it still works fine in 2.6.0 r42162 and is broken in 2.6.1 r43096.

Thanks for your contribution, Atom. Your work is WAY over my head, and so I couldn’t fix it, but I hope that somebody takes on the challenge, eventually.

Sorry for the artificial bump, but I again hope that somebody in the community with the aptitude for it could update the Re:Lay and Re:Phase add-ons for 2.61. This seems to be a very cool and usable feature, and I constantly think of places I’d like to use it.

RE:Lay lives again, for 2.6.1.

Here is a new release, fetch BLEND file from the top post.

Ah, thank God!

Now I know what I get to do for the next few hours. Thanks so much!

Atom,

I don’t know if you have the time or desire, but if you could possibly do a new tutorial which maybe covers it from a real beginner’s perspective, that would probably be appreciated (well, I know there’s at least one person who would!) Because this is a tool that I think many, many people users of all skill levels could use, but the implementation is relatively advanced. And the tutorial you posted assumes, I believe, an advanced user’s existing knowledge.

So, just speaking for myself, I’m trying to figure this out, but I’ve never even used scripts before, and there were many other small details that you go over very quickly in the tutorial that seem very critical, but are probably hard to grasp for novices (at least for me).

I’ll eventually figure this out, one way or another. But if you (or anybody) could possibly do a tutorial that also includes information that less advanced users could use, that would probably be very useful to many of us.

I agree, that a new tutorial is now in order, thanks for testing.

Here is a little more information.

RE:Lay is a list processor that only updates when the frame changes.
You can have multiple relay objects in the scene managing multiple target.
It relays the animation of itself (only LOC/ROT/SCALE) to the targets in the list.
Any object can be a relay object by simply renaming it with the relay_ prefix.

SHORT HOW TO:
Using the above posted scene, remove all objects and add a default cube.
Animate the cube.
Rename the cube to relay_Cube.
This activates the Animation Offset Targeting panel which is found under the object context of the cube.
Add a cone to the scene.
Reselect the relay_Cube and scroll back down to the Managed Targets area under the object context.
In the Name field type the name of the cone or any other object you want to relay the cube’s animation to.
Set the offset to 30 and press play.
The cone should move with the same animation as the cube now, but with a 30 frame delay.
RE:Lay operates upon the delta portions of the object so you can still move the cone around with the 3D manipulator while it is animating.

Atom,

Okay, thanks for that step-by-step breakdown.

I have it working fine in the original file that you shared. However, I cut-and-pasted the script from that .Blend to the notepad in another .Blend. I then re-named the controlling object “relay_Cube” and all the options did indeed show up in the Cube’s context panel. I then typed in the name of the target text there, and I then animated the cube.

However, the target text - in my new file - is not moving as it did in the file you uploaded here. Do you know why that is?

UPDATE:
Nevermind! I got it! I just hadn’t cut-and-pasted the “frame_re_lay.py” script into the new .Blend.

If you are not going to use the AddOn script whose main function is to install frame_relay.py, it is best to Append the frame_relay.py from the example BLEND into a new BLEND file. This guarantees that the Register checkmark for the script is set and the script gets run when the BLEND file loads.

Just a note…
I have made additional improvements to RE:Lay in the form of DATA parameter relay support. Now you can relay any animated parameter to any object that has a matching parameter. If the target object does not have the parameter only that parameter is ignored and other data will continue to relay.

The file 261_addon_relay_2c.blend, posted above, demonstrates a FONT object relaying it’s position to meshes yet it’s extrude value to another font with a time stretch delay on the extrusion.

Okay then. I’ll do it like this in the future. Thanks.

How do you use the add-on script? Where is that located?

The AddOn script is located in the text window of the attached BLEND file.

Switch to that text file and save it out into the AddOn folder for your current build of Blender. Then restart that build of Blender and go to File/User Preferences. You should see RE:Lay in the list. Make sure that RE:Lay checkbox it turned on. Then you can move your mouse into the 3D viewport and press SHIFT-A to add it to the scene.

Attachments



Okay, now I have everything working okay (except I haven’t tried the add-on part yet).

Except for the big one: I can’t figure out how to get a Text Object to roll out as you achieved it in your tutorial - one letter at a time.

I have a Text Object just called “TextTest”. The Text itself is “Trying to get this to appear”.

Under the controlling Object’s (a cone) context panel, I told it to control “TextTest”, and it is doing so perfectly.

But I can’t figure out how to get to roll out “In my head is my only house” as you did. It just controls the Text Object as though it’s got a simple Constraint with a delay on it. Can you explain the text part again?

Here’s a screencap from the demo video. The area where you type the text doesn’t


Here’s a screencap from my program, with the Re:Lay add-on installed: