Error message with AR Compound

 

Hello,

I always get this error message when using AR compound:


[LogUnrealMath] FMatrix::InverseFast(), trying to invert a NIL matrix, this results in NaNs! Use Inverse() instead.

[LogOutputDevice] Ensure condition failed: false [File:E:\Build2\UnrealEngine\Engine\Source\Runtime\Core\Private\Math\Matrix.cpp] [Line: 8] 

FMatrix::InverseFast(), trying to invert a NIL matrix, this results in NaNs! Use Inverse() instead.


[LogUnrealMath] FMatrix::InverseFast(), trying to invert a NIL matrix, this results in NaNs! Use Inverse() instead

it does not look to arm rendering but I would like to understand why I get this.

Best regards

   Eric Soulard

 
Profile Image
Eifert@Aximmetry
  -  

Hi Eric,

This can be caused by probably many things. For example, if a mesh has a scale of 0 on either axis in Unreal.

If you really want to find out what is causing it. You could duplicate your Unreal project. And start deleting actors in your Unreal scene until the error stops appearing. The last thing you deleted will probably cause the issue.

Warmest regards,

 
Profile Image
Eric Soulard
  -  

Hi,

I've rechecked the Aximmetry compounds. I have 2 of them using exactly the same scene. The 2 of them are using the same camera compound (TrackedCam AR Unreal Prev 3 cam). One is using a Stype file as source, the other one a FreeD one. The scene is set at 0,0,0 in the 2 cases. The markers transformation is the same for the 2 compounds.

The Freed feeded compound is not firing these error messages, the Stype one is.

Best


 
Profile Image
Eifert@Aximmetry
  -  

Hi Eric,

If only the tracking systems differ, then it is most likely that Stype is sending some NaN values. You could check the data being sent to Unreal by saving the Contol Data collection into a file like this:

After this, you can open the JSON file with a text editor and copy-paste the text here.

Also, which version of Aximmetry are you using?

Warmest regards,

 
Profile Image
Eric Soulard
  -  

I didn't get a lot of information that way. When I trigger the export, it only gives me the last values received. More over, when running playing the scene in Aximmetry, the export trigger always appears after the error messages. These messages only appear upon play.

Here's what I got:

{

"Cam Transform": "[<0.999214, -0.00492115, -0.0393275, 0>, <0.00757049, 0.99769, 0.0675039, 0>, <0.0389045, -0.0677486, 0.996944, 0>, <-0.581701, 1.06594, -0.686169, 1>]",

"Cam FOV": 81.7431,

"Cam Focus": 2.34462,

"Camera Cut": false

}


And that's all.


 
Profile Image
Eifert@Aximmetry
  -  

Hi Eric,

Sorry, I thought it is a constant error that happens at every frame.

You could do this, add a Hold Collection module and set its period to 99999 or higher. This way you will record the first frame upon play. And when you click on the export of the JSON Exporter, it will export that first frame Control Data.

Note, if you are not getting an error message with this, then the error is not happening in the first frame.

Warmest regards,



 
Profile Image
Eric Soulard
  -  

Here's what I get:

{

"Cam Transform": "[<0.981091, -0.00170825, 0.193538, 0>, <-0.0105912, 0.997989, 0.062498, 0>, <-0.193256, -0.063366, 0.9791, 0>, <-0.504335, 1.06694, -0.668974, 1>]",

"Zoom Factor": 1.79791,

"Sensor Width": 9.59,

"Cam Focus": 2.34147,

"Lens Distortion": "<3, 9.59, 1.78921, 0.0652, 0.0471, 0.00547066, -0.000121702>"

}

 
Profile Image
Eifert@Aximmetry
  -  

Hi Eric,

There is nothing wrong with that data also.

It is hard to tell where things go wrong at this point. You could try with a new aximmetry compound and set up the camera compounds again to see if that fixes it. Or with a different Unreal Scene. But maybe that is too much of an effort, as it seems this error will never harm the production.

Warmest regards,

 
Profile Image
Eric Soulard
  -  

Ok, thanks.