Welcome to WSL!

New to the forum? Please read this and this.

Camera3D does not evaluate expression on AngleOfView during render

Moderator: Chad

User avatar
SirEdric
Fusionator
Posts: 2377
Joined: Tue Aug 05, 2014 10:04 am
Answers: 12
Real name: Eric Westphal
Been thanked: 4 times
Contact:

Camera3D does not evaluate expression on AngleOfView during render

#1

Post by SirEdric »

Fusion version:
9,16,17

OS and version:
Win10


Description of the bug:
In the attached comp some expressions on the camera simulate a vertigo effect.
View the last Merge3D or Render3D and play back.
Everything looks like it should (start and endframe shown here).
vertigo_cam_okay.png
Now press Render.
When rendering, only the camera's translation is modified, the AOV however remains static,
leading to an incorrect result.
vertigo_cam_wrong.png

Severity (Trivial, Minor, Major, Critical)
Utterly annoying


Steps to reproduce:



Please, if possible, provide a Fusion setup to help demonstrate the behaviour, either as an attachment or between [code] tags:
vertigo_bug.comp
As a hackaround:
View the saver and set it to 'High Quality Interactive'.
Play the animation instead of pressing Render.
You do not have the required permissions to view the files attached to this post.

User avatar
Chad
Fusionator
Posts: 1565
Joined: Fri Aug 08, 2014 1:11 pm
Been thanked: 1 time

Re: Camera3D does not evaluate expression on AngleOfView during render

#2

Post by Chad »

.AoV is based on the .FLength and .AoVType, so I wouldn't expect it to work at all. Like it shouldn't work in interactive rendering, either. It sucks that it does, because it's not WYSIWYG.

In an older version of Fusion, you could lock up the GUI with an expression in one of those because I think it ping ponged between the two DoNotifyChanged events forever. I wonder if the fix is causing what you see.

Ideally, the tool controls would include an option to ignore .FLength and only use the .AoV.

User avatar
SirEdric
Fusionator
Posts: 2377
Joined: Tue Aug 05, 2014 10:04 am
Answers: 12
Real name: Eric Westphal
Been thanked: 4 times
Contact:

Re: Camera3D does not evaluate expression on AngleOfView during render

#3

Post by SirEdric »

Hmmm...interesting.
Now if I only knew how to rewrite the expressions to work with .FLength rather than .AOV.....:-/
Any suggestions would be highly welcome...:-)

User avatar
Midgardsormr
Fusionator
Posts: 2043
Joined: Wed Nov 26, 2014 8:04 pm
Answers: 22
Location: Los Angeles, CA, USA
Been thanked: 11 times
Contact:

Re: Camera3D does not evaluate expression on AngleOfView during render

#4

Post by Midgardsormr »

Give this a try (I haven't tested rendering, just the expression itself):

Create a User Control to hold the desired AoV and break the feedback loop. I called mine MyAoV.

On Focal Length, set the following expression:

ApertureW*25.4 / (2 * tan(0.5*MyAoV * pi/180))

Now you can set your expression on MyAoV. FLength should update, then push the result back into the real AoV parameter.