rotating object-just a bug or something?

I have problem with rotating objects. I have 2 object empty and cyclic curve named “kur”
I set IPO curve speed for empty (exploatation mode) and I just want to link this IPO curve to another object-“kur” . For that I used copy rotation constraint-- it works …but I want to slow down speed for “kur” so I set influence to .5 but after that my “kur” wich have unique shape do only 1/2 turn in cyclic mode — maybe it’s a bug i don’t know. Just when I add a cube and add to it copy rotation constraint with influence .5 it’s works great (just if you wont in edit mode change position of one vertice and you will see that it don’t work after this modification)- speed is 2x slower. I also tryed parent this “kur” to cube but it’s still do only 1/2 turn.

I was wondering how to link rotation of 2 object and set speed of second to 1/2 or 1/3 or 1/…
Anybody can help me?

If the rotation of the Empty that drives the other rotations (the constraint Target) cycles through rotation values of 0 to 360 degrees and then repeats, then at 0.5 influence it will apply only 0 to 180 degrees rotation to the constrained objects before it resets to 0, since all values are halved. Similar for other fractions.

One solution would be to not use “Cyclic” for the Extend Mode of the IPO for the driving Empty, but instead “Cyclic Extrapolation,” to extend its IPO to rotate past 360 degrees. Your “fractional rotation” objects will then have values that will complete their rotations.

works only with build mesh e.g. cube, sphere ect. but if you want to do it with modeled mesh it doesn’t work

Could you post your .blend?

No need to post your .blend, I set up a test file and you are right, there is an anomaly in the way the constraint passes rotation from the target to the constrained object when fractional influence is used. I would consider this a bug.

Based on my test file results, the anomaly occurs at specific points in the Target Empty’s rotation, described by this equation:

Target rotation > (360n) + 180

where n is zero or a positive integer. So glitches occur when the Target’s rotation exceeds 180, 540, 900, 1260 … and so on. The glitch occurs at the same points in the Target’s rotation regardless of the Influence value of constrained objects, as long as it is less than 1.0. I used both modeled and un-modeled mesh objects, and all showed the glitch. Changing the spaces in which the constraint is evaluated made no difference.

I couldn’t determine the quantitative nature of the glitch other than to see that the constrained objects jump to a new rotation value whenever the boundary values described above are passed. The value of the new rotation seems to depend on the Influence value for the constrained objects, but is always consistent for any one object when the glitch occurs. Since constrained rotation values aren’t reported in the UI for constrained objects I can’t tell whether the glitch advances or retards the constrained object’s rotation.

I tested this in both 2.48 and a 2.49 (BF) build.

Unless someone can explain this anomaly in terms of normal operation of the Copy Rotation constraint I’ll submit it as a bug report.

Test file for any interested: fractional rotation-CycEx.blend (266 KB)

Target Empty is set up for rotation of 1 degree per frame for ease in seeing the glitch at the described boundaries.

How to rotate Suzzane with 1/2 speed of Cube --------> in blend file
Suzzane must depends of Cube, and his ratation speed that will be changed in time

It’s for my engine animation so I will grateful for any help (see here what I have- just wait a while


untitled.blend (74.5 KB)

I agree that something’s glitchy in the constraint, so you may want to use “hard-keyed” IPOs for all your rotating objects. The fractional Influence idea is an elegant solution, very useful for such things as gear trains and other interlinked rotating systems, but the glitch does make it unreliable.

It shouldn’t be too difficult (though more labor-intensive) to copy the driving object’s Rot IPO(s) to your driven objects, then adjust the slope of the IPO curve(s) to get the correct fractional rotation. Not an ideal method but a viable workaround, I think.

so maybe do this by python script

but I dont know how to write script for that
I’m thinking that it must contain:
-get rotation speed of object

  • divide it by 2,3,4,… for slow down or multiply by 2,3,…for speed up
    -set new speed to object with constraint

any idea??

The rotation value isn’t really a speed, it’s expressed in number of degrees of rotation about a specified axis. The speed of the rotation is determined by how many frames a range of rotation is spread over, since number of frames and frame rate are the time determinants in animation.

I haven’t yet used PyConstraints but yes, it could likely be scripted, but the time spent learning how to script and how to use a script in a PyConstraint might be better used just setting IPOs for your rotating objects and not using a Constraint at all. Plus there’s no guarantee that the bug (if it is one) isn’t in some part of the Constraint code that cannot be scripted, which means it may show in a PyConstraint as well.

I agree with you but in my situation is better to create script than manually creating IPO’s to hundred or more ojects in engine wich depends each other

maybe I search in "python and plugins " for simillar problem and script


Use IPO Curve. See this rotation

or maybe I use GE with phisics

Yep, it’d be a lot of work, but it can be streamlined in many ways that would make it only slightly more time-consuming than applying a Constraint to every object, and maybe less time overall given you’d have to write and test your script a considerable amount. And the all-IPO method is known to be reliable.

I did something similar for a large number of objects (though not a hundred) that can be seen in the last scenes of this video montage using only IPOs, and the rotation was not simply linear but stepped (square wave) and had to be synchronized very carefully. But by copying “master” IPO curves to the buffer and pasting them into the proper channels, then editing the timing and sync in the IPO and Action Editors, the process went pretty fast. You can also easily apply a single IPO curve (or suite of them) to many different objects as long as they will share exactly the same motion. These and other methods make building the IPOs much faster than doing each “from scratch.”

Your choice, of course, but don’t overlook such options just because they seem to be too much work at first glance, but which may in the long run save you time.

Just a one-time bump of this thread to see if there are any other responses that may shed some light on the Copy Rotation constraint’s anomalous behaviour with fractional Influence settings. If not I’ll pack up my example file and submit a bug report.