Log in or register to post comments

Weird floating / double transforms behaviour with model target (iOS, 8.3.8, 2019.1.4f)

August 16, 2019 - 11:04am #1

I have a model target setup which works fine tracking-wise, but when I move the device I get this weird floating effect, kind of looks like an extra transform applied to the mesh, almost as if it wanted to stick to the center of the device like if AR was not enabled.

You can see a video of the issue here: https://drive.google.com/open?id=1B3yp2Urr2EaAY0I9QC6-iff-3pv72aVo

This is using Unity 2019.1.4f, with Vuforia 8.3.8 (before I was using Unity's built-in 8.1.0 version and still having the same issue, tried updating but with no success) on a iPad mini 2019 (tried an iPad pro as well, no luck)

Things I've already tried and didn't make a difference:

  • Ensure the device's positional tracking is on
  • Tested with both trained and non-trained targets
  • Tested on different orientations
  • Tested on different platforms (same issues appear using a webcam on a Windows machine)
  • Updating to the last Unity version (2019.1.14f)

Any help would be appreciated. I did use model targets in a different project in the past using Vuforia 7.x and Unity 2018 (downgrading is not an option as I require some 2019-exclusive features) so I know how they should work and this definitely looks like some low-level issue rather than bad tracking.

Thanks!

Weird floating / double transforms behaviour with model target (iOS, 8.3.8, 2019.1.4f)

August 23, 2019 - 12:42am #4

Hi,

Vuforia needs to know the real-world size of the object it is tracking, therefore for tracking a scaled model (smaller or bigger than the actual model), a different size needs to be used for tracking a different sized object.

You can change the size of the target at runtime after loading the dataset using setSize().

Therefore, you don’t need to generate different datasets for different sizes. Note that this only influences how extended tracking works on supported devices.

Thank you.

Vuforia Engine Support

Weird floating / double transforms behaviour with model target (iOS, 8.3.8, 2019.1.4f)

August 19, 2019 - 6:25am #3

Thanks for the prompt response, that was exactly the case - the model target generation default to a meters based scale, which resulted in a very unlikely 10 meters big model. Switched to centimeters and the tracking behaves much better.

Out of curiosity, is there any difference between changing the scale of the model at generation time by changing the file units in the target generation tool, versus changing the physical length / width / height fields in the model target behaviour script in Unity?

Weird floating / double transforms behaviour with model target (iOS, 8.3.8, 2019.1.4f)

August 16, 2019 - 11:51am #2

Hello,

Typically, these are the symptoms of the 3D model's dimensions (as imported into the Model Target Generator) not matching the physical object's dimensions. I suggest that you sanity check the dimensions used in your MTG project.

When the MTG loads a 3D model for the first time, it receives a size from the model mesh (in this example "240 units"). The MTG does not know yet whether a unit is a meter, centimeter, etc. Thus, the MTG, by default, assumes that 1 unit is equal to 1 meter. So, in our example the model of 240 units in size is initially interpreted as 240 meters.

However, assume that the user knows the CAD model was created in centimeters (or maybe they do not know, but they know that the physical object is definitely not 240 meters). Therefore, the MTG provides the option to reconfigure the units to be centimeters, millimeters, etc. In our example, the MTG will recalculate the size from 240 m to 240 cm, but it will still display the size in meters (2.40 m) as this is the size constrained by the Model Targets feature.

Thanks,

Vuforia Engine Support

Log in or register to post comments