The difference in results, based on a Parent Constrain while values are mixed in Coordinates and Freeze.
This is either completely simple or complex, given the perspective one has to it. I will try to share my “angle” on it, in the hope it makes sense. I haven’t found anything that would allow me to just link to it, so here we go.
The first idea about it, is the common suggestion, to have a clear place to work with. This is typically done by placing a child object (e.g., a joint) in a hierarchy and place all the value (PSR) in the “Freezer”, so we can, if oriented well, perhaps only a single rotation value to get the result that we are after, bending an arm for example, instead of three (HPB) rotation values. If we mess up, those coordinates are set to zero (or one for the scale) and things are ready to work with again, also known as “zero’d out” or Freeze.
Anything else, might be more complex.
In Cinema 4D we have three main measurements of how to place objects in the Cinema 4D work space, or World Coordinates. I guess everyone is aware of the X,Y,Z 0,0,0 point: the world origin. We place an object in this system and that is pretty much a child of the world system. IF we place a child now under that object, the parent object is the world for this child, and the relation to the parent is called, Relative Position, but that is not really equal all the time the value that we place (or produce) into the Attribute Manager> Coordinates. The object could have been “zero’d out”. It might be far away from the parent, but all values show no real distance. The missing information is then in the Freeze Transformation. While the position values might be an easily to summarize, the rotational values are not. Set in the coordinates for the rotation some random values, and then the same value but in negative (or positive if they were negative before). The object will show a different state. So we can’t just balance out those rotations, which has to do with the order of rotation, which might hit us, if we have to balance those for some reasons.
More importantly is the situation with the same rotational value, one set in the coordinates, one time in the freeze, same value, and sometimes we get the same results, sometimes not, in terms of object orientation. So bear with me, this is kind of virtual and has no visual reference in Cinema 4D. Call up a cube. Set the Pos.Y in the coordinates to 500. Copy it. Now set the Rot.P in the coordinates to 45º, and in the other one the Freeze Rot.P to 45º. A large difference. It seems as if the Freeze value uses a rotational point 500 units below the cube. The other one rotates around its middle point instead. If the cube that had the Rot.P value in the Freeze and would have also the Freeze Pos.Y set to 500, and the coordinates back to zero, both cubes would rotate equally.
In other words, to mix wildly the values in Coordinates and Freeze, might result in some differences, and that is pretty much one of the problems of this project here. The Constrain Tag set to Parent and sometimes to Use Freeze and sometime not was the first problem. But sometimes it is better to find the shortest flow of information, as in having the information for After Effects as child object directly given, instead of constraining them. Most of the things in Cinema 4D are just cases of Information Flow, as I get not tired to mention, and shorter the communication, the better of course. Yes, I ignored this initially, as I do often when a better solution will work, and when the problems are solved, the thread can have more attention to dive into deeper explanations.
The Parenting set the Freeze point to its own, roughly said, so as the manual states, that’s the way the Constrain needs it. hence my long explanation.
I hope the little example were clear, as I was searching this afternoon how to share that in the simplest way, with a minimum of set up, I hope it worked for you.
Cheers