Parented camera with identity rotation fails to update in CINEWARE
This bug involves AfterEffects to Cinema 4D communication via Cineware. The bug may be in Cineware, or in After Effects itself. Observed in AE CC 15.1.2 (Build 69) with Cineware 3.1.22, but may be present in earlier builds as well, unknown.
Open test file CinewareTest.aep in After Effects. It references (six times) CinewareTest.c4d, also supplied.
The test file uses Cinema 4D to render the 3D comp Camera013D in six face renders (Cm1Front3D/Cm1Left3D/Cm1Right3D/Cm1Up3D/Cm1Down3D/Cm1Back3D) to build up a cube map comp CM1Cube, which is then converted to equirectangular for the final 2D comp Camera01360VR. In normal use, that Camera01_360VR contains background 360VR imagery that the 3D elements are composited over top of.
Double-click the comp Camera01_360VR to view that comp. Go to frame 50 (to match the screen captures --- every frame other than zero will exhibit this problem).
Notice how the center region of the 360VR image exhibits discontinuities. This is the result of the bug. Screen capture: bad.png
For the correct appearance, see fixed.png In order to get that corrected image...
Click the disclosure triangle for the Cm1Front camera layer.
Click the disclosure triangle for the camera's Transform.
On the Z Rotation channel, change 0x to 1x, ie create a Z rotation by 360 degrees.
Notice how the view immediately shifts to something completely different (correct!)
Double-click back to Camera01360VR. Notice how the image now updates to be the corrected version fixed.png
That's the bug and the workaround (a nothing that does something). Now let's look closer.
Double-click back to Cm1Front_3D.
Set the Z Rotation back to 0x.
Rewind to the beginning of the shot.
Note how the image remains unchanging. That is bad.
Set the Z Rotation to 1x.
Note how the image now changes steadily. These are the correct images.
At some frame other than 0 (say frame 50)
Set the Z rotation back to 0x. Bad image.
Change the Y rotation to 1x. Good image. Set it back to 0x.
Change the X rotation to 1x. Good image.
(Small changes to the transform do not have any effect)
Notice that the camera Cm1Front is parented to Cm1FrontNull. Cm1FrontNull is driven by expressions that pull the camera pose of the "real" camera from Camera013D. Each of the six face render comps does the same thing --- it has a ***** Null, and then its camera is hung from the null with a different constant Transform. This way the user can edit the real camera in Camera013D, and all six face cameras follow along with their own proper angular offset depending on the specific face involved.
The nature of the bug is apparently that the dependency analysis of the camera layers is seeing an exact identity rotation (X Rotation = Y Rotation = Z Rotation = 0) and deciding that the camera has not changed, and not sending that updated orientation to C4D. But of course the camera really is changing because of the parent layer --- the dependency analysis must look for a parent, not just that an identity rotation is present.
Hmmm, apparently this bug report tool doesn't allow .aep or .zip files. Kinda useless. You can get the file at this dropbox link: