Jump to content

[SOLVED] Camera rotation in tracker


photo

Recommended Posts

I'm having a hard time in understanding how the camera rotation track is working in Tracker.

Disabling the track I'm orienting my camera at every step in the viewport, registering the keyframe and next re-enabling the track, I discovered

- The value shown in Tracker it's not the same shown in the camera property panel

image.thumb.png.2afd54f1dda2547216108f2d77c06770.png

- Registering a new keyframe just changing the camera position on the Y axis result in a total change of also the other two axis value, resulting in a completely unpredictable behavior (camera rotating on all the axis instead of just one)

image.thumb.png.09a1604c811c2421e204491e1b47625a.png

- The third keyframe appear to break all the alignment, since the previous point behavior didn't appear registering the second keyframe. Enabling the track and returning back to the second keyframe also the position in the second keyframe is different respect what was before registering the third one

- Also didin't find a way to control the camera path shape, changing the second keyframe position in the viewport result in a sharp angle shown in red in the image, something not present in the other keyframes (as example in green)

image.png.1cad0cc7ef7e9a137ca5dc1ad2cbdebf.png

Can't understand if there is some bug, if the rotation it's relative and not absolute, or something else

Edited by davide445
Link to comment

Hello @davide445,

The Rotation values shown in the Parameters window, unlike the ones shown in the Tracker, are clamped to the [0, 360] range, that's why they may differ but, for sure, represent the same orientation.

This comes from the main issue with objects rotation (including cameras) — quaternions. Internal rotation of nodes is represented by a quaternion; but the Tracker, in its current condition, is able to support only rotation represented in Euler angles. So, rotation quaternion is downcasted from X,Y and Z values each frame, which may result in unpredictable changes in orientation. It's necessary to set up rotation angles carefully.

Your first three issues seem to be the result of that very problem. What can we do here?

Well, surely it's possible to fine-tune the rotation graphs manually so the camera goes properly. However, if you want to orbit the building, we'd recommend using a Persecutor player: you'll be able to control the camera's position and the target point separately, as well as phiAngle and thetaAngle tracks (analogs for pitch and yaw) which are available at node->player->persecutor section when adding a parameter in the Tracker.

 

As for the sharp angle on the second keyframe, it is most likely caused by the fact that not all the keyframes are smoothly interpolated, check the very first keyframe — it also should have smooth Bezier interpolation. Anyway, you can add more intermediate keyframes to experiment with values, if splines don't do their job.

Please, let us know if these solutions are inappropriate.

Best regards.

Thank you!

  • Like 1
Link to comment

Using Persecutor appear to be a longer task than just changing the current camera position, I didn't find any helpful documentation.

Trying to just change the position (not the rotation) appear also to be a problem, see following recording where keyframes are added before current cursor position, for unknown reasons.

http://i.imgur.com/nqJWqUQ.gifv

Edited by davide445
Link to comment

Using a Persecutor player implies choosing the position of the camera's focus point, while the rotation of Spectators and Dummy players is controlled by angles. All the documentation regarding setting up player tracks can be found in the Creating Type-Specific Tracks section.

Sorry, we were unable to reproduce this behaviour of the position track neither on 2.9 nor on 2.8.0.1 SDK version (as far as I know, you're using the latter one). You can try cleaning engine and editor configuration files. May I ask you for a minimal reproducible sample to check it?

Link to comment

I will send you a download link in PM with the whole project, sorry but didn't have the time troubleshooting on a different one.

Also want to point out @christian.wolf2 is a partner in this project, you can also interact with him for more details about what was done (there are some his custom components in the project), and have more details about this Tracker issues, he have more statistics than me on that odd behavior so can point you out how can be reproduced.

Link to comment

@davide445,

We've investigated the project you provided. The issue of keyframes in inappropriate position is caused by the Velocity Type you used for both your tracks — the Constant velocity. This mode keeps the uniform speed of the value change through the whole track, it may not be suitable for tracks that have multiple keyframes. Given a noticeable difference in values of the keyframes, it may lead to unexpected placement of new keyframes we observed before.

node_movement_velocity.png

The recommended option is to use the Inconstant velocity type during the development. You can switch to the constant mode afterwards, when all necessary keyframes are created and adjusted.

Revamping of the Tracker tool is planned for further releases, we will figure out how to improve its algorythms.

Should you and your partner have any more issues, feel free to ask.

Thank you!

  • Like 1
Link to comment

Thanks tomalex this made the trick and I was able to complete my task.

To be noted about Tracker there are many small elements one need to consider all together to achieve what he want:

- this about inconstant velocity, being so important I suggest to put some informative in the UI so to let always know what is the setting

- never use the viewport to change a keyframe value (at least in my experience with the camera). Btw I discovered some keyframes does have a duplicate one over the other, I suppose due to my previous attempts in the viewport. So the logic need to check if there is another keyframe in the same timestamp before creating another one

- change the values dragging the points in the graph editor, so you can check the effect in a second viewport with the animated camera. Before doing that select the track clicking on the name of the tracked element, enable the curve editor for all the parameters needed, click on the specific keyframe you want to change the value before changing the curve position

- If the keyframe was just created need before in the curve editor to drag sx and dx to extract the whiskes for the curve shape control, and only after change the point position. If there are two keyframes in the same position result in a visible mess in the curve editor, so before delete the upper keyframe dragging it in the timeline so to show

- In some cases (random) the second viewport was not updated changing the curve position. Saving and reloading the track can unlock the situation

I think an overhaul of the Tracker and the documentation will be beneficial.

Btw being in my case related to the usage of the Video Grabber, there is any relationship btw the Video Grabber and the new feature declared for 2.10 " Offscreen rendering plugin (cloud rendering, computer vision learning) "? Any possibility to make the Video Grabber integrated in an Assembled or run project, so will be possible to generate a sequence without being in the editor?

Edited by davide445
Link to comment
×
×
  • Create New...