Resetting V CAM to start position in the background

 

How can I make a V CAM reset its position, rotation, zoom and focus to a standard value while it is *not* live?

I have Broadcast DE running Unreal with two tracked cameras and a static DSLR as a V CAM in the Mixed Unreal 3+3 Compound. This being a single machine installation I can't preview what the V CAM is doing, so to keep looks consistent I would like it to always start off with a defined framing (position, rotation, zoom and focus) when I take it live and then get it moving by triggering a camera path. Easy, right? Just set path 1 and all "A" points of the other paths to this (static) framing and automatically trigger it whenever one of the other cameras is taken live... 

Except it doesn't seem to work this way consistently between the camera types. It works perfectly fine If I switch between different V CAMS, but whenever I switch from a tracked camera to a V CAM it will start at some weird default position and *then* rapidly move towards the position defined in Path 1. It makes no difference if I use the camera sequencer either; I can even watch the playhead in the sequencer move into the correct position (0:00:00:00) the instant I switch to a different camera (which automatically triggers Path 1 on the V CAM) but the V CAM does not go there yet; It will only do that once it is live. I have also tried to set the default position of the free cam to the same position as this, but that did not seem work either. What am I missing here?



   Stefan Reck

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

It sounds like the issue may be caused by the Smooth Camera Path. Try turning off the Smooth Camera Path button on every camera:
If it is turned off, the camera should move instantly to the virtual path's A position when switching between cameras.

We are aware of this issue and are planning to address it in a future version.

Warmest regards,

 
Profile Image
Stefan Reck
  -  

With smoothing turned off everything works as expected, but as soon as I turn it on the camera will not snap into its start position; instead it will try to smooth out a path from somewhere (where? It's not the default either) to this position even though it has been told to go there in the background while the camera is not live.

 
Profile Image
Eifert@Aximmetry
  -  

Hi Stefan,

It jumps from the last position of where that Camera was when it was selected and jumps into the start position (A) of that Camera's path.
So if you change the Camera when it is exactly at point A, then there won't be any jump when you select again that Camera.

We have noted this and it will be addressed in a future version of Aximmetry.

Warmest regards,

 
Profile Image
Stefan Reck
  -  
I´m trying to do that by resetting the camera to the A position in the background, but it does not do that. It seems to delay that action until the camera is selected again. Unfortunately it also does that in the sequencer, so for now we have to do our smoothing manually in there.
 
Profile Image
Stefan Reck
  -  

On another note, having the virtual camera reset to the start position immediately after I cut away from it is not ideal for post production and re-rendering. It would be much better to have it do that only the instant the V CAM is taken live again, so the sequencer would continue playing in the background in the meantime. However if another path is selected manually with the V CAM not on program yet it should *not* do that; the latter is needed to be able to use some special paths like a flight from way out into the set, which look a lot better if the camera is taken live while moving already. Any Idea on how to do this without a lot of complicated control logic? Can I even tell the camera sequencer to continue running with the V CAM not selected any more?

 
Profile Image
Eifert@Aximmetry
  -  

Hi Stefan,

Are you using a multi-machine setup?
If so, the remote machine's virtual paths or Camera_Sequencer continue to play when you switch between the cameras on the controller machine. However, you won't see the actual position of the virtual path on the controller machine. We are aware of this issue and plan to fix it.


If you are not in a multi-machine setup, I see that when using a mixed camera compound's tracked cameras, the Camera_Sequencer will not run because the pin and subsequent logic it is connected to are inactive. You can easily fix this by connecting a Force Execution module to one of the outputs of the Camera_Sequencer compound:

You can read more about Force Execution here: https://aximmetry.com/learn/virtual-production-workflow/scripting-in-aximmetry/flow-editor/module/#module-execution
Additionally, the Show Active Routes feature can be very helpful in finding issues like this:
Resetting V CAM to start position in the background

Warmest regards,


 
Profile Image
Stefan Reck
  -  

Forcing execution while tracked cameras are live seems to work for keeping the sequencer rolling, so now I would like to implement some control logic:

- Taking V CAM 1 (driven by the sequencer) live should generally force the sequencer to start from 00:00:00:00 on path 1. This will contain a static position throughout the whole timeline, so there is always a defined framing when a safety shot needs to be taken (e.g. when the talent starts moving too close to the edge of their billboard in a tracked camera).

- From this position other paths can be selected while V CAM 1 is live. To make this look natural they will all be set to start at the exact same position at 00:00:00:00 as defined for path 1. These Path selections will also need to reset the sequencer to 00:00:00:00 when selected; I wonder if this will work with forced execution active?

- When a different camera (either tracked or a different V CAM) is taken live the sequencer should just continue playing until it hits the last key frame of the selected track/path in order to retain the movement data for re-rendering in post.


*except if *

- a different camera path for V CAM 1 has been selected just before V CAM 1 is taken live. In this case the sequencer should start rolling immediately.  That will allow me to use some special paths that do not use the default start position for things like fly-ins and overview orbits.

I'm still trying to wrap my head around how the camera sequencer actually works, so a lot of this is probably just in setting it up correctly...

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

The Force Execution module simply instructs the module to remain active, as if it would be connected to an active output. It won't alter the module's behavior other than ensuring it stays active no matter what.
Note, that when the sequencer turns inactive, it goes to the start because of the Stop When Inactive pin of the Sequencer, which is turned on by default. Otherwise, it would just stay at its last position.


I think you should keep the Force Execution connected to the Sequencer and incorporate logic to stop or pause the Sequencer as needed. You can do this by connecting to the Play, Pause, Stop, and Restart pins of the Sequencer.
Additionally, you can configure the behavior when the Stop is used by changing the On Stop Go To pin of the Sequencer:
Resetting V CAM to start position in the background

You can also use Markers to jump to a specific time within the Sequencer. For more information on Markers: https://aximmetry.com/learn/virtual-production-workflow/scripting-in-aximmetry/sequencing/sequencer-and-sequence-editor/#24-marker


Note that you could create automatic detection for when something or the talent is near the edge of the billboard. However, this requires editing the camera compound. Since it involves a tracked camera billboard, it would be a somewhat complex task.

Warmest regards,

 
Profile Image
Eifert@Aximmetry
  -  

Hi Stefan,

The issue with changing the camera when the smooth option is turned on for the virtual camera path has been fixed in Aximmetry version 2025.1.0, which was released today.

Warmest regards,

;